コンソールでのIAMロールによるIAMロールへのアクセス許可(ロールの連鎖)

 やりたかったこと

ロールへのアクセス許可をグループでできなかったので、

踏み台ロールを作り別アカウントのロールへの切り替えをその踏み台を許可することで実現したかった。

後々知ったがこれをロールの連鎖というらしい。

先に結果

IAM ロールを使用する

ロールの連鎖を行えるのは、API、CLIの認証時のみでAWS マネジメントコンソールの場合には使用できない。

2回目のロールの切り替えを行うと1回目のロールの情報が失われ権限がない状態になり切り替えできない。

実験

環境AにロールAを設定。とりあえず、環境AのAdmin権限を付与。信頼関係をユーザーAのみにして、IP制限をかけておいた。

環境Bにはクロスアカウントのため、環境BのAdmin権限を付与。環境AのロールAのみ信頼関係を結んでおいた。

これにより、環境Aの複数のユーザーをロールAに切り替えればBに切り替えが可能、Bのリソースの操作が可能になる。

何がしたいかというと、元のままだと環境Aに新規ユーザーを追加した時にロールBへの信頼関係をわざわざ追加するのが面倒だったのだ。

グループへの許可で実装しようと思ったのだが、PrincipalにIAM Groupは指定できないため、実現が無理だったのでこの方法で行おうと思った。

結果。

Could not switch roles using the provided information. Please check your settings and try again. If you continue to have problems, contact your administrator.

切り替え不可。

ロールAからBに行く時には、一度ロールAの権限が外されるため、踏み台にならないっぽい。

IAM ロールを使用する

切り替えるためにはロールにロールを請け負わせる必要があるのだが、コンソールの場合にはできないのだ。