現在の Alibaba Cloud アカウントを使用して、別の Alibaba Cloud アカウントに属する MaxCompute や Hologres などのデータソースのデータに対する操作やアクセスを実行する場合、現在の Alibaba Cloud アカウント内の DataWorks ワークスペースにそのデータソースを追加する必要があります。これにより、Alibaba Cloud アカウント間でデータにアクセスできます。
注意事項
アカウントをまたいで追加されたデータソースは、データ開発やタスクスケジューリングには使用できません。このようなデータソースを使用してデータ開発操作を実行する場合は、現在の Alibaba Cloud アカウント内の DataWorks ワークスペースにそのデータソースを追加する必要があります。詳細については、「MaxCompute 計算資源のバインド」および「Hologres 計算資源のアタッチ」をご参照ください。
アカウントをまたいで MaxCompute または Hologres データソースを追加する場合、関連する MaxCompute プロジェクトまたは Hologres インスタンスにアクセスするには、RAM ロールのみを使用できます。
このトピックで説明する手順は、アカウントをまたいで MaxCompute または Hologres データソースを追加する場合にのみ適しています。このトピックでは、MaxCompute データソースを使用して関連する操作を説明します。アカウントをまたいで Hologres データソースを追加するために必要な操作は、アカウントをまたいで MaxCompute データソースを追加するために必要な操作と似ています。
前提条件
このトピックでは、アカウントをまたいで MaxCompute データソースを追加する方法について説明します。この例では、Alibaba Cloud アカウント B 内の xc_project_20 という名前の MaxCompute プロジェクトを Alibaba Cloud アカウント A のデータソースとして追加し、Alibaba Cloud アカウント A が Alibaba Cloud アカウント B 内の MaxCompute プロジェクトのデータにアクセスできるようにします。
Alibaba Cloud アカウント A と Alibaba Cloud アカウント B が作成されていること。詳細については、「Alibaba Cloud アカウントの作成」をご参照ください。
Alibaba Cloud アカウント A: アカウントをまたいでデータソースを追加するために使用されるアカウント。これは、Alibaba Cloud アカウント A が Alibaba Cloud アカウント B のユーザー情報を使用して、アカウントをまたいでデータソースを追加することを示します。
Alibaba Cloud アカウント B: アカウント間のデータソース追加のための情報提供者。これは、Alibaba Cloud アカウント B が Alibaba Cloud アカウント A にユーザー情報を提供し、Alibaba Cloud アカウント A がアカウントをまたいでデータソースを追加できるようにすることを示します。
データソースを追加する基になる MaxCompute プロジェクトが Alibaba Cloud アカウント B 内に作成されていること。MaxCompute プロジェクトの作成方法の詳細については、「MaxCompute プロジェクトの作成」をご参照ください。この例では、xc_project_20 という名前の MaxCompute プロジェクトを使用します。
Alibaba Cloud アカウント B: RAM ロールを作成し、Alibaba Cloud アカウント A からのアクセスを許可する
RAM ロールを作成します。
Alibaba Cloud アカウント B で RAM コンソールにログインします。RAM ロールを作成し、Alibaba Cloud アカウント A をその RAM ロールの信頼できるアカウントとして追加します。これにより、Alibaba Cloud アカウント A はそのロールを偽装して、RAM ロールに権限が付与されているリソースにアクセスできます。RAM ロールの作成方法の詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」をご参照ください。
説明作成された RAM ロールは、Alibaba Cloud アカウント A が Alibaba Cloud アカウント B 内でアクティブ化された DataWorks にアクセスするために偽装できます。作成された RAM ロールを Alibaba Cloud アカウント A が Alibaba Cloud アカウント A 内でアクティブ化された DataWorks にアクセスするために使用する必要がある場合、RAM ロールにアタッチされたポリシーを再定義する必要があります。詳細については、「RAM ロールのポリシーを定義する」をご参照ください。

