すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ロールプランニング

最終更新日:Jan 10, 2025

ロールを使用して、複数のユーザーに同じ権限セットを付与できます。 ロールは一連の権限です。 ロールベースの権限付与は、権限付与プロセスを簡素化し、権限管理コストを削減します。 複数のユーザーに同じ権限セットを付与する場合は、ロールベースの権限付与を使用することを推奨します。 このトピックでは、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" というエラーメッセージが表示されます。

次のステップ