すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ユーザーの計画と管理

最終更新日:Mar 27, 2026

複数のユーザーが MaxCompute プロジェクトで共同作業できるようにするには、それらをプロジェクトに追加し、関連する権限を付与します。プロジェクトに追加されたユーザーのみが、そのテーブル、リソース、関数、およびジョブインスタンスへのアクセスを許可されます。

デフォルトでは、プロジェクト所有者と MaxCompute の組み込みロールを持つユーザーのみがプロジェクトにアクセスできます。

前提条件

開始する前に、以下があることを確認してください。

  • MaxCompute プロジェクト

  • プロジェクト所有者アクセス、または MaxCompute の組み込みロールの割り当て

サポートされているユーザータイプ

MaxCompute は、プロジェクトレベルで 3 種類の ID タイプをサポートしています。

タイプ使用するタイミング
Alibaba Cloud アカウント別の Alibaba Cloud アカウントにアクセスを付与します。通常、これは自身の Alibaba Cloud アカウントを持つピアチームまたは外部協力者です。
RAM ユーザー自身の Alibaba Cloud アカウントの下のサブユーザーにアクセスを付与します。通常、これはチームの開発者またはオペレーターです。
RAM ロールResource Access Management (RAM) ロールにアクセスを付与します。これは、DataWorks から定期的なスケジューリングジョブを送信するなどのサービス間アクセスに役立ちます。
ここで追加される RAM ロールは、Resource Access Management (RAM) コンソールで定義されたロールであり、MaxCompute の組み込みロールやカスタムロールではありません。MaxCompute ロールの詳細については、「ロールの計画」をご参照ください。
MaxCompute は RAM アカウントシステムを認識しますが、RAM 権限システムは認識しません。RAM ユーザーがプロジェクトに追加されると、MaxCompute はそれらを認証しますが、RAM からの権限定義は適用しません。

操作

プロジェクト所有者または MaxCompute の組み込みロールを持つユーザーは、MaxCompute クライアントMaxCompute Studio、または DataWorks コンソールを使用して、次の SQL コマンドを実行できます。

操作説明
Alibaba Cloud アカウントを追加する別の Alibaba Cloud アカウントをプロジェクトに追加します
Alibaba Cloud アカウントを削除するプロジェクトから Alibaba Cloud アカウントを削除します
RAM ユーザーを追加するプロジェクトに RAM ユーザーを追加します
RAM ユーザーを削除するプロジェクトから RAM ユーザーを削除します
RAM ロールを追加するプロジェクトに RAM ロールを追加します
RAM ロールを削除するプロジェクトから RAM ロールを削除します
ユーザーをリスト表示するプロジェクトに追加されたすべてのユーザーをリスト表示します
重要

ユーザーを削除しても、その権限は保持されます。後でユーザーがプロジェクトに再度追加された場合、それらの権限は再アクティブ化されます。残存する権限をクリアするには、「コマンドを使用したユーザー権限の管理」をご参照ください。

ユーザーカテゴリ

ユーザータイプ

操作

説明

オペレーターロール

操作ポータル

プロジェクトレベル (プロジェクト)

Alibaba Cloud アカウント

Alibaba Cloud アカウントユーザーの追加 (プロジェクトレベル)

別の Alibaba Cloud アカウントを MaxCompute プロジェクトに追加します。

プロジェクト所有者、または MaxCompute の組み込みロールが割り当てられているユーザー。

Alibaba Cloud アカウントユーザーの削除 (プロジェクトレベル)

MaxCompute プロジェクトに追加されている Alibaba Cloud アカウントを削除します。

RAM ユーザー

RAM ユーザーの追加 (プロジェクトレベル)

MaxCompute プロジェクトが属する Alibaba Cloud アカウントの RAM ユーザーをプロジェクトに追加します。

RAM ユーザーの削除 (プロジェクトレベル)

MaxCompute プロジェクトに追加されている RAM ユーザーを削除します。

RAM ロール

RAM ロールの追加 (プロジェクトレベル)

Resource Access Management (RAM) コンソールで作成された RAM ロールを MaxCompute プロジェクトに追加します。

RAM ロールの削除 (プロジェクトレベル)

MaxCompute プロジェクトに追加されている RAM ロールを削除します。

ユーザーリストの表示 (プロジェクトレベル)

