このトピックでは、MaxCompute プロジェクトで Resource Access Management (RAM) ユーザーをスーパー管理者として設定する方法について説明します。また、メンバーと権限の管理に関する推奨事項も提供します。
背景情報
データセキュリティを確保するため、日々の運用において Alibaba Cloud アカウントは通常、指定された担当者によって管理されます。ほとんどのユーザーは RAM ユーザーアカウントを介して MaxCompute にアクセスします。しかし、プロジェクトオーナーになれるのは Alibaba Cloud アカウントのみです。MaxCompute における多くの権限管理操作、例えばプロジェクトレベルのフラグの設定やパッケージを使用したプロジェクト間のリソース共有の設定などは、プロジェクトオーナーしか実行できません。そのため、スーパー管理者権限を持つ RAM ユーザーが必要となります。
MaxCompute は、Super_Administrator という組み込みの管理ロールを提供します。このロールには、プロジェクト内のすべてのリソースタイプに対するすべての権限と、プロジェクト管理権限が含まれます。権限の詳細については、「ロール計画」をご参照ください。
プロジェクトオーナーは、Super_Administrator ロールを RAM ユーザーに付与できます。このロールを付与されると、RAM ユーザーはプロジェクトオーナーに代わって、プロジェクトレベルのフラグの設定や、すべてのリソース権限の管理など、プロジェクトに対するさまざまな管理操作を実行できます。
操作手順
RAM ユーザーにプロジェクトを作成する権限を付与します。詳細については、「RAM ユーザーに DataWorks の管理権限を付与する」をご参照ください。
RAM ユーザーを選択し、そのアカウントを使用してプロジェクトを作成します。プロジェクトオーナーは引き続き Alibaba Cloud アカウントとなります。
権限の付与
MaxCompute クライアント (odpscmd) を使用した権限付与
Alibaba Cloud アカウント `bob@aliyun.com` が `project_a` プロジェクトのオーナーであり、`Allen` が `bob@aliyun.com` 配下の RAM ユーザーであると仮定します。
Alibaba Cloud アカウントを使用して、次のコマンドを実行して権限を付与します。
--project_a プロジェクトに切り替えます。 USE project_a; --RAM ユーザー Allen を project_a プロジェクトに追加します。 ADD USER ram$bob@aliyun.com:Allen; --RAM ユーザー Allen に Super_Administrator ロールを付与します。 GRANT super_administrator TO ram$bob@aliyun.com:Allen; --RAM ユーザー Allen に Admin ロールを付与します。 GRANT admin TO ram$bob@aliyun.com:Allen;権限を付与された RAM ユーザーを使用して、次のコマンドを実行し、自身の権限を表示します。戻り値に Super_Administrator ロールが含まれている場合、権限は正常に付与されています。
SHOW GRANTS;
DataWorks を使用した権限付与
(任意) RAM ユーザーをプロジェクトメンバーとして追加します。RAM ユーザーがすでにプロジェクトメンバーである場合は、このステップをスキップしてください。
DataWorks コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、ワークスペース をクリックします。
ワークスペース ページで、対象のワークスペースの名前をクリックします。
ワークスペースの詳細 ページで、左側のナビゲーションウィンドウの スペースメンバーと役割 をクリックします。
スペースメンバー タブで、[メンバーの追加] をクリックします。
[メンバーの追加] ダイアログボックスで、[利用可能なアカウント] リストから追加したい組織メンバーを選択します。選択されたメンバーは [選択されたアカウント] リストに表示されます。
アカウントに割り当てるロールを選択し、[確認] をクリックしてメンバーを追加します。
RAM ユーザーに Super_Administrator ロールを付与します。
ワークスペースの詳細 ページで、左側のナビゲーションウィンドウの スペースメンバーと役割 をクリックします。
スペースメンバー タブで、対象メンバーの [ロール] 列から [ワークスペース管理者] を選択して権限付与を完了します。
権限を付与された RAM ユーザーを使用して、次のコマンドを実行し、自身の権限を表示します。戻り値に Super_Administrator ロールが含まれている場合、権限は正常に付与されています。
SHOW GRANTS;
MaxCompute コンソールを使用した権限付与
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
プロジェクト管理 ページで、対象のプロジェクトを見つけ、その 操作 列にある 管理 をクリックします。
プロジェクト設定 ページで、ロール権限 タブをクリックします。
super_administratorロールを選択し、対応する 操作 列の メンバー管理 をクリックします。メンバー管理 ダイアログボックスで、追加したい RAM ユーザーを選択し、OK をクリックして権限付与を完了します。
権限を付与された RAM ユーザーを使用して、次のコマンドを実行し、自身の権限を表示します。戻り値に Super_Administrator ロールが含まれている場合、権限は正常に付与されています。
SHOW GRANTS;
注意事項
メンバー管理
各 RAM ユーザーの責任を定義します。各 RAM ユーザーアカウントは、単一の開発者に割り当てる必要があります。アカウントを共有しないでください。これにより、データセキュリティが確保されます。
1 つのプロジェクトでは、Super_Administrator ロールを割り当てることができる RAM ユーザーは 1 人だけです。基本的な管理権限が必要な他のアカウントには、Admin ロールを付与できます。
MaxCompute は Alibaba Cloud アカウントと RAM ユーザーをサポートしています。データセキュリティをより確実に確保するために、プロジェクトオーナーの Alibaba Cloud アカウントに属する RAM ユーザーのみをプロジェクトメンバーとして追加してください。
プロジェクトオーナーの Alibaba Cloud アカウントは、その RAM ユーザーを制御できます。開発者が異動または退職した場合、プロジェクトオーナーは対応する RAM ユーザーアカウントを無効化または更新して、データセキュリティを維持できます。
説明DataWorks を使用してプロジェクトメンバーを管理する場合、プロジェクトオーナーの Alibaba Cloud アカウントに属する RAM ユーザーのみをプロジェクトメンバーとして追加できます。
RAM ユーザーを作成できるのは Alibaba Cloud アカウントのオーナーのみです。スーパー管理者であっても、まず Alibaba Cloud アカウントのオーナーに RAM ユーザーの作成をリクエストする必要があります。その後、スーパー管理者は新しく作成された RAM ユーザーをプロジェクトに追加できます。
現在のプロジェクトでデータ開発を行う必要があるユーザーのみをプロジェクトメンバーとして追加してください。データ開発には、プロジェクト内でのジョブの実行が含まれます。データとの対話のみが必要なユーザーについては、パッケージを使用してプロジェクト間でリソースを共有します。これにより、プロジェクトへのユーザーの過剰な追加を防ぎ、メンバー管理の複雑化を回避できます。
従業員が異動または退職した場合は、まずその従業員の RAM ユーザーをプロジェクトから削除します。次に、プロジェクトオーナーに通知して RAM ユーザーアカウントを無効化します。Super_Administrator ロールを割り当てられた従業員が異動または退職した場合、プロジェクトオーナーはそのユーザーをプロジェクトから削除し、RAM ユーザーアカウントを無効化する必要があります。
権限管理
ロールを使用して権限を管理します。権限をロールに関連付け、次にロールをユーザーに関連付けます。
最小権限の原則に従ってください。これにより、過剰な権限によるセキュリティリスクを防ぎます。
プロジェクト間でデータを共有するには、パッケージを使用します。これにより、リソース提供者は個々のメンバーではなく、パッケージのみを管理すればよくなります。
説明Super_Administrator ロールを持つ RAM ユーザーは、すでにプロジェクト内のすべてのリソースをクエリおよび管理する権限を持っています。このユーザーに追加の権限を付与する必要はありません。
権限監査
MaxCompute グローバルメタサービスが提供するビューを使用して権限を監査できます。詳細については、「メタデータビューのリスト」をご参照ください。
コスト管理
コスト管理の詳細については、「請求詳細の表示」をご参照ください。RAM ユーザーが課金データをクエリできるようにするには、Alibaba Cloud アカウントのオーナーがユーザーセンターで RAM ユーザーに必要な権限を付与する必要があります。権限の付与方法の詳細については、「RAM ロールに権限を付与する」をご参照ください。必要な権限には以下が含まれます:
AliyunBSSFullAccess:ユーザーセンターを管理する権限。
AliyunBSSReadOnlyAccess:ユーザーセンターにアクセスするための読み取り専用権限。
AliyunBSSOrderAccess:ユーザーセンターで注文を表示、支払い、キャンセルする権限。
説明ユーザーセンターの権限は、MaxCompute プロジェクトの Super_Administrator ロールとは関連付けられていません。これらの権限は別途付与する必要があります。
リソース使用量の管理
MaxCompute にサブスクリプションの計算リソースを使用する場合、MaxCompute コンソールで計算リソースの使用状況を表示し、すべての計算リソースを管理できます。詳細については、「リソース観察」および「計算リソースのクォータ管理」をご参照ください。
MaxCompute に従量課金の計算リソースを使用する場合、MaxCompute グローバルメタサービスが提供するビューを使用して計算リソースの使用状況を表示できます。たとえば、TASKS_HISTORY ビューを使用して、完了したジョブの詳細を確認できます。これらの詳細には、実行時間、ジョブの内容、リソース消費量が含まれます。詳細については、「TASKS_HISTORY」をご参照ください。
説明グローバルメタサービスビューは、過去 15 日間のデータのみを保持します。データを長期間保持するには、定期的にデータを読み取って保存する必要があります。