本ページでは、RAM ロールを使用してクロスアカウントリソースの権限付与とアクセスを実行する方法について説明します。

シナリオ

アカウント A とアカウント B は、 2 つの異なる企業 (企業 A と企業 B) を表します。 企業 A は、ビジネスをサポートするためさまざまなクラウドリソース (ECS インスタンス、RDS インスタンス、SLB インスタンス、OSS バケットなど) を購入しました。

要件分析

  • アカウント A はリソースの所有者であり、アカウント A のリソースに対して操作を実行させるために、適切な権限をアカウント B に付与する必要があります。
  • さらにアカウント B は、RAM ユーザー (従業員またはアプリケーション) に権限を付与する必要があります。 アカウント B の従業員が企業 B に入社または退職する時に、アカウント A は権限を変更する必要がありません。
  • 企業 A または企業 B が契約を終了した場合、アカウント A はいつでもアカウント B の権限を削除することができます。

ソリューション

クロスアカウントの権限付与とリソースアクセスを実行するには、RAM ロールを使用します。

クロスアカウント権限付与

次の図に、RAM ロールを使用してクロスアカウント権限付与を実現する方法を示します。 この例では、企業 A (アカウント ID は11223344、アカウントエイリアスは company-a) は、企業 B の従業員 (アカウント ID は 12345678、アカウントエイリアスは company-b) に ECS 操作権限を付与する必要があります。
図 1. RAM ロールを使用してクロスロール権限付与を実現
  1. 企業 A は RAM ロール (ロールの名前は ecs-admin) を作成し、信頼できるエンティティとして [その他の Alibaba Cloud アカウント] (アカウント ID は 12345678) を選択します。

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

    ロールを作成後、アカウント A は [基本情報] ページ上のロール情報を閲覧できます。

    • この例では、ロールの Alibaba Cloud リソース名 (ARN) は以下のとおりです。
      acs:ram::11223344:role/ecs-admin
    • ロール内の信頼ポリシー (アカウント B の RAM ユーザーのみ引き受け可能) は、以下のとおりです。
      {
      "Statement": [
      {
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "RAM": [
           "acs:ram::12345678:root"
         ]
       }
      }
      ],
      "Version": "1"
      }
  2. アカウント A は AliyunECSFullAccess ポリシーをロール ecs-admin に添付します。

    詳細は、RAM での権限付与をご参照ください。

  3. アカウント B は、その従業員の RAM ユーザー (RAM ユーザーの名前は Alice) を作成し、その RAM ユーザーのログインパスワードを設定し、その RAM ユーザーに STS AssumeRole API を呼び出す AliyunSTSAssumeRoleAccess システムポリシーを添付します。

クロスアカウントリソースアクセス

アカウント B の RAM ユーザー Alice がアカウント A の ECS リソースに (Alibaba Cloud コンソールを介して) アクセスできるようにするには、以下のステップを実行します。

  1. RAM コンソールにログインします。

    ログイン時に、アカウントエイリアス company-b、RAM ユーザー名 Alice、およびパスワード 123456 を入力します。

  2. ポインタをアカウントアイコンの上に移動し、[ロールの切り替え] をクリックします。

    表示されたページで、[エンタープライズエイリアス/デフォルトドメイン名] に company-a、[ロール名] に ecs-admin と入力します。

上記の操作を完了すると、RAM ユーザー Alice はアカウント A の ECS リソースに対して操作を実行できるようになります。

クロスアカウント権限の削除

アカウント A がアカウント B からロール ecs-admin を使用する権限を削除する手順は以下のとおりです。

  1. RAM コンソールにログインして [RAM ロール]、ecs-admin のロール名をクリックします。
  2. [信頼ポリシー管理] タブをクリックして acs:ram::12345678:root を削除します。
    またアカウント A は、[RAM ロール] ページ上で ecs-admin ロールを削除することでアカウント B の ecs-admin ロールを使用する権限も削除できます。 ただし、ロールにポリシーが添付されているとロールを削除することはできません。