MaxComputeはテナントレベルの権限管理をサポートしています。これにより、クォータやネットワーク接続などの特定のオブジェクトに対する権限を管理できます。 このトピックでは、テナントレベルのロールに基づいてアクセス制御を実行する方法と、権限を管理する方法について説明します。 このトピックでは、権限に関連するSQL文についても説明します。
背景情報
プロジェクト、テーブル、関数、リソース、インスタンスなどのMaxComputeオブジェクトに対するすべての操作権限は、プロジェクトレベルで管理されます。 プロジェクトの権限は、ユーザーがプロジェクトに追加された後にのみユーザーに付与できます。 このトピックでは、ポリシーを使用して、ロールをテナントに割り当て、クォータやネットワーク接続などの特定のオブジェクトに対して必要な操作権限をロールに付与する方法について説明します。
.
制限事項
テナントレベルのSuper_AdministratorまたはAdminロールが割り当てられているAlibaba CloudアカウントまたはRAMユーザーのみが、テナントレベルのロールに基づいてアクセス制御を実行できます。
テナントレベルの権限は、テナントレベルのロールによってのみ管理できます。
テナントレベルのロールの承認は、ポリシーを使用してのみ実行できます。
テナントレベルのロールに基づくアクセス制御のフローチャート
テナントレベルの役割t_role1を作成します。
ポリシーを使用してテナントレベルの役割t_role1に権限を付与する
.
テナントレベルの役割t_role1にユーザーを追加します。
テナントレベルの役割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コンソールでテナントレベルの権限を管理する
テナントレベルのロールを作成します。
MaxComputeコンソールにログインし、左上隅のリージョンを選択します。
左側のナビゲーションウィンドウで、[テナント管理] をクリックします。
[テナント管理] ページで、 ロール管理タブをクリックします。
[ロール] タブをクリックします。 [ロール] タブで、[ロールの作成] をクリックします。
[ロールの作成] ダイアログボックスで、パラメーターを設定します。 下表に、各パラメーターを説明します。
パラメーター
説明
ロール名
ロールの名前です。 名前は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" }
[OK] をクリックします。 ロールリストにロールが表示されている場合は、ロールが作成されます。 ロール権限付与の詳細については、「テナントレベルのロールに基づくアクセス制御の実行」をご参照ください。
[テナント管理] ページで、[ユーザー] タブをクリックしてテナントレベルのユーザーを管理します。 現在のAlibaba Cloudアカウント内にRAMユーザーを追加し、テナントレベルのロールをRAMユーザーに割り当てることができます。
テナントレベルの役割を管理します。
MaxComputeコンソールにログインし、左上隅のリージョンを選択します。
左側のナビゲーションウィンドウで、[テナント管理] をクリックします。
[テナント管理] ページで、[ロール] タブをクリックします。
目的のロールを見つけて、[操作] 列の [権限の管理] をクリックしてロールを表示または変更します。または、[操作] 列の [削除] をクリックして、ビジネス要件に基づいてロールを削除します。
テナントレベルのユーザーを管理します。
MaxComputeコンソールにログインし、左上隅のリージョンを選択します。
左側のナビゲーションウィンドウで、[テナント管理] をクリックします。
[テナント管理] ページで、[ユーザー] タブをクリックします。
テナントレベルのユーザーを管理できます。 たとえば、Alibaba Cloudアカウント内のRAMユーザーをテナントに追加し、そのRAMユーザーにテナントレベルのロールを割り当てることができます。