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

DataWorks:アカウント間の権限付与 (MaxCompute と Hologres)

最終更新日:Mar 01, 2026

ご利用の Alibaba Cloud アカウントに、別の Alibaba Cloud アカウントに属する MaxCompute や Hologres などのプロジェクトをデータソースとして追加することで、それらのプロジェクトにアクセスし、操作できます。これにより、アカウント間のデータアクセスが可能になります。

制限事項

  • アカウント間のアクセス用に作成されたデータソースは、データ開発やスケジューリングには使用できません。データ開発操作を実行するには、ご利用のアカウントでデータソースを作成する必要があります。詳細については、「MaxCompute コンピュートエンジンの追加」および「Hologres コンピュートエンジンの追加」をご参照ください。

  • アカウント間のアクセス用にデータソースを作成する場合、対応するプロジェクトへのアクセスには Resource Access Management (RAM) ロールのみを使用できます。

事前準備

  • Alibaba Cloud アカウント A と B の 2 つがあることを確認してください。詳細については、「アカウントの作成」をご参照ください。

    • Alibaba Cloud アカウント A:アカウント間データソースのユーザーです。このアカウントは、Alibaba Cloud アカウント B からの情報を使用してデータソースを作成します。

    • Alibaba Cloud アカウント B:アカウント間データソースのリソースプロバイダーです。このアカウントは、必要な情報を Alibaba Cloud アカウント A に提供します。

  • 共有するデータリソースが Alibaba Cloud アカウント B で利用可能であることを確認してください。たとえば、MaxCompute プロジェクトまたは Hologres インスタンスとデータベースが作成されている必要があります。

    • シナリオ 1 (MaxCompute へのアクセス):Alibaba Cloud アカウント B に MaxCompute プロジェクトが作成されていること。このプロジェクトは、アカウント間のアクセス用のデータソースを作成する際の宛先プロジェクトとして使用されます。MaxCompute プロジェクトの作成方法の詳細については、「MaxCompute プロジェクトの作成」をご参照ください。

    • シナリオ 2 (Hologres へのアクセス):Alibaba Cloud アカウント B で Hologres インスタンスが購入され、データベースが作成されていること。

ステップ 1:アカウント B での RAM ロールの作成と権限付与

RAM ロールの作成と信頼関係の確立

Alibaba Cloud アカウント B を使用して RAM コンソールにログインします。RAM ロールを作成し、Alibaba Cloud アカウント A を信頼できる Alibaba Cloud アカウントとして追加します。これにより、Alibaba Cloud アカウント A はそのロールを偽装して、権限が付与されたリソースにアクセスできるようになります。

  1. RAM ロールを作成します。

    詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールの作成」をご参照ください。

    説明

    Alibaba Cloud アカウント A はこの RAM ロールを偽装して、Alibaba Cloud アカウント B の DataWorks にアクセスします。この RAM ロールが Alibaba Cloud アカウント A の DataWorks にアクセスする必要がある場合は、RAM ロールのポリシーを再定義する必要があります。詳細については、「RAM ロールのポリシーの定義」をご参照ください。

    image.png

    主要なパラメーターは次のとおりです。

    • 信頼できるエンティティタイプ:Alibaba Cloud アカウント。

    • [信頼できるエンティティ名]:[他の Alibaba Cloud アカウント] を選択します。Alibaba Cloud アカウント A の UID を入力します。UID を取得するには、Alibaba Cloud アカウント A を使用してコンソールにログインし、上部のメニューバーでプロフィール写真の上にポインターを移動します。

    • [ロール名]testRole

    設定が完了すると、Alibaba Cloud アカウント A は testRole ロールを偽装して、権限が付与されたリソースにアクセスできるようになります。

  2. ロールの信頼ポリシーを変更します。

    ロールを作成した後、ロールの [信頼ポリシー] タブに移動します。[信頼ポリシーの編集] をクリックし、ポリシーを次の内容で更新します。これにより、Alibaba Cloud アカウント A の DataWorks サービスがこのロールを偽装できるようになります。詳細については、「RAM ロールの信頼ポリシーの変更」をご参照ください。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "UID of Alibaba Cloud Account A@engine.dataworks.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

    Account A's UID をアカウント A の UID に置き換えます。

RAM ロールのアクセスポリシーの設定

