ロールを使用して、複数のユーザーに同じ権限セットを付与できます。 ロールは一連の権限です。 ロールベースの権限付与は、権限付与プロセスを簡素化し、権限管理コストを削減します。 複数のユーザーに同じ権限セットを付与する場合は、ロールベースの権限付与を使用することを推奨します。 このトピックでは、MaxComputeでサポートされているロールの種類と、さまざまな種類のロールに対して実行できる操作について説明します。
ロールの種類
MaxComputeは、管理者ロールとリソースロールを提供します。
管理者ロール: アクセス制御リスト (ACL) の代わりにポリシーを使用して、管理者ロールに管理関連の権限を付与できます。 管理者ロールにリソース関連の権限を付与することはできません。
リソースロール: リソースロールにはリソース関連の権限を付与できますが、管理関連の権限は付与できません。
組み込みロール
MaxComputeは、プロジェクトレベルとテナントレベルで、2つの管理者ロールSuper_AdministratorとAdminを提供します。
役割レベル | ロール名 | ロールタイプ | ロールの説明 |
プロジェクトレベル | Super_Administrator | 管理者 | MaxComputeによって提供される組み込みの管理者ロール。 このロールには、プロジェクト内のすべてのリソースに対する操作権限とすべての管理権限があります。 権限の詳細については、「プロジェクトレベルの管理者ロールの権限」をご参照ください。 プロジェクト所有者またはSuper_Administratorロールが割り当てられているユーザーは、Super_Administratorロールを他のユーザーに割り当てることができます。 |
管理者 | 管理者 | MaxComputeによって提供される組み込みの管理者ロール。 このロールには、プロジェクト内のすべてのリソースに対する操作権限と、いくつかの基本的な管理権限があります。 権限の詳細については、「プロジェクトレベルの管理者ロールの権限」をご参照ください。 プロジェクト所有者は、プロジェクト内の他のユーザーに管理者ロールを割り当てることができます。 管理者ロールが割り当てられているユーザーは、管理者ロールを他のユーザーに割り当てたり、プロジェクトのセキュリティポリシーを設定したり、プロジェクトの認証モデルを変更したり、管理者ロールの権限を変更したりすることはできません。 | |
テナントレベル | Super_Administrator | 管理者 | MaxComputeによって提供される組み込みの管理者ロール。 このロールには、プロジェクトの作成、プロジェクトの削除、およびMaxComputeサービスの有効化を行う権限を除き、Alibaba CloudアカウントがMaxComputeに対して持つすべての権限があります。 |
管理者 | 管理者 | MaxComputeによって提供される組み込みの管理者ロール。 このロールには、すべてのオブジェクトとネットワーク接続を管理する権限があります。 |
プロジェクトの所有者は、自分で作成したプロジェクトに対するすべての権限を持ちます。 プロジェクトの所有者だけが、プロジェクト内のオブジェクトにアクセスする権限を持っています。 他のユーザーは、プロジェクト所有者から必要な権限が付与されていない限り、プロジェクト内のオブジェクトにアクセスできません。
カスタムロール
MaxComputeでは、ビジネス要件に基づいて管理者ロールとリソースロールをカスタマイズし、ロールに基づいてユーザーを分類および管理できます。
役割レベル | ロール名 | ロールタイプ | ロールの説明 |
プロジェクトレベル | カスタムロール | 管理者とリソース | MaxComputeのカスタムロール。 管理者ロールをカスタマイズし、プロジェクトの管理権限をこのロールに付与できます。 リソースロールをカスタマイズして、プロジェクト内のオブジェクトリソースに対する権限をこのロールに付与することもできます。 |
テナントレベル | カスタムロール | Resource | MaxComputeのカスタムロール。 リソースロールをカスタマイズし、クォータ、ネットワークリンク、プロジェクトなどのオブジェクトリソースに対する権限をこのリソースロールに付与できます。 |
ロール管理操作
次の表に、MaxComputeでサポートされているロール管理操作を示します。
役割レベル | セクション | API 操作 | Performed by | 操作プラットフォーム |
プロジェクトレベル | プロジェクトレベルの役割を作成します。 | プロジェクト所有者または組み込みのプロジェクトレベルの役割が割り当てられているユーザー | ||
プロジェクト内のロールを照会します。 | ||||
プロジェクトにロールをドロップします。 |
プロジェクトレベルの管理者ロールの権限
次の表に、プロジェクトレベルの管理者ロールの権限を示します。
権限タイプ | オブジェクト | API 操作 | 説明 | プロジェクト所有者 | スーパー_管理者 | 管理者 |
プロジェクトのセキュリティ設定 | プロジェクト | SetSecurityConfiguration | プロジェクトのセキュリティ設定を構成します。 |
|
|
|
プロジェクト | GetSecurityConfiguration | プロジェクトのセキュリティ設定を照会します。 |
|
|
| |
保護されたプロジェクトの管理 | プロジェクト | AddTrustedProject | 保護されたプロジェクトを追加します。 |
|
|
|
プロジェクト | RemoveTrustedProject | 保護されたプロジェクトを削除します。 |
|
|
| |
プロジェクト | ListTrustedProjects | 保護されたプロジェクトを照会します。 |
|
|
| |
ユーザー管理 | プロジェクト | AddUser | ユーザーを追加します。 |
|
|
|
プロジェクト | RemoveUser | ユーザーを削除します。 |
|
|
| |
プロジェクト | ユーザーの一覧表示 (ListUsers) | ユーザーを照会します。 |
|
|
| |
プロジェクト | ListUserRoles | ユーザーに割り当てられているロールを照会します。 |
|
|
| |
ロール管理 | プロジェクト | CreateRole | ロールを作成します。 |
|
|
|
プロジェクト | DescribeRole | ロールの権限を表示します。 |
|
|
| |
プロジェクト | AlterRole | ロールの属性を変更します。 |
|
|
| |
プロジェクト | DropRole | ロールを削除します。 |
|
|
| |
プロジェクト | ListRoles | ロールを照会します。 |
|
|
| |
ロールを使用した権限管理 | ロール | GrantRole | ユーザーにロールを割り当てます。 |
|
|
|
ロール | RevokeRole | ユーザーからロールを取り消します。 |
|
|
| |
ロール | ListRolePrincipals | 特定のロールが割り当てられているユーザーを照会します。 |
|
|
| |
パッケージ管理 | プロジェクト | CreatePackage | パッケージを作成します。 |
|
|
|
プロジェクト | ShowPackages | パッケージを表示します。 |
|
|
| |
パッケージ | DescribePackage | パッケージの詳細を表示します。 |
|
|
| |
パッケージ | DropPackage | パッケージをドロップします。 |
|
|
| |
パッケージ | InstallPackage | パッケージをインストールします。 |
|
|
| |
パッケージ | UninstallPackage | パッケージをアンインストールします。 |
|
|
| |
パッケージ | AllowInstallPackage | パッケージをインストールして他のプロジェクトで使用できるようにします。 |
|
|
| |
パッケージ | DisallowInstallPackage | 他のプロジェクトでインストールおよび使用するパッケージの権限を取り消します。 |
|
|
| |
パッケージ | AddPackageResource | パッケージにリソースを追加します。 |
|
|
| |
パッケージ | RemovePackageResource | パッケージからリソースを削除します。 |
|
|
| |
ラベル管理 | テーブル | GrantLabel | ラベルを使用して、ロールまたはユーザーに権限を付与します。 |
|
|
|
テーブル | RevokeLabel | ロールまたはユーザーのラベルを使用して付与された権限を取り消します。 |
|
|
| |
テーブル | ShowLabelGrants | ラベルを使用して、ロールまたはユーザーに付与されているアクセス許可を照会します。 |
|
|
| |
テーブル | SetDataLabel | ロールまたはユーザーのラベルを設定します。 |
|
|
| |
期限切れの権限のクリアランス | プロジェクト | ClearExpiredGrants | 期限切れの権限に関する情報をクリアします。 |
|
|
|
上の表では、
はロールに権限があることを示し、
はロールに権限がないことを示します。
プロジェクトレベルの役割を作成する
MaxComputeプロジェクトでロールを作成できます。
ロールを作成した後、権限を付与するユーザーにロールを割り当てる必要があります。 次に、ユーザーはロールの権限を持ちます。 詳細については、「ユーザーへのロールの割り当て」をご参照ください。
構文
create role <role_name> [privilegeproperties("type"="admin|resource")];パラメーター
パラメーター
必須
説明
role_name
必須
作成するロールの名前。 名前はプロジェクト内で一意である必要があります。 ロールの名前を指定するときは、次の項目に注意してください。
先頭は英字とする必要があります。
名前には、文字と数字のみを使用できます。
名前の長さは 1 ~ 64 文字です。
MaxComputeクライアントで
list roles;コマンドを実行して、プロジェクト内の既存のロールを照会できます。privilegeproperties
選択可能
作成するロールのタイプ。
"type"="admin": 管理者ロールが作成されました。 このタイプのロールに権限を付与するには、ポリシーを使用します。"type"="resource": リソースロールが作成されました。 このパラメーターを指定しない場合、デフォルトでリソースロールが作成されます。 ACLまたはポリシーを使用して、リソースロールに権限を付与できます。
例
Workerという名前のリソースロールを作成します。 例:
create role Worker;sale_adminという名前の管理者ロールを作成します。 例:
create role sale_admin privilegeproperties("type"="admin");
プロジェクトレベルの役割の照会
MaxComputeプロジェクトの既存のロールを照会できます。
構文
list roles;例
MaxComputeプロジェクトの既存のロールを照会します。 例:
list roles;次の応答が返されます。
admin super_administrator worker
プロジェクトレベルの役割を削除する
MaxComputeプロジェクトからロールを削除できます。
構文
drop role <role_name>;注意事項
ロールを削除すると、MaxComputeはそのロールがユーザーに割り当てられているかどうかを確認します。 ロールがユーザーに割り当てられている場合、ロールを削除することはできません。 ロールが割り当てられているすべてのユーザーからロールを取り消した後にのみ、ロールを削除できます。 ユーザーからロールを取り消す方法の詳細については、「ユーザーからロールを取り消す」をご参照ください。
パラメーター
パラメーター
必須
説明
role_name
必須
削除するロールの名前。
MaxComputeクライアントで
list roles;コマンドを実行して、プロジェクト内の既存のロールを照会できます。例
Workerロールを削除します。
drop role Worker;
ロールの権限を削除する
MaxComputeプロジェクトからロールが削除された後、ACLベースのアクセス制御、ポリシーベースのアクセス制御、ラベルベースのアクセス制御に関連する権限など、ロールの権限はプロジェクトから削除されません。 削除されたロールと同じ名前のロールがプロジェクトに作成された場合、そのロールは削除されたロールの権限を継承します。 この問題を解決するために、MaxComputeではロールの権限を削除できます。 ACLベースのアクセス制御、ポリシーベースのアクセス制御、ラベルベースのアクセス制御に関連する権限など、ドロップされたロールの特定の権限がプロジェクトにまだ存在する場合、プロジェクト所有者または管理者ロールまたはスーパー管理者ロールが割り当てられているユーザーは、ロールの権限を削除できます。 サンプルコマンド:
構文
purge privs from role <role_name>;パラメーター
パラメーター
必須
説明
role_name
必須
削除するロールの名前。
MaxComputeクライアントで
list roles;コマンドを実行して、プロジェクト内の既存のロールを照会できます。説明ロールの権限を削除するときは、ロールが削除されていることを確認してください。 ロールが削除されていない場合は、パージprivs from role <role_name>; コマンドを実行すると、
"Principal <role_name> still exist in the project"というエラーメッセージが表示されます。
次のステップ
ロールを計画および作成した後、ビジネス要件に基づいてロールに必要な権限を付与できます。 詳細については、「プロジェクトレベルの役割に基づくアクセス制御の実行」をご参照ください。
ロールを作成した後、権限を付与するユーザーにロールを割り当てる必要があります。 次に、ユーザーはロールの権限を持ちます。 詳細については、「ユーザーへのロールの割り当て」をご参照ください。