権限の設定
Last updated
Last updated
Permissions Appは、DAOで設定されている現在のすべての権限を表示し、必要に応じて権限を追加または削除するために使用されます。
Permissions Appで設定された権限は、DAO内のさまざまなアクションを実行するための権限を持つエンティティを定義します。
例えば、どのアカウントでも投票を作成する権限を持つことができますが、DAO内のトークン所有者だけが投票を行う権限を持つことができます。
Permissions Appは、DAOにインストールされているすべてのアプリと、そのアプリのアドレスまたはトークンシンボルを一覧で表示します。アプリの権限とシステムの権限を変更することができます。
アプリ上で実行可能なアクションリスト
他のエンティティがアプリ上で実行する許可を得ているアクションのリスト
アプリが付与されている権限のリスト
Finance AppでCreate new paymentsを実行する必要がある場合、このアクションはVoting Appでの投票を通過します。これは、Finance AppのCreate new paymentsアクションがVoting Appに割り当てられているためです。
Available permissionsのセクションは、以下が表示されます。
アプリ上でどのようなアクションを実行できるか
どのエンティティが各アクションを実行する権限を持っているか
どのエンティティが各アクションを管理するか。このエンティティを「マネージャー」と呼びます。
マネージャーは、あるアクションを実行する権限を持つエンティティを選択する権限(Assign Permission)と、そのアクションのマネージャーを変更する能力(Manage Role)を持っています。これらの操作は、3つの点の下にあるドロップダウンメニューを使用して行うことができます。
3つの点のドロップダウンメニューをクリックし、Assign Permissionを選択します。On Appでアプリを、Assign to Entityでエンティティを、Actionでアクションを選択します。
3つの点の上にあるドロップダウンメニューをクリックし、「Manage Role」を選択します。UPDATEの欄にSelect an updateをクリックしてアップデート内容を選びましょう。
マネージャが他のエンティティにマネージャの役割を再割り当てすることなく、権限のマネージャとして自身を削除した場合、そのアクションの管理は、ACL AppのCreate permissionsアクションを管理するデフォルトのエンティティで割り当てられます。
以下の例では、このアクションの管理はVoting Appに割り当てられます。
アクションのマネージャーが0x0000000000000000000000000000000000000001
に設定されている場合、新しいマネージャを設定することはできず、そのアクションに与えられた権限は永久にロックされます。
アクションにまだマネージャが与えられていない場合、そのアクションを初期化する必要があります。アクションを初期化するには、アクションを管理したいエンティティのアドレス(Grant permission to)を入力し、アクションの実行権限を付与したいエンティティを選択し、Initialize permissionボタンをクリックして権限を初期化します。
Permissions Appのメインページに戻ると、Browse by entityセクションでDAOで設定されているすべての権限を一目で確認することができます。
ここでは、どのエンティティがDAO内のどのアクションを実行する権限を付与されているのかをすばやく確認できます。
View detailsをクリックすると、そのエンティティの権限のページに移動します。
アプリ上でアクションを実行する権限をエンティティに与えるには、Add permissionボタンをクリックし、エンティティにアクションを実行させたいアプリを選択し、権限を与えたいエンティティを選択し、エンティティに実行権限を与えたいアクションを選択します。
各アプリには、エンティティに実行権限を付与できる異なるアクションがあります。
各アプリ上でアクションを実行する権限をエンティティに付与することで、以下のことが可能になります。
Create permissions:このACLインスタンスを使用するアプリで、まだ初期化されていない権限を作成する*
*
これらのアクションは非常に重要です。これらのアクション実行権限を持つエンティティは、DAOをほぼ完全に制御することができます。
Add executors: DAOにエグゼキュータを追加する*
Enable and disable executors: エグゼキューターをDAOで有効化および無効化する*
*
これらのアクションは非常に重要です。これらのアクション実行権限を持つエンティティは、DAOをほぼ完全に制御することができます。
エグゼキュータとは、DAO内のスクリプトを実行するためのインタプリタです。DAO内のすべてのアプリは、DAO内のエグゼキュータを使用して、アプリに送信されるトランザクションの一部であるスクリプトを実行します。各スクリプトには、スクリプトの実行にどのエグゼキュータを使用するかを決定する識別子があります。
Manage apps: アプリのインストール、アプリのアップグレード、およびDAO内のデフォルトアプリの変更。ACLとEVMスクリプトレジストリは、DAOのデフォルトアプリです。このアクションの実行権限を持っている人は、DAOのデフォルトのVaultコントラクト(トークンの入金を受け付けていないアプリのアドレスにトークンが送金された場合にトークンが送金されるVault)を変更することもできます。*
*
これらのアクションは非常に重要です。これらのアクション実行権限を持つエンティティは、DAOをほぼ完全に制御することができます。
Mint tokens: 新しいトークンを作成し、指定されたアドレスに転送する
Issue tokens: 新しいトークンを作成し、DAOのTokens Appに転送して、後で指定したエンティティに割り当てる
Assign tokens: Tokens Appが保有するトークンを指定されたエンティティに転送する
Revoke vesting: 指定されたエンティティからトークンのベスティングを取り消す
Burn tokens: delete tokens held by a tokenholder, reducing the total token supply
Create new votes: 新規に投票を作成する
Modify support: Supportパラメータを変更する
Modify quorum: Minimum Approval(最小定足数)パラメータを変更する
Create new payments: Finance Appから別のエンティティへの送金を実行する
Execute payments: あるエンティティに定期的な支払いを実行する
Change period duration: 会計期間を秒単位で変更する
Change budgets: 会計期間内に使用できるトークン量を変更する
Manage payments: 定期的な支払いの有効化・無効化を切り替える
Transfer Vault’s tokens: Vaultアプリが保有するトークンを転送する
ご質問はありますか?Aragonフォーラムであなたの考えをお聞かせください👇
たとえば、Voting Appに投票トランザクションが送信されるたびに、アプリはスクリプトを実行し、トランザクション内のスクリプトを実行するためにはエグゼキュータを使用します。で、エグゼキュータに関する詳細なドキュメントを見ることができます。