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

MaxCompute:権限の概要

最終更新日:Jul 07, 2025

MaxComputeプロジェクトのデータのセキュリティを確保するには、プロジェクトの所有者または承認機能を持つユーザーが、プロジェクトのメンバーの権限を管理する必要があります。 このトピックでは、MaxComputeの権限管理システムについて説明します。

権限管理システム

項目

説明

依頼人

MaxComputeは次のプリンシパルをサポートしています。

  • ユーザー: Alibaba Cloudアカウント、RAMユーザー、RAMロールが含まれます。 MaxComputeでは、ユーザーを管理できます。 たとえば、ユーザーを追加、削除、およびクエリできます。 ユーザーを管理する方法の詳細については、「ユーザー計画と管理」をご参照ください。

  • ロール: MaxComputeには組み込みの管理者ロールがあり、カスタムロールをサポートしています。 MaxComputeでは、カスタムロールを管理できます。 たとえば、カスタムロールを追加、削除、および照会できます。 ロールの管理方法の詳細については、「ロールの計画」をご参照ください。

オブジェクト (Object)

MaxComputeは、プロジェクト、テーブル、リソース、関数、およびインスタンスに対するきめ細かいアクセス制御をサポートしています。 MaxComputeが提供する権限付与ソリューションに基づいて、オブジェクトに対するユーザー権限をきめ細かく管理できます。 各オブジェクトに対する権限の詳細については、「MaxCompute の権限」をご参照ください。

アクセス制御

MaxComputeは、さまざまな権限付与要件を満たすために、次の権限付与ソリューションを提供します。

  • ACLベースのアクセス制御: プロジェクト、テーブル、リソース、関数、またはインスタンスに対する操作権限をユーザーまたはロールに付与します。

  • ポリシーベースのアクセス制御: プロジェクト、テーブル、リソース、関数、またはインスタンスに対する操作権限をロールに付与します。 ロールがユーザーに割り当てられると、関連する権限がユーザーに付与されます。

  • ダウンロード制御: テーブル、関数、またはリソースをダウンロードする権限をユーザーまたはロールに付与します。

  • ラベルベースのアクセス制御: 機密データに対するアクセス制御を提供します。 ユーザーまたはロールは、アクセスレベルに基づいてデータにアクセスできます。 ユーザーまたはロールが機密レベルの高いデータにアクセスする場合は、これらのユーザーまたはロールに対してラベルベースのアクセス制御を実行する必要があります。

  • パッケージに基づくクロスプロジェクトリソースアクセス: プロジェクトのリソースをパッケージ化し、リソースにアクセスする他のプロジェクトがパッケージをインストールできるようにします。 このソリューションは、プロジェクト間のリソースアクセスが必要なシナリオに適しています。

ロールベースの権限付与

複数のユーザーに同じ操作権限を付与する場合は、ロールに基づいてユーザーに権限を付与できます。 これにより、承認操作が簡単になります。 ロールベースの権限付与の詳細については、「プロジェクトレベルのロールに基づくアクセス制御の実行」をご参照ください。

ユーザー権限付与

次のいずれかの方法を使用して、ユーザーに権限を付与できます。

  • 直接認証: 特定のユーザーに操作権限を個別に付与できます。

  • ロールベースの権限付与: 複数のユーザーに同じ操作権限を付与できます。

ユーザー権限付与の詳細については、「コマンドを使用したユーザー権限の管理」をご参照ください。

権限情報の取得

プロジェクト担当者の権限情報を照会して、付与された権限が有効かどうかを確認できます。 権限情報を照会する方法の詳細については、「MaxCompute SQLを使用したアクセス許可の照会」をご参照ください。

DataWorksには権限システムもあります。 DataWorksを使用してMaxComputeプロジェクトを維持する場合、DataWorksが提供するユーザーおよびロール管理機能を使用して、ユーザーにロールを割り当てることでユーザー権限を管理できます。 DataWorksとMaxComputeの間の権限関係の詳細については、「MaxComputeとDataWorksの間の権限関係」をご参照ください。

认证プロセス

MaxComputeユーザーがさまざまな種類のMaxComputeオブジェクトに対して操作を実行する場合、ユーザーは認証されている必要があります。 リソース所有者 (Alibaba Cloudアカウント) は最高の権限を持ち、MaxComputeオブジェクトに対するすべての操作を実行できます。 リソース所有者は、RAMユーザーまたはRAMロールに管理権限を付与することもできます。 Alibaba Cloudアカウントと管理権限を持つユーザーは、他のユーザーに権限を付与できます。 権限付与操作は、権限が付与されるユーザー、権限が付与されるオブジェクト、およびユーザーがオブジェクトに対して実行できる操作を決定します。

