IAM Identity Center でユーザーを追加してみた
開発用のユーザーを追加しようとした際に、IAM Identity Center の存在を思い出したため、改めてその概要と利用方法について調査・確認を行った。
❌ 従来の IAM 運用の限界
従来の IAM ユーザーを用いた運用にはさまざまな制約があり、現在は IAM Identity Center による運用が推奨されている。
以下に、IAM 運用の課題と、Identity Center を利用することで得られるメリットを整理する。
1. アカウントごとにユーザーを作成・管理する必要がある
- AWSアカウントを
dev
、stg
、prd
といった環境で分離している場合、それぞれに同一ユーザーを個別作成・管理する必要がある - ポリシー設定やMFAの構成もアカウントごとに異なり、設定ミスや管理漏れが発生しやすい
✅ Identity Center を利用すれば、1ユーザー定義で複数アカウントへのアクセスを一元的に割り当て可能
2. 認証情報(アクセスキー)の長期保存がセキュリティリスク
- IAMユーザーではアクセスキーを発行・保持する必要があり、開発端末やCI/CD環境にキーが残るリスクがある
- 鍵のローテーション忘れや、退職者のキーが残り続けるケースも
✅ Identity Center では一時的なセッショントークンによるアクセスのため、キーが端末に残らず安全性が高い
3. 社内のID管理(Azure ADなど)と連携できない
- IAMユーザーは AWS 内部のみに存在するため、Azure AD や Okta などの社内ID基盤と統合できない
- 結果として、退職者のアクセス無効化やグループ単位での管理が困難
✅ Identity Center ならAzure AD 等と SSO / SCIM で連携可能。組織のID管理と統一運用ができる
4. オンボーディング/オフボーディングが手作業で煩雑
- IAMユーザーは手動作成・手動削除が前提で、ユーザーの増減やチーム変更に伴う運用負荷が高い
✅ Identity Center では、ユーザーがグループに所属するだけで必要なアクセス権限が自動反映されるため、運用ミスを防げる
5. アクセス制御の統一が難しい
- IAMユーザーごとに個別でポリシー設定を行っていると、誰がどのリソースにアクセスできるのか全体把握が難しい
- 過剰な権限付与が放置されるなど、セキュリティリスクにもつながる
✅ Identity Center では、「許可セット」を職種や業務単位で定義して、統一的かつ管理しやすい権限設定が可能
実際にユーザー追加してみた
今回は実験的に使用するため管理者用アカウント配下に開発者ユーザーを作成した。
以下にその時の手順を記載する。
1. IAM Identity Center へ遷移する
2. IAM Identity Center の有効化
IAM Identity Center 未使用の場合は以下のような画面が表示されるので「有効にする」をクリック。
IAM Identity Center の有効化を行う。
3. グループの作成
「グループを作成」をクリック。
各項目を入力して「グループを作成」をクリック。
作成成功すると一覧に表示される。
4. ユーザーを追加
「ユーザーを追加」をクリック。
ユーザーの詳細情報を入力して「次へ」をクリック。
作成するユーザーが所属するグループを選択して「次へ」をクリック。(今回は先ほど作成したDevelopers
グループに所属させる。)
入力内容を確認して「ユーザーを追加」をクリック。
ユーザー追加が成功すると一覧に表示される。
5. 許可セットを作成
「許可セットを作成」をクリック。
許可セットタイプを選択して「次へ」をクリック。(今回は開発者用のユーザーを追加するので、管理操作を除く、開発用のほぼ全機能を使える権限であるPowerUserAccess
の許可セットを作成する。)
許可セットの詳細を入力して「次へ」をクリック。
入力内容を確認して「次へ」をクリック。
許可セット作成が成功すると一覧に表示される。
6. アカウントへのグループ割り当て
ユーザーまたはグループを割り当てたいアカウントを選択して「ユーザーまたはグループを割り当て」をクリック。(今回は管理アカウントに開発者アカウントを直接割り当てるが、本来は開発用アカウントなどを作成してそれに紐づけるべきである。)
アカウントに割り当てるグループを選択して「次へ」をクリック。(ユーザーも割り当て可能だが、基本的にはユーザーをグループに所属させて、グループを割り当てるのが無難と思われる。)
割り当てたグループに割り当てる許可セットを選択して「次へ」をクリック。(割り当てるのはグループに対してだが、コンソールには許可セットを「Admin」に割り当て
と書かれている。これは一旦Admin
に許可セットを持たせ、そこからグループに割り当てているためだと解釈したが、有識者の方がいたら真意を教えてほしい...)
入力内容を確認して「送信」をクリック。
「送信」をクリックすると「このページから離れないでください」と出るのでしばらく待つ。
しばらく待つとAWSアカウントの一覧が表示されるので、Admin
をクリック。
Admin
に割り当てられたグループが一覧で確認できる。
以上で IAM Identity Center でユーザーの追加が完了した。
IAM Identity Center のユーザーでコンソールへアクセスしてみた
次は追加したユーザーでAWSコンソールへアクセスしてみた。
1. 招待メールの確認
IAM Identity Center ユーザーを追加した段階で次のような招待メールが送信されているので、Accept invitation
をクリック。
2. 新規ユーザーのサインアップ
サインアップ画面が表示されるので、パスワードを入力後「新しいパスワードを設定」をクリックしてサインアップする。
3. サインイン
サインアップ後にサインイン画面が表示されるので指示に従ってサインインを行う。
ユーザー名を入力。
パスワードを入力。
初回サインインの場合はMFAデバイスの登録を要求される。(今回は認証アプリを選択した。)
認証アプリの設定を行う。
認証完了画面。
するとサインイン画面に戻るので、再びサインインを行う。
ユーザー名とパスワードを入力すると、MFAコードの入力を求められるので入力してサインインを行う。
4. アクセスポータルからAWSコンソールへアクセス
サインインすると次のようなアクセスポータル画面が表示されるのでPowerUserAccess
(許可セットの名前)をクリックする。
クリックした許可セットが反映されているAWSコンソールが表示される。
まとめ
調査の結果 IAM Identity Center を活用することで、従来のIAMユーザー運用における煩雑さやセキュリティリスクを大幅に軽減し、ユーザー・権限管理の効率化と可視化を実現できることが確認できた。
また、試運用でポータル画面から目的のアカウントと許可セットを選択するだけで、該当権限を持つコンソールにすぐアクセスできる点が非常に便利と感じた。アクセス権を切り替える際もログアウトなどが不要で非常に楽。
今後の展望
今後はAzure Entra ID(旧 Azure AD)と連携したSSO構成も試してみる予定。社内IDとAWSのログインをまとめられると便利そうなので、そのあたりの連携も検証してみたい。
Discussion