はじめに
AWS環境でprod,stg,devアカウントをスイッチして切り替えていますか?
筆者の職場では、IAMロールのスイッチロールで環境を切り替えています。
AWSに足を踏み入れたばかりの身ですが、環境の切り替えはこうやってやるんだ〜!と感心していました。
学習を進めていく中で、IAM Identity Centerというサービスを知りました。
サービスを知って感じたことは 内部組織でAWS環境を利用する場合、スイッチロールよりもIAM Identity Centerを使った方がアカウント運用は楽になるのでは? ということです。
なぜ楽になると感じたのか、スイッチロールとの違いで学んだことをまとめます。
IAM Identity Centerとは?
こちらの記事より引用
AWS IAM Identity Centerは、複数のAWSアカウントやアプリケーションへのアクセスを1箇所で一元管理し、シングルサインオン(SSO)を提供するサービスです。
IAMユーザー、IAMロール、IAM Identity Centerのちがい
| IAMユーザー | IAMロール | IAM Identity Center | |
|---|---|---|---|
| ID/PW | 環境毎に必要 | 1つでOK | 1つでOK |
| ユーザー追加 | 各環境での操作要 | 各環境にロール必要 | 1箇所で設定 |
| 管理場所 | バラバラ | バラバラ | 1箇所 |
| SSO | × | △ | ○ |
IAMユーザーを使う場合
- ID/PW
- 各環境(アカウント)にそれぞれアクセス可能なユーザーが必要
- e.x)本番(prd)と開発環境(stg,dev)がある場合、3アカウントそれぞれにIAMユーザー(ID,PW)の作成が必要
- ユーザー追加
- 各環境(アカウント)にアクセスし、環境毎での追加が必要
- AWS利用ユーザーを追加するたびに各環境で操作が必要になります
- 管理場所
- 各環境(アカウント)にアクセスして管理が必要
- e.x) 3環境など環境が少ない場合は運用可能ですが、10~20と環境が増えると管理がカオスになります
- SSO
- ×
- e.x)prod環境をサインアウト、stg環境のIDとpwでログインなどの操作が発生する
IAMロールを使う場合
- ID/PW
- 1ユーザーにつき、1つのID PWで複数アカウントを管理できる
- ユーザー追加
- 各環境のロールにユーザーを割り当てる
- 管理場所
- 各環境(アカウント)毎に権限ロールを作成、管理
- SSO
- △(ログインし直し不要だがSSOではない)
IAM Identity Centerを使う場合
- ID/PW
- 1ユーザーにつき、1つのID PWで複数アカウントを管理できる
- ユーザー追加
- IAM Identity Centerのユーザー追加欄で追加するのみでOK!
- 管理場所
- IAM Identity Center1箇所で各環境の管理が可能
- 許可セットをユーザーに割り当てるだけでOK
許可セットとは
- 環境(アカウント)ごとにどんな操作ができるかを設定する権限のセット
- 許可セットをユーザーに割り当てることで、その環境(アカウント)にSSOログイン、操作できるようになる
SSO
- ⚪︎(1度ログインすればAWSアクセスポータルから他環境へアクセスできる)
なぜIAM Identity Centerの方がいいと感じたか
- IAM Identity Centerのサービス一つで複数環境(アカウント)、ユーザーを一元管理することができるため
- スイッチロールも便利ですが、ロールをアカウント毎に作る、ユーザーを環境毎に割り当てる操作が必要
おわりに
Identity Centerを学んだときはスイッチロールより楽だ!と思いましたが、
自分の立場を考えると、お客さまのAWS環境にアクセスしています。
Identity Centerはひとつの組織(AWS Organizations)の中でユーザーを管理するサービスです。
お客さまのOrganizationsに外部の自分は所属できないため、スイッチロールで運用するのは理にかなっていました。
各サービスの違い、使い分けを理解すると普段何気なく使っているツールもどうしてこの運用なのかがわかりました!
参考文献