MaxComputeの認証プロセスは、オブジェクトと操作に基づいて、RAM認証とMaxComputeサービス認証に分けられます。 次の図は、ユーザーが操作を実行する前に必要な認証プロセスを示しています。 MaxCompute权限模型

RAM権限付与

ユーザーがMaxComputeコンソールでサービスの有効化、リソースの購入、クォータ、プロジェクト、またはテナントの管理を行う必要がある場合、Alibaba Cloudはユーザーに対してRAM認証を実行し、ユーザーに関連する権限が付与されているかどうかを確認します。 ユーザーに関連する権限が付与されていない場合、ユーザーは操作を実行できません。

  • RAM認証が必要な操作の一覧については、「RAM権限」をご参照ください。

  • RAMユーザーまたはRAMロールにシステムポリシーをアタッチする方法の詳細については、「RAMユーザーへの権限の付与」をご参照ください。

MaxComputeサービス認証

  • MaxComputeプロジェクトレベルでの操作の認証

    MaxComputeプロジェクトレベルでの操作権限には、プロジェクトレベルでのオブジェクト操作に対する権限と、プロジェクトレベルでの管理操作に対する権限が含まれます。

    • プロジェクトレベルでのオブジェクト操作に対する権限: プロジェクト、テーブル、関数、リソースなどのオブジェクトに対して操作を実行するための権限。 アクセス許可には、CreateTable、CreateInstance、およびSelectTableが含まれます。 詳細については、「プロジェクトおよびプロジェクト内のオブジェクトに対する権限」をご参照ください。

    • プロジェクトレベルでの管理操作に対する権限: プロジェクトのセキュリティ設定の構成、プロジェクトレベルのユーザーとロールの権限の管理、パッケージの管理、ラベルの管理、期限切れの権限のクリアを行う権限。 詳細については、「プロジェクト管理の権限」をご参照ください。

    次のコンテンツは、MaxComputeプロジェクトでの操作の認証手順について説明しています。

    1. ユーザー認証 ユーザー認証の詳細については、「ユーザー認証」をご参照ください。

      • Alibaba CloudアカウントまたはAlibaba CloudアカウントのRAMユーザーを使用して、MaxComputeコンソールにログインします。

      • odpscmdやJDBCなどのツールを使用してMaxComputeに接続する場合は、AccessKey IDとAccessKey secretが必要です。

      • アカウントを使用してMaxComputeに接続すると、現在のプロジェクトユーザーのアカウントが使用されているかどうかがシステムによって判断されます。 ユーザーは、プロジェクトの管理者がユーザーに対してadd user "xxx" コマンドを実行した場合にのみ、プロジェクトで操作を実行できます。

    2. リクエスト元チェック: IPアドレスのホワイトリストを確認します。 詳細については、「IPアドレス ホワイトリストの管理」をご参照ください。

    3. プロジェクトのステータスチェック: プロジェクトが正常な状態かどうかを確認します。

    4. MaxCompute権限チェック: ユーザーがプロジェクトに追加された後、権限の範囲内で操作を実行するには、関連する権限をユーザーに付与する必要があります。 権限には、ACLベースのアクセス制御ポリシーベースのアクセス制御ダウンロード制御ラベルベースのアクセス制御パッケージベースのクロスプロジェクトリソースアクセスなど、さまざまな権限付与方法を使用して付与される権限が含まれます。 プロジェクトレベルのユーザーを管理する方法の詳細については、「コマンドを使用したユーザー権限の管理」をご参照ください。

      .

  • MaxComputeテナントレベルでの操作の認証

    MaxComputeテナントレベルでの操作に対する権限には、テナントレベルでのオブジェクト操作に対する権限と、テナントレベルでの管理操作に対する権限が含まれます。

    • テナントレベルでのオブジェクト操作に対する権限には、クォータの使用権限やネットワーク接続のCreateNetworkLink権限など、テナントレベルのオブジェクトに対する権限が含まれます。 テナントレベルのオブジェクトに対する権限の詳細については、「テナント内のオブジェクトに対する権限」をご参照ください。

      テナントレベルでのオブジェクト操作の権限でも、1つのアカウントを使用して複数のプロジェクトを管理できます。 これにより、権限管理が容易になります。

    • テナントレベルでの管理操作に対する権限は、テナントレベルでのユーザーとロールの権限を管理するために付与されます。 たとえば、ユーザーに権限が付与された後、ユーザーはテナントレベルのユーザーの追加または削除、テナントレベルのロールの作成または削除、テナントレベルのユーザーとロールとその権限のリストの表示、テナントレベルのロールのユーザーへのアタッチ、テナントレベルのロールのユーザーからのデタッチ、テナントレベルのロールのプロジェクトへの追加、テナントレベルのロールのプロジェクトからの削除を実行できます。

    ユーザーが上記の操作を実行する必要がある場合、MaxComputeは認証操作を実行して、ユーザーに関連する権限が付与されているかどうかを確認します。 ユーザーに関連する権限が付与されていない場合、操作は実行できません。

