Data Management (DMS) では、リソースは Alibaba Cloud アカウント間で分離されています。別のアカウントの DMS テナントのリソースにアクセスしたり、インスタンスを登録したりするには、クロスアカウント操作が必要です。本トピックでは、Alibaba Cloud アカウント間でインスタンスを登録し、リソースにアクセスする方法を説明します。
Alibaba Cloud アカウント間でのインスタンスの登録
注意事項
クロスアカウントで登録できるのは、Alibaba Cloud インスタンスのみです。
クロスアカウントでインスタンスを登録する前に、リソース所有者は DMS に少なくとも 1 回ログインしている必要があります。
Alibaba Cloud International Website (alibabacloud.com) のアカウントでログインする場合、リソース所有者が DMS にログイン済みで、かつデータ処理リージョンが現在のアカウントのリージョンと一致していることを確認してください。現在のデータ処理リージョンは DMS コンソールで確認できます。
シンプルモード:右上隅のプロフィールアイコンをクリックし、[設定]を選択して、[データ処理リージョン]を確認します。
非簡易モード: 右上隅の歯車アイコンにカーソルを合わせ、[データ処理リージョン] を確認します。
権限の付与
クロスアカウントでインスタンスを登録する前に、RAM ユーザーに DMS リソースと登録対象のデータベースインスタンスタイプを管理する権限を付与してください。
Alibaba Cloud アカウント A が、Alibaba Cloud アカウント B のリソースをアカウント A の DMS テナントに登録する場合を想定します。アカウント B の RAM ユーザーは、RAM コンソールで次の手順を実行する必要があります。
リソース所有者の Alibaba Cloud アカウント B で、
AliyunRAMFullAccess権限を持つ RAM ユーザー を使用して、RAM コンソールにログインします。ロールページで RAM ロールを作成し、アカウント A の信頼ポリシーを設定します。次のいずれかの方法を使用します。
方法 1:ビジュアルエディター
[ロールの作成] ページで、[ポリシーエディターに切り替え] をクリックします。
[信頼されたエンティティの選択] で [Alibaba Cloud アカウント] を選択します。[ポリシーエディターに切り替え] ボタンは、ページ下部のプロンプトの右側にあります。
[ビジュアルエディター] タブで、[プリンシパル] をクラウドサービスに設定し、次のパラメーターを設定します。
[その他のアカウント] の下にあるテキストボックスに、アカウント A の UID を入力します。
[クラウドサービス] には、[データ管理/DMSEnterprise] を選択します。
[OK] をクリックします。
方法 2:スクリプトエディター
[ロールの作成] ページで、[ポリシーエディターに切り替える] をクリックします。
[スクリプトエディター] タブで、次のポリシーを入力します。
この信頼ポリシーにより、指定されたユーザーがクロスアカウントインスタンス登録のためにリソースを管理できるようになります。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<Alibaba Cloud アカウント A の UID>@dms.aliyuncs.com" ] } } ], "Version": "1" }[OK] をクリックします。
[ポリシー] ページで、カスタムポリシーを作成します。 たとえば、ポリシーに
DmsCrossAccountPolicyという名前を付けます。権限ポリシーでは、次のデータベースタイプとアクセス方法 (VPC) がサポートされています:Tair (Redis OSS-compatible)、PolarDB-X、OceanBase、ApsaraDB for Lindorm、Hologres、GDB、SelectDB、ClickHouse Enterprise Edition。
説明RDS、PolarDB for MySQL、PolarDB for PostgreSQL、PolarDB for PostgreSQL(Compatible with Oracle) の場合は、手順 3 と手順 4 をスキップして手順 5 に進んでください。
次のポリシー例では、VPC 経由でのデータベース登録が許可されます。
{ "Statement": [ { "Action": [ "vpc:DescribeVpcs" ], "Resource": "*", "Effect": "Allow" } ], "Version": "1" }[ロール] ページで、ステップ 2 で作成したロールに
DmsCrossAccountPolicyポリシーをアタッチします。詳細については、「RAM ロールの権限を管理する」をご参照ください。[ロール] ページで、ロール名をクリックし、ロール詳細ページから [ARN] をコピーします。
インスタンスの登録
ユーザー A がデータベースを登録する際に、ロール ARN を入力します。
[データベースの登録] ダイアログボックスの [基本情報] セクションで、[データベースタイプ] を MySQL に設定し、[インスタンスリージョン] を設定します。[クロスアカウント ARN] フィールドに、手順 5 でコピーした ARN を入力します。
Alibaba Cloud アカウント間でのインスタンスリソースへのアクセス
別の Alibaba Cloud アカウントの DMS テナントのインスタンスリソースにアクセスするには、次の手順を実行します。
前提条件
アクセス元 (ユーザー A) とリソース所有者 (ユーザー B) は、異なる Alibaba Cloud アカウントに属します。リソース所有者のアカウント (アカウント B) には、既存の DMS テナントが必要です。
アクセス元への権限の付与
リソース所有者の Alibaba Cloud アカウント B で、
AliyunRAMFullAccess権限を持つ RAM ユーザー を使用して、RAM コンソールにログインします。ロールページで、RAM ロールを作成します。
説明[その他のアカウント] フィールドに、アクセス元の Alibaba Cloud アカウント A の UID を入力します。
[信頼されたエンティティの選択] で [Alibaba Cloud アカウント] を選択し、[OK] をクリックします。
[ロール] ページで、ステップ 2 で作成したロールに
AliyunDMSLoginConsoleAccessポリシー (DMS コンソールにログインするための) をアタッチします。 詳細については、「RAM ロールの権限を管理する」をご参照ください。
DMS リソースへのアクセス
Alibaba Cloud アカウント A で、
AliyunSTSAssumeRoleAccess権限を持つ RAM ユーザー を使用して、Alibaba Cloud Management Console にログインします。右上隅でプロフィール画像をクリックし、ID を切り替えます。
リソース所有者の Alibaba Cloud アカウント B の UID と、作成したロール名を入力します。
[送信] をクリックします。
ID の切り替えが完了したら、Data Management DMS 5.0 に移動します。
説明DMS は自動的に一般ユーザーロールを割り当てます。インスタンスリソースに対する変更操作やエクスポート操作を実行するには、DMS で追加の権限を申請してください。