MaxCompute プロジェクトで共同作業を行うには、プロジェクト所有者以外のユーザーをプロジェクトに追加し、テーブル、リソース、関数、ジョブを操作するための権限を付与する必要があります。本トピックでは、MaxCompute のユーザー管理について説明します。
背景情報
MaxCompute プロジェクトを作成した後、プロジェクト所有者または MaxCompute 組み込みロールを持つユーザーのみがプロジェクトにアクセスできます。他のユーザーが共同作業を行えるようにするには、プロジェクト所有者がそれらのユーザーをプロジェクトに追加する必要があります。
MaxCompute は、次のユーザータイプと操作をサポートしています。
|
カテゴリ |
ユーザータイプ |
アクション |
説明 |
実行者 |
操作エントリ |
|
プロジェクトレベル |
Alibaba Cloud アカウント |
別の Alibaba Cloud アカウントを MaxCompute プロジェクトに追加します。 |
プロジェクト所有者、または MaxCompute 組み込みロールを持つユーザー。 |
||
|
MaxCompute プロジェクトから Alibaba Cloud アカウントを削除します。 |
|||||
|
RAM ユーザー |
所有する Alibaba Cloud アカウントから RAM ユーザーをプロジェクトに追加します。 |
||||
|
MaxCompute プロジェクトから RAM ユーザーを削除します。 |
|||||
|
RAM ロール |
Resource Access Management (RAM) コンソールで作成した RAM ロールを MaxCompute プロジェクトに追加します。 |
||||
|
MaxCompute プロジェクトから RAM ロールを削除します。 |
|||||
|
MaxCompute プロジェクト内のユーザーを表示します。 |
|||||
Alibaba Cloud アカウントユーザーの追加 (プロジェクトレベル)
別の Alibaba Cloud アカウントに権限を付与するには、プロジェクト所有者がまずそのアカウントをプロジェクトに追加する必要があります。
-
構文
add user ALIYUN$<account_id | login_name>; -
パラメーター
パラメーター
必須
説明
account_id
はい
このパラメーターの値は、テナントの 「アカウント ID の使用」 設定によって異なります。この設定が有効な場合は アカウント ID を、無効な場合はログイン名を指定します。例えば、ログイン名が
odps_test_user@aliyun.comのアカウントの場合、アカウント ID は5527xxxxxxxx5788です。 -
例
この例では、Alibaba Cloud アカウント
odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788) を プロジェクト test_project_a に追加します。「アカウント ID の使用」が有効な場合
add user ALIYUN$5527xxxxxxxx5788;「アカウント ID の使用」が無効な場合
add user ALIYUN$odps_test_user@aliyun.com;
Alibaba Cloud アカウントの削除 (プロジェクトレベル)
ユーザーが MaxCompute プロジェクトにアクセスする必要がなくなった場合は、そのユーザーをプロジェクトから削除します。削除されたユーザーは、そのプロジェクト内のリソースにアクセスするすべての権限を失います。
-
構文
remove user ALIYUN$<account_id>; -
使用上の注意
-
ロールが割り当てられているユーザーを削除する前に、まずすべてのロールを取り消す必要があります。ユーザーに割り当てられているロールの表示方法の詳細については、「権限情報を表示する」をご参照ください。ロールの取り消し方法の詳細については、「ユーザーからロールを取り消す」をご参照ください。
-
ユーザーを削除しても、権限は保持されます。その後、ユーザーをプロジェクトに再度追加すると、以前の権限が自動的に復元されます。ユーザーの権限を完全にクリアするには、「削除されたユーザーの残存権限をクリアする」をご参照ください。
-
-
パラメーター
パラメーター
必須
説明
account_id
はい
Alibaba Cloud アカウントです。アカウント ID の使用 テナントプロパティが有効な場合はアカウント ID を、それ以外の場合はログイン名を使用します。例:
5527xxxxxxxx5788またはodps_test_user@aliyun.com。MaxCompute クライアントで
list users;コマンドを実行して、アカウント識別子を取得します。 -
例
-
例 1: Alibaba Cloud アカウント
odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788) をtest_project_aプロジェクトから削除します。この例では、アカウントにロールが割り当てられていないことを前提としています。「アカウント ID の使用」が有効な場合
remove user ALIYUN$5527xxxxxxxx5788;「アカウント ID の使用」が無効な場合
remove user ALIYUN$odps_test_user@aliyun.com; -
例 2: Alibaba Cloud アカウント
odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788) をtest_project_aプロジェクトから削除します。この例では、アカウントにWorkerロールが割り当てられていることを前提としています。「アカウント ID の使用」が有効な場合
-- ユーザーからロールを取り消します。 revoke Worker from ALIYUN$5527xxxxxxxx5788; -- ユーザーを削除します。 remove user ALIYUN$5527xxxxxxxx5788;「アカウント ID の使用」が無効な場合
-- ユーザーからロールを取り消します。 revoke Worker from ALIYUN$odps_test_user@aliyun.com; -- ユーザーを削除します。 remove user ALIYUN$odps_test_user@aliyun.com;
-
RAM ユーザーの追加 (プロジェクトレベル)
RAM ユーザーに権限を付与するには、プロジェクトオーナーがまずそのユーザーをプロジェクトに追加する必要があります。
-
構文
add user RAM$[<account_id>:]<RAM_user_UID>; -
制限事項
-
プロジェクトに追加できるのは、自分の Alibaba Cloud アカウントに属する RAM ユーザーのみです。別の Alibaba Cloud アカウントの RAM ユーザーを追加するには、まずその RAM ユーザーが属する Alibaba Cloud アカウントをプロジェクトに追加する必要があります。その後、そのアカウントの所有者が MaxCompute プロジェクトにログインして、RAM ユーザーを追加できます。
-
RAM ユーザーを MaxCompute プロジェクトに追加する前に、
list accountproviders;コマンドを実行して、プロジェクトが RAM アカウントシステムをサポートしているかどうかを確認します。コマンド出力にRAMが含まれていない場合は、add accountprovider ram;コマンドを実行して、プロジェクトの RAM アカウントシステムを有効にします。 -
ユーザーを削除しても、権限は保持されます。その後、ユーザーをプロジェクトに再度追加すると、以前の権限が自動的に復元されます。ユーザーの権限を完全にクリアするには、「削除されたユーザーの残存権限をクリアする」をご参照ください。
-
-
使用上の注意
MaxCompute は、アイデンティティに RAM アカウントシステムを使用しますが、RAM 権限システムは無視します。そのため、Alibaba Cloud アカウントが自分の RAM ユーザーを MaxCompute プロジェクトに追加した場合、MaxCompute は RAM でこれらのユーザーに定義された権限を適用しません。
-
パラメーター
パラメーター
必須
説明
account_id
いいえ
RAM ユーザーが属する Alibaba Cloud アカウント。アカウント ID の使用 テナントプロパティが有効な場合は、アカウント ID を使用します。無効な場合は、ログイン名を使用します。例:
odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788)。RAM_user_UID
はい
RAM ユーザーの UID。
UID を取得するには、RAM コンソールにログインします。左側メニューで、 を選択し、対象ユーザーをクリックします。基本情報 セクションで UID を確認できます。
-
例
この例では、RAM ユーザー
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649) をtest_project_aプロジェクトに追加します。アカウント ID の使用が有効な場合
add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;アカウント ID の使用が無効な場合
add user RAM$odps_test_user@aliyun.com:ram_test;
RAM ユーザーの削除 (プロジェクトレベル)
RAM ユーザーが MaxCompute プロジェクトのメンバーでなくなった場合は、そのユーザーをプロジェクトから削除します。削除されると、ユーザーはそのプロジェクト内のリソースへのすべてのアクセス権限を失います。
-
構文
remove user RAM$[<account_id>:]<ram_user_uid>; -
使用上の注意
-
RAM ユーザーを削除する前に、割り当てられているロールを取り消す必要があります。そうしない場合、残留ユーザー情報がプロジェクトに残り、ユーザーは
p4_xxxxxxxxxxxxxxxxxxxxと表示されて削除できなくなります。ただし、これは通常のプロジェクト操作には影響しません。ユーザーに割り当てられているロールの表示方法の詳細については、「権限情報の表示」をご参照ください。ロールの取り消し方法の詳細については、「ユーザーからのロールの取り消し」をご参照ください。 -
ユーザーを削除しても、権限は保持されます。その後、ユーザーをプロジェクトに再度追加すると、以前の権限が自動的に復元されます。ユーザーの権限を完全にクリアするには、「削除されたユーザーの残存権限をクリアする」をご参照ください。
-
-
パラメーター
パラメーター
必須
説明
account_id
いいえ
RAM ユーザーが属する Alibaba Cloud アカウント。アカウント ID の使用 テナントプロパティが有効な場合は、アカウント ID を使用します。無効な場合は、ログイン名を使用します。例:
odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788)。RAM_user_UID
はい
RAM ユーザーの UID。
UID を取得するには、RAM コンソールにログインします。左側メニューで、 を選択し、対象ユーザーをクリックします。基本情報 セクションで UID を確認できます。
-
例
-
例 1: RAM ユーザー
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649) をtest_project_aプロジェクトから削除します。この例では、RAM ユーザーにロールが割り当てられていないことを前提としています。[Use Account ID] が有効な場合
remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;[Use Account ID] が無効な場合
remove user RAM$odps_test_user@aliyun.com:ram_test; -
例 2: RAM ユーザー
RAM$odps_test_user@aliyun.com:ram_test(UID:5527xxxxxxxx5788:2763xxxxxxxxxx1649) をtest_project_aプロジェクトから削除します。この例では、RAM ユーザーにWorkerロールが割り当てられていることを前提としています。[Use Account ID] が有効な場合
-- ユーザーからロールを取り消します。 revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649; -- ユーザーを削除します。 remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649; -- RAM ユーザーが不要になった場合は、RAM アカウントプロバイダーを削除します。 remove accountprovider ram;[Use Account ID] が無効な場合
-- ユーザーからロールを取り消します。 revoke Worker from RAM$odps_test_user@aliyun.com:ram_test; -- ユーザーを削除します。 remove user RAM$odps_test_user@aliyun.com:ram_test; -- RAM ユーザーが不要になった場合は、RAM アカウントプロバイダーを削除します。 remove accountprovider ram;
-
RAM ロールの追加 (プロジェクトレベル)
Resource Access Management (RAM) コンソールで RAM ロールを作成してポリシーを変更した後、MaxCompute プロジェクトに追加できます。プロジェクト内の RAM ユーザーは、このロールを引き受けて操作を実行できます。
「ロール計画」で説明されている MaxCompute プロジェクト固有のロールとは異なり、RAM ロールは Resource Access Management (RAM) で管理されるプラットフォームレベルのアイデンティティです。RAM ロールの使用方法の詳細については、「RAM ロールを引き受ける」をご参照ください。
-
コマンド形式
add user `RAM$<account_id>:role/<RAM role name>`; -
使用上の注意
コマンド内のバッククォート (
`) は必須です。 -
パラメーター
パラメーター
必須
説明
account_id
はい
RAM ロールを所有する Alibaba Cloud アカウント。 このパラメーターの値は、アカウント ID の使用 テナントプロパティが有効になっているかどうかによって異なります。 このプロパティが有効な場合は、アカウント ID を指定します。 それ以外の場合は、ログイン名を指定します。 たとえば、
odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788) です。RAM ロール名
はい
RAM ロールの名前。
RAM コンソールにログインします。 左側のナビゲーションペインで、を選択します。 RAM ロール名は[ロール] ページに表示されます。
-
例
test_project_aプロジェクトに RAM ロールram_roleを追加します:「アカウント ID の使用」が有効な場合
add user `RAM$5527xxxxxxxx5788:role/ram_role`;「アカウント ID の使用」が無効な場合
add user `RAM$odps_test_user@aliyun.com:role/ram_role`;
-
関連操作
このロールを DataWorks での操作に使用する予定の場合は、DataWorks サービスへのアクセス権限を付与するようにポリシーを更新する必要もあります。これにより、DataWorks は定期的にスケジュールされたジョブを MaxCompute に送信できるようになります。
RAM ロールの削除 (プロジェクトレベル)
MaxCompute プロジェクトから RAM ロールを削除します。
-
構文
remove user `RAM$<account_id/login_name>:role/<RAM_role_name>`; -
使用上の注意
コマンド内のバッククォート (
`) は必須です。 -
パラメーター
パラメーター
必須
説明
account_id
はい
RAM ロールを所有する Alibaba Cloud アカウント。 このパラメーターの値は、アカウント ID の使用 テナントプロパティが有効になっているかどうかによって異なります。 このプロパティが有効な場合は、アカウント ID を指定します。 それ以外の場合は、ログイン名を指定します。 たとえば、
odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788) です。RAM ロール名
はい
RAM ロールの名前。
RAM コンソールにログインします。 左側のナビゲーションペインで、を選択します。 RAM ロール名は[ロール] ページに表示されます。
-
例
この例では、RAM ロール
ram_roleをtest_project_aプロジェクトから削除します。「アカウント ID の使用」が有効な場合
remove user `RAM$5527xxxxxxxx5788:role/ram_role`;「アカウント ID の使用」が無効な場合
remove user `RAM$odps_test_user@aliyun.com:role/ram_role`;
ユーザーリスト (プロジェクトレベル)
MaxCompute プロジェクト内のユーザーを一覧表示します。
-
構文
list users; -
例
このコマンドは、MaxCompute プロジェクト内のユーザーを一覧表示します。
list users;次の出力が返されます。
アカウント ID が有効な場合
ALIYUN$5527xxxxxxxx5788 RAM$5527xxxxxxxxxx1649 RAM$5527xxxxxxxx5788:role/ram_roleアカウント ID が無効な場合
ALIYUN$odps_test_user@aliyun.com RAM$odps_test_user@aliyun.com:ram_test RAM$odps_test_user@aliyun.com:role/ram_role
次のステップ
ユーザー計画が完了したら、権限を付与できます。「コマンドを使用したユーザー権限の管理」をご参照ください。