権限の付与方法

次のコンテンツは、MaxComputeでサポートされている一般的な権限付与方法について説明します。

  • 方法1: ユーザーにオブジェクトに対する操作権限を付与します。

    プロジェクト所有者または組み込みの管理者ロールを持つユーザーがMaxComputeプロジェクトにユーザーを追加した後、必要な権限付与機能を持つユーザーは、アクセス制御リスト (ACL) を使用して、追加されたユーザーにオブジェクトに対する操作権限を付与します。

    Method 1

  • 方法2: ロールに基づいて、複数のユーザーにオブジェクトに対する操作権限を付与します。

    プロジェクト所有者または組み込み管理者ロールを持つユーザーがMaxComputeプロジェクトにユーザーとロールを追加した後、必要な権限付与機能を持つユーザーは、ACL、ポリシー、またはダウンロード制御ソリューションを使用して、オブジェクトに対する操作権限をロールに付与し、ユーザーにロールを割り当てます。

    Method 2

  • 方法3: 機密レベルの高いデータにアクセスする権限をユーザーに付与します。

    プロジェクト所有者または組み込みの管理者ロールを持つユーザーがMaxComputeプロジェクトにユーザーを追加した後、プロジェクト所有者または管理者ロールを持つユーザーはユーザーにアクセスレベルを追加できます。 ユーザーが機密レベルの高いデータにアクセスしたい場合、プロジェクト所有者または管理者ロールを持つユーザーは、ラベルベースのアクセス制御を使用して、ユーザーにデータへのアクセスを許可することもできます。

    Method 3

  • 方法4: 複数のユーザーに、ロールに基づいて同じ高機密レベルでデータにアクセスする権限を付与します。

    プロジェクト所有者または組み込みの管理者ロールを持つユーザーがMaxComputeプロジェクトにユーザーを追加した後、プロジェクト所有者または管理者ロールを持つユーザーはアクセスレベルラベルをユーザーに追加できます。 複数のユーザーが同じ高感度レベルでデータにアクセスする場合は、ロールを作成し、プロジェクト所有者または管理者ロールを持つユーザーに、ラベルベースのアクセス制御を使用してデータにアクセスする権限をロールに付与し、ユーザーにロールを割り当てることができます。

    Method 4

  • 方法5: プロジェクト内のユーザーに、プロジェクト間リソースアクセスシナリオでパッケージ内のリソースにアクセスする権限を付与します。

    リソースが属するプロジェクトの所有者がパッケージを作成し、リソースをパッケージに追加すると、プロジェクト所有者は別のプロジェクトにパッケージのインストールを許可します。 次に、パッケージがインストールされているプロジェクトの所有者は、ACLまたはラベルベースのアクセス制御を使用して、プロジェクト内の他のユーザーにリソースに対する権限を付与します。

    Method 5

  • 方法6: プロジェクト間リソースアクセスシナリオのロールに基づいて、パッケージ内のリソースにアクセスする権限をユーザーに付与します。

    リソースが属するプロジェクトの所有者がパッケージを作成し、リソースをパッケージに追加した後、所有者は別のプロジェクトにパッケージのインストールを許可します。 次に、パッケージがインストールされているプロジェクトの所有者は、ACLまたはラベルベースのアクセス制御を使用して、リソースに対する権限をロールに付与し、プロジェクト内の他のユーザーにロールを割り当てます。

    Method 6

MaxComputeとDataWorks間の権限関係

