MaxCompute プロジェクトの所有者は Alibaba Cloud アカウント (root ユーザー) のみですが、プロジェクトフラグの設定やクロスプロジェクト間のリソース共有の構成など、日常的なプロジェクト管理作業は必ずしもアカウント所有者が行う必要はありません。RAM ユーザーに組み込みの Super_Administrator ロールを付与することで、Alibaba Cloud アカウントの認証情報を共有することなく、プロジェクト所有者に代わってプロジェクトを管理できます。
仕組み
MaxCompute には、以下の 2 つの組み込み管理ロールが用意されています。
| ロール | 権限 | 最大保有者数 |
|---|---|---|
Super_Administrator | プロジェクト内のすべてのリソースタイプに対する全権限およびプロジェクト管理権限 | プロジェクトあたり 1 名の RAM ユーザー |
Admin | 基本的な管理権限 | 複数名のユーザー |
プロジェクト所有者が指定した 1 名の RAM ユーザーに Super_Administrator ロールを付与すると、その RAM ユーザーは日常的なプロジェクト管理タスクの大部分を実行できるようになります。権限の一覧については、「ロール計画」をご参照ください。
Super_Administrator ロールを持つ RAM ユーザーは、プロジェクト内のすべてのリソースに対して完全なクエリおよび管理権限をすでに有しています。追加の権限付与は不要です。前提条件
開始する前に、以下の条件を満たしていることを確認してください。
MaxCompute プロジェクトの所有者である Alibaba Cloud アカウント
当該 Alibaba Cloud アカウント下で作成された RAM ユーザー(RAM ユーザーの作成は Alibaba Cloud アカウント所有者のみが実行可能です)
RAM ユーザーに DataWorks の管理権限が付与済みであること — 詳細については、「RAM ユーザーへの DataWorks 管理権限の付与」をご参照ください
Super_Administrator ロールの付与
ロールの付与はプロジェクト所有者が実行する必要があります。以下のいずれかの方法を選択してください。
MaxCompute クライアント (odpscmd) を使用した権限付与
MaxCompute クライアント (odpscmd) を使用すると、1 回のセッションで super_administrator および admin の両方のロールを付与できます。
以下の例では、bob@aliyun.com が Alibaba Cloud アカウント(プロジェクト所有者)であり、Allen が当該アカウント下の RAM ユーザーです。
-- 対象プロジェクトに切り替えます
USE project_a;
-- RAM ユーザーをプロジェクトに追加します
ADD USER ram$bob@aliyun.com:Allen;
-- スーパー管理者ロールを付与します
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 ユーザーをプロジェクトメンバーとして追加します。既にメンバーとなっている場合は、このステップをスキップしてください。
DataWorks コンソール にログインし、左上隅からリージョンを選択します。
左側ナビゲーションウィンドウで、ワークスペース をクリックします。
ワークスペース ページで、対象のワークスペース名をクリックします。
ワークスペース詳細 ページで、左側ナビゲーションウィンドウから ワークスペースメンバーとロール をクリックします。
ワークスペースメンバー タブで、メンバーの追加 をクリックします。
メンバーの追加 ダイアログボックスで、利用可能なアカウント リストから RAM ユーザーを選択します。選択したユーザーは 選択済みアカウント リストに表示されます。
ロールを割り当て、確認 をクリックします。
Super_Administratorロールを付与します。ワークスペース詳細 ページで、左側ナビゲーションウィンドウから ワークスペースメンバーとロール をクリックします。
ワークスペースメンバー タブで、対象のメンバーを特定し、ワークスペースマネージャー を ロール 列から選択します。
付与の確認を行うには、RAM ユーザーが以下のコマンドを実行します。
Super_Administratorが含まれる出力が表示された場合、付与は成功しています。SHOW GRANTS;
MaxCompute コンソールを使用した権限付与
MaxCompute コンソール にログインし、左上隅からリージョンを選択します。
左側ナビゲーションウィンドウで、設定の管理 > プロジェクト を選択します。
プロジェクト ページで、対象のプロジェクトを検索し、管理 を 操作 列からクリックします。
プロジェクト設定 ページで、ロール権限 タブをクリックします。
super_administratorロールを選択し、[Manage Members] を [Actions] 列でクリックします。メンバーの管理 ダイアログボックスで、RAM ユーザーを選択し、OK をクリックします。
付与の確認を行うには、RAM ユーザーが以下のコマンドを実行します。
Super_Administratorが含まれる出力が表示された場合、付与は成功しています。SHOW GRANTS;
ベストプラクティス
メンバー管理
開発者ごとに 1 アカウントを割り当てる。 各 RAM ユーザーを 1 名の開発者に専用で割り当て、アカウントの共有は行わないでください。開発者が退職した場合、プロジェクト所有者はその RAM ユーザーを無効化でき、他のユーザーに影響を与えずに済みます。
プロジェクト内でジョブを実行するユーザーのみを追加する。 このプロジェクトからデータを読み取るだけのユーザーには、パッケージを使用してプロジェクト間でリソースを共有し、メンバーとして追加しないでください。
プロジェクトメンバーは、プロジェクト所有者の Alibaba Cloud アカウント下の RAM ユーザーに限定する。 プロジェクト所有者がこれらの RAM ユーザーを管理でき、必要に応じて迅速に無効化できます。DataWorks を通じてプロジェクトメンバーを管理する場合、この方法のみが利用可能です。
RAM ユーザーの作成は Alibaba Cloud アカウント所有者のみが実行可能である。 スーパー管理者は RAM ユーザーを直接作成できません。まず Alibaba Cloud アカウント所有者にユーザー作成を依頼し、その後プロジェクトに追加する必要があります。
メンバーが退職した場合、 最初にその RAM ユーザーをプロジェクトから削除し、次に Alibaba Cloud アカウント所有者に RAM ユーザーアカウントの無効化を依頼してください。
Super_Administratorロールを保持している退職メンバーの場合は、プロジェクト所有者が両方のステップを自ら実行する必要があります。
権限管理
個別の権限付与ではなく、ロールを使用する。 権限をロールにアタッチし、ロールをユーザーに割り当てることで、チーム規模の拡大に伴う権限変更を容易に管理できます。
最小権限の原則に従う。 各ユーザーが必要とする最小限の権限のみを付与し、不正アクセスまたは誤操作による影響を軽減します。
パッケージを使用してプロジェクト間でデータを共有する。 リソース提供者は、各利用プロジェクトの個別メンバーではなく、1 つのパッケージを管理します。詳細については、「ロール計画」をご参照ください。
権限監査
現在のユーザーの権限を確認するには、以下のコマンドを実行します。
SHOW GRANTS;より包括的な監査を行うには、MaxCompute のグローバルメタサービスが提供するビューをクエリします。利用可能なすべてのビューおよびクエリ例については、「メタデータビュー一覧」をご参照ください。
コスト管理
Super_Administrator ロールには課金関連の権限は含まれません。RAM ユーザーが課金データをクエリできるようにするには、Alibaba Cloud アカウント所有者がユーザーセンターで以下の権限を個別に付与する必要があります。
| 権限 | アクセスレベル |
|---|---|
AliyunBSSFullAccess | ユーザーセンターの完全管理権限 |
AliyunBSSReadOnlyAccess | ユーザーセンターへの読み取り専用アクセス |
AliyunBSSOrderAccess | 注文の表示、支払い、キャンセル |
手順については、「RAM ロールへの権限付与」をご参照ください。課金の詳細については、「請求書の詳細の表示」をご参照ください。
リソース使用量管理
サブスクリプション型計算リソース: MaxCompute コンソールで計算リソースの表示および管理を行います。「リソース観測」および「計算リソースのクォータ管理」をご参照ください。
従量課金型計算リソース: グローバルメタサービスの TASKS_HISTORY ビューをクエリし、完了したジョブの詳細(実行時間、ジョブ内容、リソース消費量など)を確認します。
グローバルメタサービスのビューでは、直近 15 日間分のデータのみ保持されます。それより長い期間のデータを保持するには、定期的にデータを読み取り、保存する必要があります。
次のステップ
利用可能なすべてのプロジェクトロールおよびその権限について学ぶ:「ロール計画」
DataWorks でワークスペースメンバーを管理する: ワークスペース管理
監査用のすべてのメタデータビューを参照:「メタデータビュー一覧」