DataWorksは、ワークスペースの組み込みまたはカスタムのワークスペースレベルのロールと、ワークスペースに関連付けられたMaxCompute計算エンジンインスタンスのロールとの間のマッピングをサポートします。 RAMユーザーにワークスペースレベルのロールを割り当てると、開発環境のMaxCompute計算エンジンインスタンスのマップされたロールの権限がRAMユーザーに自動的に付与されます。 デフォルトでは、RAMユーザーには、本番環境のMaxCompute計算エンジンインスタンスに対する権限がありません。 このトピックでは、MaxCompute計算エンジンインスタンスの組み込みワークスペースレベルのロールの権限と、MaxCompute計算エンジンインスタンスの権限管理に関するバックグラウンド情報について説明します。 このトピックでは、ワークスペースレベルのロールを使用して、MaxCompute計算エンジンインスタンスに対する権限をRAMユーザーに付与する方法についても説明します。
背景情報
DataWorksは組み込みのワークスペースレベルのロールを提供し、カスタムワークスペースレベルのロールを作成できます。 ワークスペースレベルのロールをユーザーに割り当てて、開発環境の特定のワークスペースレベルのサービスおよびMaxCompute計算エンジンインスタンスに対するユーザーの権限を制御できます。 ワークスペースレベルのロールが組み込まれているユーザーは、開発環境で関連付けられているMaxCompute計算エンジンインスタンスの自動的にマップされたロールの権限を持ちます。 カスタムワークスペースレベルのロールを持つユーザーは、開発環境で関連付けられたMaxCompute計算エンジンインスタンスの手動でマップされたロールの権限を持ちます。
Alibaba Cloudアカウントは、そのリソースに対して最も高い権限を持っています。 このトピックでは、RAMユーザーに対して権限管理操作を実行します。
DataStudioページでノードを作成し、ステートメントを実行してテーブルを作成できるのは、DevelopmentまたはWorkspace Managerロールが割り当てられているRAMユーザーのみです。
概要
いいえ | 目指す | 関連ドキュメント |
1 | DataWorksの組み込みワークスペースレベルのロールの基本情報を理解します。 | |
2 | ワークスペースメンバーがMaxCompute計算エンジンインスタンスの権限を取得する方法を理解します。 | |
3 | ワークスペース管理者が、本番環境でMaxCompute計算エンジンインスタンスのアクセス許可を管理するために実行できる操作を理解します。 | |
4 | 文を実行してMaxCompute計算エンジンインスタンスのアクセス許可を照会する方法を理解します。 |
注意事項
標準モードのワークスペースの場合、メンバーとしてワークスペースに追加されたRAMユーザーには、デフォルトでは本番環境のMaxCompute計算エンジンインスタンスに対する権限がありません。 本番環境のMaxComputeテーブルをRAMユーザーとして照会する場合は、Security CenterでRAMユーザーに必要な権限を要求する必要があります。 詳細については、「MaxComputeの権限の管理」をご参照ください。
基本モードのワークスペースの場合、ワークスペースに追加されたRAMユーザーは、デフォルトで本番環境のMaxCompute計算エンジンインスタンスに対する権限を持っています。 この場合、MaxCompute計算エンジンインスタンスのデータに対する権限は管理できません。
MaxCompute計算エンジンインスタンスの組み込みワークスペースレベルのロールの権限
デフォルトでは、DataWorksの組み込みワークスペースレベルのロールには、開発環境のMaxCompute計算エンジンインスタンスに対する権限がありますが、本番環境のMaxCompute計算エンジンインスタンスに対する権限はありません。 その結果、これらのロールを使用して、開発環境でのみテーブル、リソース、および関数に直接アクセスできます。
DevelopmentまたはWorkspace Managerロールが割り当てられているRAMユーザーのみが、DataStudioページでノードを作成し、そのノードを使用してステートメントを実行し、テーブル、リソース、および関数で操作を実行できます。
権限 | 説明 |
開発環境のMaxCompute計算エンジンインスタンスに対する権限 | DataWorksとMaxComputeは、ロールベースのアクセス制御 (RBAC) モードを使用して権限を管理します。 デフォルトでは、DataWorksの組み込みワークスペースレベルのロールとMaxCompute計算エンジンインスタンスのロールの間にマッピングが存在します。 ワークスペース内のメンバーに組み込みのワークスペースレベルのロールを割り当てると、そのメンバーにMaxCompute計算エンジンインスタンスのマップされたロールの権限が自動的に付与されます。 |
本番環境のMaxCompute計算エンジンインスタンスに対する権限 | デフォルトでは、メンバーとしてワークスペースに追加されたRAMユーザーには、本番環境のMaxCompute計算エンジンインスタンスに対する権限がありません。 すべての組み込みおよびカスタムワークスペースレベルのロールには、本番環境のMaxCompute計算エンジンインスタンスに対する権限がありません。 本番環境でMaxComputeテーブルにアクセスするには、Security Centerで必要な権限を要求する必要があります。 詳細については、「MaxComputeの権限の管理」をご参照ください。 説明 DevelopmentまたはWorkspace Managerロールが割り当てられているRAMユーザーのみが、DataStudioページでノードを作成し、そのノードを使用してステートメントを実行し、テーブルを作成できます。 |
MaxCompute計算エンジンインスタンスの権限をRAMユーザーに付与する
標準モードのワークスペースでは、DataWorksはMaxComputeテーブルに対するRAMユーザーのアクセス許可を管理し、本番環境のデータのセキュリティを確保します。
開発環境でMaxCompute計算エンジンインスタンスに対する権限を取得する (自動承認):
ワークスペースメンバーに組み込みのワークスペースレベルのロールが割り当てられると、そのメンバーにMaxCompute計算エンジンインスタンスに対する権限が自動的に付与されます。 詳細については、「シナリオ1: 組み込みのワークスペースレベルのロールを割り当てて、MaxCompute計算エンジンインスタンスの権限をユーザーに付与する」をご参照ください。
ワークスペースメンバーにカスタムワークスペースレベルのロールが割り当てられると、メンバーにMaxCompute計算エンジンインスタンスに対する権限が自動的に付与されます。 詳細については、「シナリオ2: カスタムワークスペースレベルのロールを割り当てて、MaxCompute計算エンジンインスタンスの権限をユーザーに付与する」をご参照ください。
本番環境でMaxCompute計算エンジンインスタンスの権限を取得する (手動認証): Security Centerに移動し、メンバーに必要な権限を要求する必要があります。 次の表に、このタイプの権限付与方法が必要なシナリオを示します。 Security Centerで権限を要求する方法については、「MaxComputeでの権限の管理」をご参照ください。
シナリオ
説明
ワークスペースの運用環境のテーブルに、開発環境のRAMユーザーとしてアクセスします。
デフォルトでは、使用するRAMユーザーが、運用環境でMaxCompute計算エンジンインスタンスにアクセスするために使用されるIDとして指定されていない場合、RAMユーザーとしてDataStudioページのワークスペースの運用環境のテーブルに対して操作を実行することはできません。 DataStudioページのテーブルをRAMユーザーとして操作するには、Security CenterでRAMユーザーに必要な権限を要求する必要があります。
ワークスペースAの開発環境または本番環境のRAMユーザーとして、ワークスペースaの [DataStudio] ページで、ワークスペースBの開発環境または本番環境のテーブルにアクセスします。
デフォルトでは、Workspace aのRAMユーザーを使用して、Workspace Aの [DataStudio] ページでWorkspace Bの開発環境または本番環境のテーブルにアクセスすることはできません。Workspace AのRAMユーザーを使用して、Workspace Bの開発環境または本番環境のテーブルにアクセスする場合は、Security CenterでRAMユーザーに必要な権限を要求する必要があります。
Security CenterでMaxCompute計算エンジンインスタンスに対する権限を要求する手順
実稼働環境のMaxCompute計算エンジンインスタンスのデータにRAMユーザーとしてアクセスする場合は、RAMユーザーの権限要求を開始し、RAMユーザーに権限が付与されていることを確認する必要があります。 ワークスペース管理者は、本番環境のデータに対する権限を管理できます。
Security CenterのRAMユーザーに対して、運用環境のテーブルに対する権限を要求できます。
Security Centerでは、リクエスト処理手順をカスタマイズできます。
MaxCompute計算エンジンインスタンスのユーザーのアクセス許可の照会
ODPS SQLノードで次のステートメントを実行して、MaxCompute計算エンジンインスタンスのユーザーの権限を照会できます。
show grants
: MaxCompute計算エンジンインスタンスのアクセス許可を照会します。show grants for <username>
: MaxCompute計算エンジンインスタンスで指定されたユーザーのアクセス権限を照会します。 このステートメントは、Workspace Managerロールが割り当てられている場合にのみ実行できます。
付録: ワークスペースレベルのロールを割り当てて、MaxCompute計算エンジンインスタンスの権限をユーザーに付与する
シナリオ1: 組み込みのワークスペースレベルのロールを割り当てて、MaxCompute計算エンジンインスタンスの権限をユーザーに付与する
基本的なロジック: RAMユーザーがメンバーとしてワークスペースに追加され、組み込みのワークスペースレベルのロールが割り当てられた場合、メンバーにはワークスペースに関連付けられたMaxCompute計算エンジンインスタンスのマップされたロールが自動的に割り当てられます。 これにより、メンバーには、マッピングされたMaxComputeロールの権限も付与されます。 DataWorksの組み込みワークスペースレベルのロールとMaxCompute計算エンジンインスタンスのロール間のマッピングについては、「付録: DataWorksの組み込みワークスペースレベルのロールとMaxComputeのロール間のマッピング」をご参照ください。
サンプルシナリオ: RAMユーザーは、workspace Managerロールを割り当てられたユーザーによってメンバーとしてDataWorksワークスペースに追加され、RAMユーザーには組み込みのワークスペースレベルのロールDevelopmentが割り当てられます。
説明ユーザーをワークスペースにメンバーとして追加し、そのメンバーに権限を付与する方法については、「ワークスペースレベルのサービスの権限の管理」をご参照ください。
RAMユーザーがメンバーとしてDataWorksワークスペースに追加され、開発ロールが割り当てられた後、RAMユーザーには、DataWorksサービスおよびワークスペースに関連付けられているMaxCompute計算エンジンインスタンスに対する権限が指定されます。
DataWorks: DevelopmentロールがRAMユーザーに割り当てられると、RAMユーザーはワークスペース内のノードのコードを開発およびコミットできますが、ノードのコードを本番環境にデプロイすることはできません。 ノードのコードを本番環境にデプロイする権限を持つのは、Project Owner、Workspace Manager、およびO&Mロールだけです。
MaxCompute: DevelopmentロールがRAMユーザーに割り当てられると、MaxCompute計算エンジンインスタンスのRole_Project_DevロールがRAMユーザーに割り当てられます。 Role_Project_Devロールには、開発環境のMaxComputeプロジェクトとプロジェクトのテーブルに対する権限が指定されています。
説明RAMユーザーにWorkspace Managerロールを割り当てて、RAMユーザーにDataWorksのさまざまな権限を付与できます。 ただし、RAMユーザーは運用環境のテーブルにアクセスできません。
RAMユーザーは、本番環境でMaxComputeプロジェクトにアクセスするために使用されるIDとして指定されていないRAMユーザーを指します。
シナリオ2: カスタムワークスペースレベルのロールを割り当てて、MaxCompute計算エンジンインスタンスの権限をユーザーに付与する
サンプルシナリオ: RAMユーザーは、workspace Managerロールを割り当てられたユーザーによってメンバーとしてDataWorksワークスペースに追加され、RAMユーザーにはカスタムワークスペースレベルのロールが割り当てられます。 カスタムワークスペースレベルのロールを作成するときに、このロールをワークスペースに関連付けられたMaxCompute計算エンジンインスタンスのロールにマップするかどうかを指定できます。 カスタムワークスペースレベルのロールを作成した後、RAMユーザーをメンバーとしてワークスペースに追加するときに、RAMユーザーにロールを割り当てることができます。 カスタムワークスペースレベルのロールがRAMユーザーに割り当てられると、RAMユーザーにはDataWorksサービスおよびMaxCompute計算エンジンインスタンスに対する指定された権限が付与されます。
カスタムワークスペースレベルのロールを作成する方法については、「ワークスペースレベルのサービスのアクセス許可の管理」をご参照ください。 RAMユーザーをメンバーとしてワークスペースに追加し、そのメンバーに権限を付与する方法については、「ワークスペースレベルのサービスの権限の管理」をご参照ください。
DataWorks: カスタムワークスペースレベルのロールがRAMユーザーに割り当てられると、RAMユーザーには、カスタムワークスペースレベルのロールが操作を実行できるDataWorksサービスに対する権限が付与されます。
MaxCompute :
カスタムワークスペースレベルのロールがMaxCompute計算エンジンインスタンスのロールにマッピングされていない場合、RAMユーザーにはMaxCompute計算エンジンインスタンスに対する権限がありません。 RAMユーザーは、コマンドを実行してMaxCompute計算エンジンインスタンスのオブジェクトを照会することはできません。
カスタムワークスペースレベルのロールがMaxCompute計算エンジンインスタンスのロールにマップされている場合、RAMユーザーはマップされたMaxComputeロールの権限を持ちます。
RAMユーザーが運用環境でMaxCompute計算エンジンインスタンスにアクセスするために使用されるIDとして指定されている場合、RAMユーザーは、MaxCompute計算エンジンインスタンスが関連付けられているワークスペースに追加された後、MaxCompute計算エンジンインスタンスのテーブルにアクセスできます。 そうしないと、RAMユーザーは本番開発のテーブルにアクセスできません。 RAMユーザーが本番環境のテーブルにアクセスする場合は、RAMユーザーにSecurity Centerで必要な権限を付与する必要があります。 Security Centerでアクセス許可を要求する方法の詳細については、「Security Center (最新バージョン) 」をご参照ください。 MaxCompute計算エンジンインスタンスへのアクセスに使用できるIDについては、「ワークスペースの作成と管理」をご参照ください。
よくある質問
MaxComputeの権限管理に関連する問題については、「権限管理に関するFAQ」をご参照ください。
付録: MaxCompute SQLを使用したアクセス許可の照会
MaxComputeでは、MaxCompute SQLを使用して、ユーザーまたはロールの権限、またはオブジェクトに対する権限を照会できます。 詳細については、「MaxCompute SQLによるアクセス許可の照会」をご参照ください。
次のステップ
MaxComputeでは、プロジェクト間でリソースにアクセスできます。 DataWorksでは、開発者はDataStudioページで本番環境のリソースにアクセスできます。 MaxComputeプロジェクト間でリソースにアクセスする方法については、「異なるモードのワークスペースに関連付けられているMaxCompute計算エンジンインスタンスのデータアクセス動作と必要なアクセス許可」をご参照ください。