シナリオ 1:MaxCompute へのアクセス権限の付与

  1. Alibaba Cloud アカウント B を使用して、宛先の MaxCompute プロジェクトに移動します。

    MaxCompute コンソールの SQL 分析機能を使用して、MaxCompute プロジェクトにすばやく移動できます。

    他の接続ツールについては、「接続ツールの選択」をご参照ください。

  2. RAM ロールを MaxCompute プロジェクトに追加します。

    1. ステップ 1 で作成した testRole ロールを MaxCompute プロジェクトに追加します。SQL 文のフォーマットは次のとおりです。

      -- RAM ロールを MaxCompute プロジェクトに追加します。
      add user `RAM$<account_name>:role/<RAM role name>`;
      -- ワークスペース内のすべてのユーザーを表示します。
      list users;
      -- RAM ロールに付与されている権限を表示します。
      show grants for `RAM$<account_name>:role/<RAM role name>`;

      パラメーターは次のように説明されます。

      • <account_name>:これを Alibaba Cloud アカウント B の名前に置き換えます。

      • <RAM role name>:これをステップ 1 で作成したロール名である testRole に置き換えます。

    2. 必要に応じてロールに権限を付与します。権限付与操作の詳細については、「権限付与操作」をご参照ください。

      説明

      ワークスペース A でのクロスアカウントデータソースの使用方法に基づいて、RAM ロールに事前に権限を付与できます。たとえば、ワークスペース A からワークスペース B のデータソースのテーブルをクエリする場合は、データソースに設定された RAM ロールがテーブルに対する SELECT 権限を持っていることを確認してください。

シナリオ 2:Hologres へのアクセス権限の付与

  1. ロールのアクセスポリシーの変更 (Hologres のみ)

    1. Alibaba Cloud アカウント B の RAM コンソールで、カスタムポリシーを作成して、Hologres インスタンスへのアクセスに必要な基本権限を付与します。ポリシーの内容は次のとおりです。

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "hologram:GetInstance",
              "hologram:DescribeInstance",
              "hologram:ListDatabases",
              "hologram:ListWarehouses",
              "hologram:ListInstances"
            ],
            "Resource": "*"
          }
        ]
      }
    2. このポリシーを testRole ロールにアタッチします。詳細については、「RAM ロールへの権限付与」をご参照ください。

  2. RAM ロールを Hologres データベースに追加します。

    Hologres でロールを追加して権限を付与します。Alibaba Cloud アカウント B を使用して Hologres 管理コンソールにログインし、宛先インスタンスの HoloWeb インターフェイスに移動します。

    • セキュリティセンターユーザー管理 ページで、作成した RAM ロールをデータベースユーザーとして追加します。

      PixPin_2025-11-24_16-51-58

    • ロールが一般ユーザーの場合は、セキュリティセンターDB 権限付与 ページに移動して、ユーザーにデータベースレベルの操作権限を付与します。

      PixPin_2025-11-24_16-42-08

    詳細については、「RAM ユーザー権限付与のクイックスタート」をご参照ください。

ステップ 2:アカウント B のユーザー情報を使用したアカウント A でのデータソースの作成

  1. データソースページに移動します。

    1. DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、その他 > 管理センターを選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、管理センターへ移動 をクリックします。

    2. SettingCenter ページの左側のナビゲーションウィンドウで、データソース をクリックします。

  2. [データソースの追加] をクリックし、データソースタイプとして MaxCompute または Hologres を選択します。

  3. データソース設定ページで、次の主要なパラメーターを設定します。

    • [Alibaba Cloud アカウント]:[他の Alibaba Cloud アカウント] を選択します。

    • [リージョン]:MaxCompute プロジェクトまたは Hologres インスタンスが存在するリージョンを選択します。

    • [他の Alibaba Cloud アカウントの UID]Alibaba Cloud アカウント B の UID を入力します。

    • [他の MaxCompute プロジェクト]/[Hologres インスタンス]:Alibaba Cloud アカウント B の宛先リソースの名前または ID を入力します。

    • [他の RAM ロール]:Alibaba Cloud アカウント B で作成した RAM ロールの名前 (例:testRole) を入力します。

  4. リソースグループの接続性を設定します。

    必要に応じてリソースグループを選択し、接続性をテストします。ネットワーク接続の設定の詳細については、「異なる Alibaba Cloud アカウントに属するデータソースへの接続」をご参照ください。

    image.png

  5. [作成を完了] をクリックして、アカウント間のデータソースを作成します。

次のステップ

データソースを作成した後、次の操作を実行できます。

  • Data Integration を使用して、このデータソースからデータを同期します。詳細については、「Data Integration」をご参照ください。

  • データマップでデータソースの詳細を表示します。詳細については、「データマップ」をご参照ください。