MaxCompute プロジェクトに追加されているユーザーを表示します。

Alibaba Cloud アカウントの追加

構文

remove user ALIYUN$<account_id>;

パラメーター

パラメーター必須説明

account_id

はい

RAM ロールが属する Alibaba Cloud アカウント識別子。テナントのプロパティで [アカウント ID の使用] スイッチが有効になっている場合、アカウントは ID を使用します。それ以外の場合、アカウントはログイン名を使用します。例: odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788)。

account_id

いいえ

RAM ユーザーが属する Alibaba Cloud アカウント識別子です。テナントのプロパティで [アカウント ID の使用] スイッチが有効になっている場合、アカウントは ID を使用します。それ以外の場合、アカウントはログイン名を使用します。たとえば、odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788)です。

RAM_user_UID

はい

RAM ユーザーの UID。

RAM ユーザーの UID。Resource Access Management (RAM) コンソールにログインします。左側のナビゲーションウィンドウで、[Identity Management] > [Users] を選択します。対象ユーザーをクリックします。[User Basic Information] セクションで UID を取得できます。

account_id

はい

Alibaba Cloud アカウント識別子。テナントのプロパティで [アカウント ID の使用] スイッチが有効になっている場合、アカウントは ID を使用します。それ以外の場合、アカウントはログイン名を使用します。たとえば、5527xxxxxxxx5788 または odps_test_user@aliyun.com です。

アカウント識別子を取得するには、MaxCompute クライアントlist users; コマンドを実行できます。

account_id

はい

Alibaba Cloud アカウント識別子です。テナントのプロパティで [アカウント ID の使用] スイッチが有効になっている場合、アカウントはこの ID を使用します。それ以外の場合、アカウントはログイン名を使用します。たとえば、odps_test_user@aliyun.com(アカウント ID:5527xxxxxxxx5788)です。

account_idはいAlibaba Cloud アカウントの ID (例: odps_test_user@aliyun.com の ID である 5527xxxxxxxx5788)。

Alibaba Cloud アカウント odps_test_user@aliyun.com (ID: 5527xxxxxxxx5788) をプロジェクト test_project_a に追加します。

「Use Account ID」が有効な場合

「Use Account ID」が有効な場合

add user ALIYUN$5527xxxxxxxx5788;

「Use Account ID」が無効な場合

「Use Account ID」が無効な場合

「Use Account ID」が無効な場合

Alibaba Cloud アカウントの削除

構文

remove user ALIYUN$<account_id>;

パラメーター

パラメーター必須説明
account_idはいAlibaba Cloud アカウントの ID。ID を取得するには、MaxCompute クライアントで list users; を実行します。
重要

アカウントにロールが割り当てられている場合、アカウントを削除する前にロールを取り消してください。そうしないと、残存するロール情報がプロジェクトに残ります。どのロールが割り当てられているかを確認するには、「権限のクエリ」をご参照ください。ロールを取り消すには、「ユーザーからのロールの取り消し」をご参照ください。

例 1: odps_test_user@aliyun.com を削除します (ロールは割り当てられていません)。

「Use Account ID」が有効な場合

「Use Account ID」が有効な場合

remove user ALIYUN$5527xxxxxxxx5788;

「Use Account ID」が無効な場合

「Use Account ID」が無効な場合

例 2: odps_test_user@aliyun.com を削除します (ロール Worker が割り当てられています)。

-- まず Worker ロールを取り消します。
revoke Worker from ALIYUN$5527xxxxxxxx5788;
-- 次にユーザーを削除します。
remove user ALIYUN$5527xxxxxxxx5788;

RAM ユーザーの追加

構文

remove user `RAM$<account_id>:role/<RAM_role_name>`;
add user RAM$[<account_id>:]<RAM user UID>;

パラメーター

パラメーター必須説明
account_idいいえRAM ユーザーが属する Alibaba Cloud アカウントの ID です。例:5527xxxxxxxx5788
RAM user UIDはいRAM ユーザーの UID です。UID を取得するには、RAM コンソールにログインし、[ID] > [ユーザー] の順に選択します。対象 RAM ユーザーのログイン名をクリックし、[基本情報] セクションで UID を確認してください。

