本ドキュメントでは、特定シナリオでRAMロールを通じてクロスアカウントのリソースへのアクセス管理について説明します。

シナリオ

AとBはそれぞれ違う企業(チームまたはプロジェクト)を代表します。 Aは業務用で複数のクラウドリソース (ECS インスタンス、RDS インスタンス、SLBインスタンス、 OSS バケットなど) を購入したとします。

  • Aは業務システムに専念するために、クラウドリソースのO&M、モニタリングの管理をBに任せ、権限を付与しました。
  • Bは、O&Mタスクをその従業員に委任します。 Bは、Aのクラウドリソースを操作する従業員の権限に対して細かく制御できます。
  • AとBはO&Mの委任契約を打ち切った場合、Aは、Bの権限を必要に応じて取り消すことができます。

要求分析

前述のシナリオに対する分析は次の通りです:

  • AlibabaクラウドアカウントAとBの間の権限付与。アカウント A はリソースオーナーで、そのリソースの操作権限を B に付与しようと考えています。
  • アカウント B は、そのサブユーザー (従業員またはアプリケーション) に権限を割り当てる必要があります。 Bの従業員は入社または退社しても、Aは権限を変更する必要はありません。
  • AとBの間の協力関係が解消された場合、Aは、Bの権限を必要に応じて取り消すことができます。

ソリューション

上記の各要求に応えて、RAMロールを通じてクロスアカウントへの権限付与及びリソースへのアクセス

  • AはRAMでロールを作成し、適切な権限を付与します。そしてBにロールの使用を許可します。 操作手順は、クロスアカウントの権限付与を参照してください。
  • Bの従業員(RAMユーザー)はこのロールを使用する場合、Bは自主的に権限付与の管理を行えます。 O&M操作の実行時、BのRAMユーザーは 付与されたロールとしてAのリソースを操作できます。操作手順は、クロスアカウントリソースへのアクセスを参照してください。
  • AとBはO&Mの委任契約を打ち切った場合、Aは、Bのロールの使用権限を取り消すだけでよいです Bのロールの使用権限が取り消された場合、 すべてのBのRAMユーザーはこのロールを使用できなくなります。 操作手順は、クロスアカウント権限の取り消しを参照してください。

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

次の図は、RAMロールを通じてクロスアカウントに対する権限付与の方法を示しています。 A(アカウントID=11223344、エイリアス:company-a)がB(アカウントID=12345678、エイリアス:company-b) の従業員に ECS の操作権限を付与する必要があるとします。

図 1. 操作手順は


次の通りです:

  1. Aがユーザーロール(ロール名はecs-adminとします)を作成し、その他Alibabaクラウドアカウント (アカウントB:12345678) を信用できるアカウントにしました。BのRAMユーザーはこのロールの使用を許可されています。 操作手順は、RAM ロールを参照してください。

    ロールの作成後、Aはロール詳細ページでロール情報を取得できます。

    • この例では、ロールのグローバル名ARN は:
      acs:ram::11223344:role/ecs-admin
    • ロールのポリシー(Bにのみこのロールを使用できます) は次の通りです:
      
      "Statement": [
      
       "Action": "sts:AssumeRole",
       "Effect": "Allow",
       "Principal": {
         "RAM": [
           "acs:ram::12345678:root"
      
       }
      
      
      "Version": "1"
      							
  2. Aはロールecs-adminに権限の付与(AliyunECSFullAccess)を追加しました。
  3. Bはその従業員(ユーザー名はzhangsanとします)のためにRAMユーザーを作成し、
    • ログインパスワードを設定しました。 (ログインパスワードは123456とします)。 つまりRAMユーザーはコンソールにログイン可能になりました。
    • さらに、STS AssumeRoleインターフェースの権限(AliyunSTSAssumeRoleAccess)が呼び出されています。 つまり、RAMユーザーzhangsanに ロールの使用や、ロールの切り替えを許可されています。

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

BのRAMユーザーzhangsanはコンソールを通じてAのECSリソースにアクセスします。 操作手順は次の通りです:

  1. BのRAMユーザー(zhangsan)はコンソールにログインします

    RAMユーザーはログイン時、エンタープライズ別名(company-b)、RAMユーザー名 (zhangsan)、 及びRAMユーザーパスワード (123456)を正確に入力する必要があります。

  2. BのRAMユーザー(zhangsan)ロールの切り替えを行います。

    コンソールの右上にあるユーザーアイコンにマウスの矢印を移動し、そのメニューからスイッチIDをクリックし、ロール変更ページを開きます。 エンタープライズ別名 (company-a)、ロール名(ecs-admin)を正確に入力して、 ロールをスイッチします。

  3. BのRAMユーザー(zhangsan)はAのECSリソースを操作します。

クロスアカウント権限の取り消し

Aは、Bのロールecs-adminの使用を取り消します。 操作手順は次の通りです:

  1. AはRAMコンソールにログインし、ロール管理ページでロールecs-adminを検索し、 ロール名、或いは管理をクリックし、ロールの詳細 ページを開きます。
  2. 右上の基本情報の編集をクリックします。 ダイアログボックスで、ポリシーの内容からacs:ram::12345678:rootを削除します。 (これでBは ロールの信用できるクラウドアカウントから削除されました。)
    また、Aは ロール管理ページから、ロールecs-adminを削除することも可能です。 削除する前に、ロールに許可ポリシーがないか確認してください。