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

MaxCompute:テナントレベルのロールに基づいてアクセス制御を実行する

最終更新日:Jul 09, 2025

MaxComputeはテナントレベルの権限管理をサポートしています。これにより、クォータやネットワーク接続などの特定のオブジェクトに対する権限を管理できます。 このトピックでは、テナントレベルのロールに基づいてアクセス制御を実行する方法と、権限を管理する方法について説明します。 このトピックでは、権限に関連するSQL文についても説明します。

背景情報

プロジェクト、テーブル、関数、リソース、インスタンスなどのMaxComputeオブジェクトに対するすべての操作権限は、プロジェクトレベルで管理されます。 プロジェクトの権限は、ユーザーがプロジェクトに追加された後にのみユーザーに付与できます。 このトピックでは、ポリシーを使用して、ロールをテナントに割り当て、クォータやネットワーク接続などの特定のオブジェクトに対して必要な操作権限をロールに付与する方法について説明します。

.

制限事項

  • テナントレベルのSuper_AdministratorまたはAdminロールが割り当てられているAlibaba CloudアカウントまたはRAMユーザーのみが、テナントレベルのロールに基づいてアクセス制御を実行できます。

  • テナントレベルの権限は、テナントレベルのロールによってのみ管理できます。

  • テナントレベルのロールの承認は、ポリシーを使用してのみ実行できます。

テナントレベルのロールに基づくアクセス制御のフローチャート

  1. テナントレベルの役割t_role1を作成します。

  2. ポリシーを使用してテナントレベルの役割t_role1に権限を付与する

    .

  3. テナントレベルの役割t_role1にユーザーを追加します。

  4. テナントレベルの役割t_role1をユーザーに割り当てます。

テナントレベルの権限に関連するステートメント

権限に関連するSQL文

-- The following statements can be executed for the projects on which a specified tenant is granted operation permissions. 

-- Add or remove a user to or from a tenant.
    Add tenant user <user_name>;
    Remove tenant user <user_name>;
-- View users and roles in the tenant.
    List tenant users;
    List tenant roles;
-- Create or drop a tenant-level role.
    Create tenant role <role_name>;
    drop tenant role <role_name>;
-- Assign a tenant-level role to a user or revoke a tenant-level role from a user.
    Grant tenant role <rolename> to user <user_name>;
    Revoke tenant role <rolename> from user <user_name>;

-- Add or remove a tenant-level role to or from a project.
    add tenant role <rolename> to project <projectname>;
    remove tenant role <rolename> from project <projectname>;

-- View the permissions of a tenant-level role or user.
    Show grants for tenant role <role_name>;
    Show grants for tenant user <user_name>;
    Show principals for tenant [role] <role_name>;
                    

MaxComputeコンソールでテナントレベルの権限を管理する

  • テナントレベルのロールを作成します。

    1. MaxComputeコンソールにログインし、左上隅のリージョンを選択します。

    2. 左側のナビゲーションウィンドウで、[テナント管理] をクリックします。

    3. [テナント管理] ページで、 ロール管理タブをクリックします。

    4. [ロール] タブをクリックします。 [ロール] タブで、[ロールの作成] をクリックします。

    5. [ロールの作成] ダイアログボックスで、パラメーターを設定します。 下表に、各パラメーターを説明します。

      パラメーター

      説明

      ロール名

      ロールの名前です。 名前はAlibaba Cloudアカウント内で一意である必要があります。 ロールの名前を指定するときは、名前が次の条件を満たしていることを確認してください。

      • 名前は文字で始まります。

      • 名前には、文字、アンダースコア (_) 、または数字のみが含まれます。

      • 名前の長さは6〜64文字です。

      ポリシー

      ロールにアタッチするポリシー。 提供されているポリシーテンプレートに基づいて、ポリシーのコードを記述できます。

      次のサンプルコードは、2つのポリシーを示しています。CreateNetworkLink実行すべてで実行できる操作ネットワーク接続は許可されます。 すべてのリージョンのすべてのクォータに対して実行できるUsage操作が許可されています。

      {
          "Statement":[
              {
                  "Action":[
                      "odps:CreateNetworkLink",
                      "odps:List",
                      "odps:Execute"
                  ],
                  "Effect":"Allow",
                  "Resource":[
                      "acs:odps:*:networklinks/*"
                  ]
              },
              {
                  "Action":[
                      "odps:Usage"
                  ],
                  "Effect":"Allow",
                  "Resource":[
                      "acs:odps:*:regions/*/quotas/*"
                  ]
              }
          ],
          "Version":"1"
      }
    6. [OK] をクリックします。 ロールリストにロールが表示されている場合は、ロールが作成されます。 ロール権限付与の詳細については、「テナントレベルのロールに基づくアクセス制御の実行」をご参照ください。

    7. [テナント管理] ページで、[ユーザー] タブをクリックしてテナントレベルのユーザーを管理します。 現在のAlibaba Cloudアカウント内にRAMユーザーを追加し、テナントレベルのロールをRAMユーザーに割り当てることができます。

  • テナントレベルの役割を管理します。

    1. MaxComputeコンソールにログインし、左上隅のリージョンを選択します。

    2. 左側のナビゲーションウィンドウで、[テナント管理] をクリックします。

    3. [テナント管理] ページで、[ロール] タブをクリックします。

    4. 目的のロールを見つけて、[操作] 列の [権限の管理] をクリックしてロールを表示または変更します。または、[操作] 列の [削除] をクリックして、ビジネス要件に基づいてロールを削除します。

  • テナントレベルのユーザーを管理します。

    1. MaxComputeコンソールにログインし、左上隅のリージョンを選択します。

    2. 左側のナビゲーションウィンドウで、[テナント管理] をクリックします。

    3. [テナント管理] ページで、[ユーザー] タブをクリックします。

      テナントレベルのユーザーを管理できます。 たとえば、Alibaba Cloudアカウント内のRAMユーザーをテナントに追加し、そのRAMユーザーにテナントレベルのロールを割り当てることができます。