AWSのルートOUと子OUへのアクセス制御をIAM Identity Centerで一元管理
IAM Identity Centerを活用したOUアクセスの効率化手法
OUごとに作成が必要なIAMユーザーを廃止(=比較的長時間ローカルに残るアクセスキーとアクセスシークレットを廃止)してとルートOUのIAM Identity Centerで作成した1つユーザーでアクセスできるOUをルートOU、子OU含め複数制御できる
前提
OUとAWSアカウントの階層構造を作るところは今までと同じ
このあとSwitchRole用のIAMロールを作って子OUのOrganizationAccountAccessRoleとしてSwichRoleするのが今までのやり方だったが今後は親OUにSwitchRole用のIAMロールも必要ない
1. IAM Identity Centerを有効化
現時点では1つのリージョンでしか有効化できないのでリージョン間違えないように注意
2. ユーザーグループ作成
基本的にOU x Permission sets(Admin権限なのか開発者権限なのかetc.)数のユーザーグループを作って、どのOUにどの権限でアクセスを許可するかをユーザーグループ単位で管理するのが良さそう
root-ou-admin-group
child1-ou-admin-group
child1-ou-developer-group
など
ルートOUで開発をすることはないのでroot-ou-developer-groupは作らない
3. IAM Identity Centerでユーザーを新規作成
メールアドレスを入れて作成
mfaは自動で強制になってたはず
該当のユーザーグループにアタッチ
4. Permission setsの作成
最初はカスタマイズそんなにいらない
adminとdeveloper用の雛形があるのでそれを選んでそれぞれ作る
5. AWSアカウント、ユーザーグループ、Permission setsの紐付け
AWSアカウント、ユーザーグループ、Permission setsの紐付けを行う
AWS Organizationと同じ階層がIAM Identity Centerで見られるので、1つのAWSアカウントにつき x Permisson sets分だけユーザーグループの紐付けを行う
6. メールに届いたアクセスポイントから各OUにユーザーグループごとのPermission setsでアクセスできることを確認
ユーザーグループにアタッチした数(=AWSアカウント x Permission sets)だけポータルに表示があり、かつPermission setsを選んでAWSコンソールにログインできることを確認
7. AWS CLIでSSOログイン
アクセスキー、アクセスシークレットを発行しなくてもcliでssoログインして一時的なクレデンシャルを取得できる
aws configure sso
以下から取得する設定値を入力
s3とかlsしてみて確認
aws s3 ls --profile default
以上
Discussion