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

Tablestore:クロスアカウント認可

最終更新日:Jun 21, 2026

このトピックでは、異なる Alibaba Cloud アカウント間で Tablestore と MaxCompute を接続する方法について説明します。

前提条件

クロスアカウントアクセスには、2 つの Alibaba Cloud アカウントが必要です。このガイドでは、アカウント A がアカウント B にアクセス権限を付与します。これにより、アカウント B は MaxCompute を使用してアカウント A の Tablestore データにアクセスできるようになります。基本的なアカウント情報は次のとおりです。

説明

これらの値は、実際の情報に置き換えてください。

項目

Tablestore

MaxCompute

Alibaba Cloud アカウント名

アカウント A

アカウント B

UID

1234567890****

5678901234****

MaxCompute を使用して Tablestore にクロスアカウントでアクセスする前に、次のタスクを完了してください。

  • MaxCompute 製品詳細ページで、アカウント B の MaxCompute をアクティブ化し、ワークスペースを作成します。詳細については、「ワークスペースの作成」をご参照ください。

  • アカウント A とアカウント B のアクセスキーペアを取得します。詳細については、「アクセスキーペアの取得」をご参照ください。

  • アカウント A で、信頼できる Alibaba Cloud アカウント 用の Resource Access Management (RAM) ロールを作成し、その信頼ポリシーを設定します。詳細については、「Alibaba Cloud アカウント用の RAM ロールの作成」および「RAM ロールの信頼ポリシーの変更」をご参照ください。

    説明

    ポリシーでは、5678901234**** はアカウント B の UID です。

    この例では、RAM ロールの名前は aliyunodpsroleforotheruser です。次のサンプル信頼ポリシーでは、アカウント B の MaxCompute サービスがこの RAM ロールを引き受けることを許可しています。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "5678901234****@odps.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
                            
  • アカウント A の aliyunodpsroleforotheruser RAM ロールの ARN を記録します。例: acs:ram::1234567890****:role/aliyunodpsroleforotheruser。このロール ARN は、外部テーブルの作成時に必要です。ロールの作成後、RAM ロールの詳細ページの [基本情報] セクションから ARN をコピーします。ARN の形式は acs:ram::UID_of_Account_A:role/aliyunodpsroleforotheruser です。

  • カスタム権限ポリシーを作成し、アカウント A の aliyunodpsroleforotheruser RAM ロールにアタッチします。詳細については、「カスタムポリシーの作成」および「RAM ロールの権限の管理」をご参照ください。

    次のサンプル権限ポリシーでは、中国 (杭州) リージョンの cap1 という名前の Tablestore インスタンスとそのすべてのデータテーブルに対する読み取りおよび書き込み権限を RAM ロールに付与します。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ots:*",
          "Resource": [
          "acs:ots:cn-hangzhou:1234567890****:instance/cap1",
          "acs:ots:cn-hangzhou:1234567890****:instance/cap1/table/*"
          ],
          "Condition": {}
        }
      ]
    }

    カスタム権限の詳細については、「カスタム RAM ポリシー」をご参照ください。

  • Tablestore コンソールで、インスタンスとデータテーブルを作成します。詳細については、「インスタンスの作成」および「データテーブルの作成」をご参照ください。

    この例では、Tablestore インスタンスとデータテーブルは次の設定を使用します。

    • インスタンス名: cap1

    • データテーブル名: vehicle_track

    • プライマリキー: vid (整数)、gt (整数)

    • エンドポイント: https://cap1.cn-hangzhou.ots-internal.aliyuncs.com

      説明

      MaxCompute からアクセスする場合は、Tablestore インスタンスのプライベートエンドポイントを使用してください。

    • インスタンスのネットワークタイプを任意のネットワークからのアクセスを許可に設定してください。

MaxCompute による Tablestore へのアクセス

クロスアカウントアクセスの手順は同一アカウントアクセスと似ていますが、外部テーブルの作成時にロール ARN を指定する必要があります。

アカウント B は MaxCompute を使用して外部テーブルを作成し、「前提条件」セクションのロール ARN を指定して Tablestore にアクセスします。

CREATE EXTERNAL TABLE ads_log_ots_pt_external
(
vid bigint,
gt bigint,
longitude double,
latitude double,
distance double,
speed double,
oil_consumption double
)
STORED BY 'com.aliyun.odps.TableStoreStorageHandler'
WITH SERDEPROPERTIES (
'tablestore.columns.mapping'=':vid, :gt, longitude, latitude, distance, speed, oil_consumption',
'tablestore.table.name'='vehicle_track',
'odps.properties.rolearn'='acs:ram::1234567890****:role/aliyunodpsroleforotheruser'
)
LOCATION 'tablestore://cap1.cn-hangzhou.ots-internal.aliyuncs.com'
USING 'odps-udf-example.jar'