制限事項

  • 自身の Alibaba Cloud アカウントに属する RAM ユーザーのみを直接追加できます。別の Alibaba Cloud アカウントから RAM ユーザーを追加するには、まずそのアカウントをプロジェクトに追加し (「Alibaba Cloud アカウントの追加」をご参照ください)、次にそのアカウントでログインして RAM ユーザーを追加します。

  • プロジェクトは RAM アカウントシステムをサポートしている必要があります。list accountproviders; を実行して確認します。RAM がリストにない場合、add accountprovider ram; を実行して有効にします。

アカウント 5527xxxxxxxx5788 の下の RAM ユーザー ram_test (UID: 2763xxxxxxxxxx1649) をプロジェクト test_project_a に追加します。

add user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;

「Use Account ID」が無効な場合

RAM ユーザーの削除

構文

remove user RAM$[<account_id>:]<RAM user UID>;

パラメーター

パラメーター必須説明
account_idいいえRAM ユーザーを所有する Alibaba Cloud アカウントの ID (例: 5527xxxxxxxx5788)。
RAM user UIDはいRAM ユーザーの UID。UID を取得するには、Resource Access Management (RAM) コンソールにログインし、[Identities] > [Users] に移動し、RAM ユーザーのログイン名をクリックして、[Basic Information] セクションで UID を表示します。
重要

RAM ユーザーにロールが割り当てられている場合、ユーザーを削除する前にロールを取り消してください。この手順をスキップすると、エントリ p4_xxxxxxxxxxxxxxxxxxxx がプロジェクトに残存し、削除できなくなります。ただし、プロジェクトは正常に機能し続けます。どのロールが割り当てられているかを確認するには、「権限のクエリ」をご参照ください。ロールを取り消すには、「ユーザーからのロールの取り消し」をご参照ください。

例 1: アカウント 5527xxxxxxxx5788 の下の UID 2763xxxxxxxxxx1649 を持つ RAM ユーザーを削除します (ロールは割り当てられていません)。

remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;

例 2: 同じ RAM ユーザーを削除します (ロール Worker が割り当てられています)。

-- まず Worker ロールを取り消します。
revoke Worker from RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
-- 次に RAM ユーザーを削除します。
remove user RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649;
-- RAM ユーザーを使用しなくなった場合は、RAM アカウントプロバイダーを削除します。
remove accountprovider ram;

RAM ロールの追加

構文

コマンド内のバッククォート ( ) は必須です。

パラメーター

パラメーター必須説明
account_idはいRAM ロールを所有する Alibaba Cloud アカウントの ID (例: 5527xxxxxxxx5788)。
RAM role nameはいRAM ロールの名前。名前を取得するには、RAM コンソール にログインし、[ID 管理] > [ロール] に移動して、[ロール] ページでロール名を確認します。

RAM ロール ram_role をプロジェクト test_project_a に追加します。

add user `RAM$5527xxxxxxxx5788:role/ram_role`;
後続の操作は DataWorks で実行する必要があります。RAM ロールにアタッチされているポリシーを変更する際に、RAM ロールを DataWorks に割り当てる必要があります。これにより、DataWorks で定期的なスケジューリングジョブを MaxCompute に送信できます。

RAM ロールの削除

構文

remove user `RAM$<account_id>:role/<RAM role name>`;
コマンド内のバッククォート ( ) は必須です。

パラメーター

パラメーター必須説明
account_idはいRAM ロールを所有する Alibaba Cloud アカウントの ID (例: 5527xxxxxxxx5788)。
RAM role nameはいRAM ロールの名前。名前を取得するには、Resource Access Management (RAM) コンソールにログインし、[Identities] > [Roles] に移動し、[Roles] ページでロール名を表示します。

RAM ロール ram_role をプロジェクト test_project_a から削除します。

remove user `RAM$5527xxxxxxxx5788:role/ram_role`;

ユーザーのリスト表示

MaxCompute プロジェクトに追加されたすべてのユーザーを表示するには、次のコマンドを実行します。

list users;

出力例:

ALIYUN$5527xxxxxxxx5788
RAM$5527xxxxxxxx5788:2763xxxxxxxxxx1649
RAM$5527xxxxxxxx5788:role/ram_role

「Use Account ID」が無効な場合

次のステップ

ユーザーを追加した後、ビジネス要件に基づいて権限を付与します。「コマンドを使用したユーザー権限の管理」をご参照ください。