Alibaba Cloud のマルチアカウントを使いこなす

Posted on 2020/11/22

ToC

マルチアカウントを使いこなす

私は、AWSだけでなく、Alibaba Cloudも利用しています。
複数のAlibabaアカウントを利用していることもあり、マネージメントコンソールでアカウントを切り替えて 利用できる Switch Identityの機能で少しだけ便利になりました。

AWSでも同様の機能があり、使ったことがあったので 公式ドキュメント の記載でも理解できましたが、 理解を深めるために改めて設定手順ベースで記載してみました。

Switch Identity とは…

Switch Identity は、複数のアカウントを利用している際に1つのRAMユーザー で複数のアカウントを 利用することが可能になる機能です。
個人レベルではあまり問題にならないかもしれませんが、会社などでは複数のプロジェクトが複数のAlibabaアカウントで構築されているようなことも多いかと思います。 Alibabaアカウントが5個、10個あると、Alibaba Cloudアカウント毎にRAMユーザーを作成して「ユーザー、パスワード」の管理が非常に煩雑(ある意味のカオス)になりがちです。
これを解決する機能が、Switch Identityになります。

今回は、わかりやすさのために今回は2つのAlibaba Cloudアカウントを利用します。

  • アカウントA (切替元)
    RAMユーザーを作成してユーザーIDとパスワードでログインするアカウントとします。
  • アカウントB (切替先)
    RAMロールを作成して Switch Identity して機能利用するアカウントとします。

なお、3つ以上のアカウントがある場合には、アカウントBと同様のアカウントが複数ある状況になります。(アカウントB’のような感じです)

/posts/2020/11/img/336f91b1_hue69181a4139b4c9960605ee3d182345a_36812_700x0_resize_lanczos_3.png

各アカウントへの設定の実施

切替元のアカウントA と 切替先 アカウントB のそれぞれで設定が必要になります。

アカウントA(切替元)への設定

まずは、アカウントAにログインして設定を行います。
アカウントAの設定は、RAMユーザーアカウントの設定をするだけなのであまり悩むことはないかと思います。 コンソールで実行するのであればRAM (Resource Access Management)から、Usersを選択して ユーザーの作成できます。
パスワード流出時のセキュリティ向上の観点でも、Alibaba Cloudでは、rootのユーザーで利用するよりも 各種のアプリケーション作成等ではRAMユーザーの利用が推奨されており、さらにセキュリティを強化する意味でも ワンタイムパスワードの設定を追加で行うのも良い施策だと思います。

/posts/2020/11/img/a14b8198_hu19fe73d81ca0e99e95d2c381581a4c40_82407_700x0_resize_lanczos_3.png

アカウントB(切替先)への設定

次にアカウントBにログインして設定を行います。
アカウントBには、アカウントAからのSwitch Identityを許可するRAMロールを作成します。 RAMのコンソールから、RAM Rolesを選択してRoleを作成します。 他のAlibaba CloudのRAMユーザーからのアクセスを引き受けるためのRoleになるため、Alibaba Cloud Accountを選択します。

/posts/2020/11/img/356a9111_hua485fedf24740404f2ddb6b92cf5e621_28847_700x0_resize_lanczos_3.png

次にRAM Roleの名前とアクセスを許可する Alibaba Account ID を指定します。 今回は、Alibaba Account IDにはアカウントAのIDを指定します。 なお、同一のアカウント内でも権限昇格する際にSwitch Identity の機能を使うことができますが、今回は省略します。

/posts/2020/11/img/6f5f46de_hub3c4aa9c082cf5190f3354fa28cd5067_44545_700x0_resize_lanczos_3.png

最後にRAMロールに割り当てる Permission を設定します。
作成した RAMロール を選択して、Add Permissionsから権限を付与してください。

/posts/2020/11/img/4c261efb_hu5962d04a292b536b10f4b383a139d5ce_77647_700x0_resize_lanczos_3.png

Switch Identityを実行

それでは早速、コンソールで Switch Identityを使ってみます。 まずは、アカウントA で作成した RAMユーザー でログインします。 コンソール画面右上のアカウント設定のアイコンをクリックして、Switch Identityを選択します。

/posts/2020/11/img/be7f336e_hu57fbbefd712014f08560e6594c22f015_36059_400x0_resize_lanczos_3.png

選択すると、Switch Role 画面に遷移します。
ここで アカウントB にて設定したRAM Roleの名前Alibaba Account IDを入力します。
入力内容は こちら が参考になります。

/posts/2020/11/img/e2407680_hu0b1d6edf8258e50e31179ea5a5972a79_20582_700x0_resize_lanczos_3.png
  • Enterprise Alias / Default Domain Name
    アカウントBのID.onaliyun.com と入力
  • Role Name
    RAM Roleの名前 を入力 (あくまで ARN:Alibaba Resource Nameではないので注意)

あとは、Switch ボタンをクリックすることで アカウントB のコンソールに遷移します。
これで1つのRAMユーザーで複数のAlibabaアカウントを管理することができます。

One more thing.

この Switch Role 画面でパラメーターを都度入力するのは、結構手間がかかります。
そこで、私はアカウントAにログインした状態でSwitchできるリンクを作成していたりします。

下記のような形式でアクセスすることで、Switch Role 画面をスキップしてSwitch Identityが可能になります。

アクセスリンク
https://signin-intl.aliyun.com/switchRole.htm?parentAlias=[アカウントID].onaliyun.com&roleName=[RamRole名]

地味ではありますが、かなり便利なのでどうぞご利用ください。

参照