テナントリソースの権限は、Alibaba Cloud resource Access Management (RAM) ポリシーを通じてテナント管理者によって制御されます。 テナントリソースのオブジェクトは、プロジェクト全体で使用できます。 プロジェクト内でタスクを実行する権限を付与されたユーザーは、関連するテナントリソースオブジェクトを使用できます。 このトピックでは、プロジェクトレベルのテナントリソースアクセス制御を使用して、他のプロジェクトがテナントリソースを不正に使用しないようにする方法について説明します。
テナントリソースには、ネットワーク接続、外部サーバー、イメージ、クォータグループが含まれます。
プロジェクトリソースには、スキーマ、テーブル、ロール、インスタンス、リソース、関数、およびビューが含まれます。 プロジェクトリソースの権限は、プロジェクト管理者がMaxComputeの権限付与方法で制御します。
MaxComputeの概念の詳細については、「概念階層」をご参照ください。
注意事項
セキュリティ管理要件に基づいて、プロジェクトレベルのテナントリソースアクセス制御を有効にするかどうかを決定できます。
プロジェクトレベルのテナントリソースのアクセス制御の有効化
テナントリソースの作成者は、テナントリソースとプロジェクトの間に権限付与関係を設定することで、プロジェクトでリソースを使用できるかどうかを指定できます。 プロジェクト管理者は、MaxCompute権限付与方法を使用して、プロジェクト内のユーザーに権限を付与します。
重要すべてのテナントリソースオブジェクトは、プロジェクトレベルのテナントリソースアクセス制御スイッチによって制御されます。 このスイッチを有効にすると、テナントリソース内のすべてのオブジェクトに対して権限チェックが実行されます。 テナントオブジェクトとプロジェクト間のマウント関係の構成またはポリシーの権限が正しくない場合、プロジェクト内のタスクは失敗する可能性があります。
説明テナント管理者がすべてのプロジェクトでプロジェクトレベルのテナントリソースアクセス制御を有効にするために使用するグローバルスイッチは使用できません。 もし必要なら、 チケットを起票
してください。
プロジェクトレベルのテナントリソースのアクセス制御を有効にしない
プロジェクト内でタスクを実行する権限を付与されたユーザーは、関連するテナントリソースオブジェクトを使用できます。
手順
ベストプラクティス: Step2: プロジェクトレベルのテナントリソースのアクセス制御を有効にする前に、Step1 :( オプション) プロジェクトのマウントとポリシーの設定手順を完了することをお勧めします。
Step1: (オプション) プロジェクトのマウントと設定ポリシー
テナントリソースオブジェクトにプロジェクトをマウントします。 次の手順では、例として外部サーバーを使用します。
MaxComputeコンソールにログインし、左側のナビゲーションウィンドウで [テナント管理] > [外部データソース] を選択します。
テナントリソースオブジェクトの [操作] 列で [プロジェクトのマウント] をクリックし、マウントするプロジェクトを選択し、[OK] をクリックしてマウント関係の設定を完了します。
プロジェクトにマウントされているテナントリソースオブジェクトのポリシーを構成します。 詳細については、「ポリシーベースのアクセス制御」をご参照ください。
MaxComputeコンソールの左側のナビゲーションウィンドウで、[ワークエリア] > [プロジェクト管理] を選択し、対象プロジェクトの [操作] 列で [管理] をクリックします。
[プロジェクト設定] ページの [ロールの権限] タブで、対象のロールの [操作] 列の [ロールの編集] をクリックします。
[ロールの編集] ダイアログボックスで、[権限付与方法] を [ポリシー] として選択します。 [ポリシーベースのアクセス制御] スクリプトボックスでロールポリシーを変更します。
ユーザーがプロジェクトで500 CUのクォータを使用するポリシーの例:
{ "Statement":[ { "Action":[ "odps:Usage" ], "Effect":"Allow", "Resource":[ "acs:odps:*:regions/*/quotas/500cu" ] } ], "Version":"1" }ユーザーがプロジェクト内でテナントリソースを使用する権限を持っている場合、プロジェクトレベルのテナントリソースアクセス制御モードで、ユーザーまたはロールの粒度でテナントリソースの使用を制御できます。
ステップ2: プロジェクトレベルのテナントリソースアクセス制御の有効化
この機能はプレビューでのみ使用でき、チェックの有効化はサポートされていません。
MaxComputeコンソールにログインし、左側のナビゲーションウィンドウで [ワークエリア] > [プロジェクト管理] を選択します。
[プロジェクト] ページで、対象プロジェクトの [操作] 列の [管理] をクリックします。
[プロジェクト設定] ページで、[パラメーター設定] タブをクリックします。
[パラメーター設定] タブで、[権限プロパティ] セクションの [編集] をクリックします。
[プロジェクトレベルのテナントリソースアクセス制御の有効化] をオンにし、[送信] をクリックします。
関連ステップ
マウントされたテナントresouceオブジェクトを表示する:
MaxComputeコンソールにログインし、コンソールの左上隅にあるリージョンを選択します。
左側のナビゲーションウィンドウで、[ワークスペース] > [プロジェクト] をクリックします。
[プロジェクト] ページで、対象プロジェクトの [操作] 列の [管理] をクリックします。
[プロジェクト設定] ページで、[パラメーター設定] タブをクリックします。
[パラメーター設定] タブで、[権限プロパティ] セクションの [プロジェクトにバインドされたテナントリソースの表示] をクリックして、ネットワーク接続、外部サーバー、イメージ、およびクォータグループを含むプロジェクトのバインドステータスを表示します。
関連ドキュメント
テナントリソースの詳細については、以下をご参照ください。