💯

AWSのルートOUと子OUへのアクセス制御をIAM Identity Centerで一元管理

2024/11/16に公開

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