MaxComputeとDataWorks間の権限関係を理解する前に、MaxComputeプロジェクトとDataWorksワークスペース間の関係を理解する必要があります。

  • MaxComputeプロジェクトを作成するときに、DataWorksワークスペースの基本モードを選択すると、DataWorksワークスペースはMaxComputeプロジェクトに関連付けられます。

  • MaxComputeプロジェクトを作成するときに、DataWorksワークスペースに標準モードを選択すると、DataWorksワークスペースは開発環境のMaxComputeプロジェクトと本番環境のMaxComputeプロジェクトに関連付けられます。 開発環境のMaxComputeプロジェクトの場合、プロジェクト名の接尾辞は_devです。

また、MaxComputeプロジェクトの訪問者IDを設定して、MaxComputeプロジェクトのアカウントのポリシーを決定する必要があります。

MaxComputeの権限管理システムを使用して権限を制御する場合、DataWorksコンソールでのユーザー操作は影響を受けません。 DataWorksでは、MaxComputeプロジェクトの権限を視覚化して管理できます。 ただし、DataWorksを使用してユーザーにロールを割り当てると、MaxComputeリソースの操作権限が影響を受ける可能性があります。

ユーザーとロールの概念は、DataWorksとMaxComputeの両方に存在します。 次のコンテンツでは、DataWorksとMaxComputeの間の権限関係について説明します。

  • ロールとその権限

    DataWorksは組み込みロールを使用して、プロジェクトメンバーがデータを開発するためのMaxComputeプロジェクトのリソースに対する権限を提供します。 次の表に、MaxComputeロールとDataWorks組み込みロールの間の権限関係を示します。

    マッピング

    権限の説明

    DataWorksロールまたはID

    MaxComputeロール

    DataWorks開発環境と関連するMaxComputeプロジェクトのデータに対する権限

    DataWorks本番環境と関連するMaxComputeプロジェクトのデータに対する権限

    DataWorksの権限の説明

    ワークスペース管理者

    Role_Project_Admin

    • MaxCompute: このロールには、プロジェクト内のプロジェクトとテーブル、関数、リソース、インスタンス、ジョブに対するすべての権限があり、プロジェクト内のパッケージに対する読み取り権限があります。

    • DataWorks: このロールには、データ開発操作を実行し、実稼働環境にタスクをデプロイする権限があります。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    ワークスペース管理者ロールを持つユーザーは、ワークスペースの管理者です。 管理者は、基本プロパティ、データソース、計算エンジン構成、およびワークスペースのメンバーを管理する権限を持ち、ワークスペースのメンバーにワークスペース管理者、開発者、O&M、デプロイ、または訪問者のロールを割り当てることができます。

    開発

    Role_Project_Dev

    • MaxCompute: このロールには、プロジェクト内のプロジェクトとテーブル、関数、リソース、インスタンス、ジョブに対するすべての権限があり、プロジェクト内のパッケージに対する読み取り権限があります。

    • DataWorks: このロールには、データ開発操作を実行する権限がありますが、実稼働環境にタスクをデプロイする権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    Developmentロールを持つユーザーは、ワークフロー、スクリプトファイル、リソース、ユーザー定義関数 (UDF) 、テーブル、デプロイメントタスクを作成し、テーブルを削除する権限を持ちますが、デプロイメント操作を実行する権限はありません。

    O&M

    Role_Project_Pe

    このロールには、プロジェクトとプロジェクト内の関数、リソース、インスタンス、ジョブに対するすべての権限、プロジェクト内のパッケージに対する読み取り権限、およびプロジェクト内のテーブルに対する読み取り権限と説明権限があります。

    説明

    O&Mロールには、MaxComputeコンピューティングエンジンに対する権限がありますが、DataWorksコンソールでノードを実行する権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    O&Mロールには、ワークスペース管理者ロールによって付与されたデプロイおよびオンラインO&M権限がありますが、データ開発操作を実行する権限はありません。

    デプロイ

    Role_Project_Deploy

    デフォルトでは権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    デプロイロールには、オンラインO&M権限を除いて、O&Mロールと同様の権限があります。

    訪問者

    Role_Project_Guest

    デフォルトでは権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    訪問者ロールを持つユーザーには、データを表示する権限がありますが、ワークフローまたはコードを変更する権限はありません。

    Security Manager

    Role_Project_Security

    デフォルトでは権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    Security ManagerロールはData Security Guardでのみ使用でき、data Security Guardで機密データ識別ルールを設定し、データリスクを監査する権限があります。

    データアナリスト

    Role_Project_Data_Analyst

    デフォルトでは権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    このロールには、DataAnalysisに対する権限のみがあります。

    モデルデザイナー

    Pole_Project_Erd

    デフォルトでは権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    このロールには、Data Warehouse Planning、Data Standard、Dimensional Modeling、およびData Metricでパラメーター設定を変更する権限があります。 このロールには、モデルを公開する権限がありません。

    データガバナンス管理者

    Role_Project_Data_Governance

    デフォルトでは権限はありません。

    デフォルトでは権限はありません。 セキュリティセンターで必要な権限を要求する必要があります。

    このロールには、データガバナンスセンターに対する権限のみがあります。 このロールは、検出されたデータガバナンスの問題の表示と管理、データガバナンス計画の構成、およびチェック項目の有効化に使用できます。 このロールには、データ開発やO&Mなどの操作に対する権限がありません。

    ワークスペースの所有者 (Alibaba Cloudアカウント)

    プロジェクト所有者

    このIDはプロジェクトの所有者であり、プロジェクトに対するすべての権限を持ちます。

    開発環境と同じ権限。

    なし。

    なし

    Super_Administrator

    このロールは、プロジェクトのスーパー管理者であり、プロジェクトに対する管理権限と、プロジェクト内のすべてのタイプのリソースに対するすべての権限を持ちます。

    開発環境と同じ権限。

    なし。

    なし

    管理者

    プロジェクトを作成すると、システムはこのプロジェクトの管理者ロールを作成し、プロジェクト内のすべてのオブジェクトへのアクセス、ユーザーまたはロールの管理、およびユーザーまたはロールへのアクセス許可をロールに付与します。 プロジェクト所有者ロールと比較して、管理者ロールには次の操作を実行する権限がありません。管理者ロールをユーザーに割り当て、プロジェクトのセキュリティポリシーを設定し、プロジェクトの認証モデルを変更し、管理者ロールの権限を変更します。 プロジェクト所有者ロールは、管理者ロールをユーザーに割り当て、セキュリティ構成を管理する権限をユーザーに付与できます。

    開発環境と同じ権限。

    なし。

    なし

    Role_Project_Scheduler

    デフォルトでは権限はありません。

    • MaxCompute: このロールには、プロジェクトとプロジェクト内のテーブル、関数、リソース、インスタンス、ジョブに対するすべての権限があり、プロジェクト内のパッケージに対する読み取り権限があります。

    • DataWorks: このロールは、スケジューリングのために運用環境にタスクをコミットするIDとして使用されます。

      説明

      MaxComputeプロジェクトを本番環境のワークスペースにデータソースとして追加するときに、RAMユーザーまたはRAMロールをデフォルトのアクセスIDとして指定した場合、RAMユーザーまたはRAMロールには、MaxComputeプロジェクトのRole_Project_Schedulerロールと同じ権限が付与されます。 デフォルトのアクセスIDを指定する方法については、MaxComputeの新しいデータソースの追加のMaxCompute データソースの追加セクションをご参照ください。

    このIDは、本番環境でMaxComputeタスクをスケジュールおよび実行するために使用されます。

  • ユーザーとその権限

    • DataWorksワークスペースでは、ワークスペース所有者はAlibaba Cloudアカウントである必要があり、ワークスペースメンバーはワークスペースが属するAlibaba CloudアカウントのRAMユーザーである必要があります。 DataWorksが提供するワークスペース管理機能を使用して、ユーザーを追加し、ユーザーにロールを割り当てることができます。

    • MaxComputeプロジェクトでは、Alibaba Cloudアカウントはプロジェクトの所有者またはメンバーになります。 Alibaba CloudアカウントのRAMユーザーをプロジェクトメンバーにすることもできます。 add user xxx; コマンドを実行してユーザーを追加し、add role xxx; およびgrant role xxx to user xxx; コマンドを順番に実行して、ロールを追加し、そのロールをユーザーに割り当てることができます。

    次の図は、さまざまなワークスペースモードのユーザーとアクセス許可とサポートされている訪問者IDの関係を示しています。

    Relationships between users and permissions

    説明

    DataWorksロールの場合、MaxComputeオブジェクトに対する権限は固定されています。 DataWorksロールを割り当ててMaxComputeオブジェクトに対する権限をユーザーに付与し、コマンドラインインターフェイス (CLI) を使用して他のMaxCompute権限をユーザーに付与すると、MaxComputeオブジェクトに対するユーザー権限がDataWorksコンソールから照会されるユーザー権限と異なる場合があります。