RAM ロールの構成例:
RAM ロール名パラメーターを McRole に設定します。
信頼できる Alibaba Cloud アカウントの選択パラメーターを他の Alibaba Cloud アカウントに設定し、表示されるフィールドに Alibaba Cloud アカウント A の ID を入力します。Alibaba Cloud アカウント A で RAM コンソールにログインし、上部のナビゲーションバーのプロファイル画像にポインターを合わせると、Alibaba Cloud アカウント A の ID を取得できます。
構成が完了すると、Alibaba Cloud アカウント A は [McRole] ロールを偽装し、そのロールに権限が付与されているリソースにアクセスできます。
RAM ロールの信頼ポリシーを変更します。
[McRole] ロールの詳細ページに移動し、その信頼ポリシーを変更して、Alibaba Cloud アカウント A が Alibaba Cloud アカウント B 内の DataWorks にアクセスすることを承認します。RAM ロールの信頼ポリシーの変更方法の詳細については、「RAM ロールの信頼ポリシーを編集する」をご参照ください。以下のコードは、信頼ポリシーのドキュメントを示しています:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "Alibaba Cloud アカウント A の ID@engine.dataworks.aliyuncs.com" ] } } ], "Version": "1" }
Alibaba Cloud アカウント B: RAM ロールを MaxCompute プロジェクトに追加する
Alibaba Cloud アカウント B を使用して MaxCompute プロジェクトにアクセスします。
MaxCompute コンソールの SQL 分析機能を使用して、MaxCompute プロジェクトにすばやくアクセスできます。
他の接続ツールの詳細については、「接続ツールの選択」をご参照ください。
RAM ロールを MaxCompute プロジェクトに追加します。
前のセクションのステップ 1 で作成した McRole ロールを MaxCompute プロジェクトに追加します。SQL 文の例:
-- RAM ロールを MaxCompute プロジェクトに追加します。 add user `RAM$<accout_name>:role/<RAM role name>`; -- ワークスペース内のすべてのユーザーを表示します。 list users; -- RAM ロールに付与された権限を表示します。 show grants for `RAM$<accout_name>:role/<RAM role name>`;パラメーターの説明:
<accout_name>: Alibaba Cloud アカウント B の名前に置き換えます。
<RAM role name>: McRole に置き換えます。
ビジネス要件に基づいて RAM ロールに権限を付与します。RAM ロールに権限を付与する方法の詳細については、「権限付与操作」をご参照ください。
説明ワークスペース A でアカウントをまたいで追加するデータソースの使用シナリオに基づいて、事前に RAM ロールに権限を付与できます。たとえば、ワークスペース A からワークスペース B のデータソースのテーブルをクエリする場合は、データソースに構成されている RAM ロールがテーブルに対する SELECT 権限を持っていることを確認してください。
Alibaba Cloud アカウント A: Alibaba Cloud アカウント B のユーザー情報を使用してデータソースを追加する
Alibaba Cloud アカウント A で DataWorks コンソールにログインし、Alibaba Cloud アカウント B のユーザー情報を使用して MaxCompute データソースを追加する必要があります。以下の操作を実行する前に、Alibaba Cloud アカウント B の ID を取得する必要があります。
データソースページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターへ移動] をクリックします。
SettingCenter ページの左側のナビゲーションウィンドウで、[データソース] をクリックします。
データソースページで、[データソースの追加] をクリックします。データソースの追加ダイアログボックスで、[MaxCompute] を選択して MaxCompute データソースを追加します。
データソースに関する情報を構成します。
データソースの基本情報を構成します。
プロンプトに従って、次の図に示す情報を構成します。標準モードのワークスペースを使用する場合、開発環境と本番環境で個別にデータソースを追加する必要があります。ワークスペースモードの詳細については、「ワークスペースモードの違い」をご参照ください。

主要なパラメーターの構成説明:
Alibaba Cloud アカウントの UID: 値を別の Alibaba Cloud アカウントの ID に設定します。この例では、値を Alibaba Cloud アカウント B の ID に設定します。事前に Alibaba Cloud アカウント B の ID を取得する必要があります。
RAM ロール: 値を、Alibaba Cloud アカウント A が Alibaba Cloud アカウント B のリソースにアクセスするために偽装できる RAM ロールに設定します。この例では、値を McRole に設定します。
MaxCompute プロジェクト名: Alibaba Cloud アカウント A が Alibaba Cloud アカウント B のユーザー情報を使用してアカウントをまたいでデータソースを追加する基になる MaxCompute プロジェクトに値を設定します。この例では、MaxCompute プロジェクト xc_project_20 を使用します。
MaxCompute データソースの追加方法の詳細については、「MaxCompute 計算資源のバインド」をご参照ください。
リソースグループとデータソース間のネットワーク接続を確立します。
接続構成セクションで、ビジネス要件に基づいてリソースグループを見つけ、接続ステータス (本番環境) 列のネットワーク接続性のテストをクリックして、リソースグループとデータソース間の接続性をテストします。リソースグループの詳細については、「概要」をご参照ください。
[作成を完了] をクリックします。
次のステップ
データソースが追加された後、次の操作を実行できます:
データソースを使用して同期タスクを作成し、データを同期します。詳細については、「Data Integration の概要」をご参照ください。
オペレーションセンターとデータマップに移動して、データソースの詳細を表示します。詳細については、「オペレーションセンターの概要」および「データマップの概要」をご参照ください。