IAM Identity Center で AWS アカウントにコンソールログインするまでの流れをまとめます。
複数の AWS アカウントでの利用を前提として、AWS Organizations も有効化します。
永続アクセスキーを発行する運用からの脱却を目指して、フェデレーションベースでアカウントへアクセスするために IAM Identity Center を利用します。
1. 用語
設定の前に以下の用語を押さえておきます。
AWS Organizations
AWS Organizations は、複数 AWS アカウントを一元管理するサービスです。
アカウント作成、リソース割り当て、アカウントのグループ化、ガバナンスポリシーの一括適用、請求の簡素化が可能になります。
AWS Organizations によって複数アカウントをひとつの管理単位にまとめることで、IAM Identity Center が各アカウントへロールを自動配布できるようになります。
AWS IAM Identity Center
IAM Identity Center は、フェデレーションを前提としたアクセス管理のためのサービスです。
ユーザーが AWS コンソールや AWS CLI、さらには AWS 上で動作する各種アプリケーション (Kiro など) へのログインに利用できます。
今回は AWS アカウントへの接続を行います。
ユーザー
IAM Identity Center を利用する主体です。
Identity Center のディレクトリ内で一意となるユーザー名とメールアドレスが必要です。
IAM ユーザーとは異なるリソースです。
グループ
ユーザーの集合体です。
権限管理 (アカウントと許可セットへの紐付け) はユーザー単位ではなく、グループ単位での設定が推奨されています。
IAM グループとは異なるリソースです。
許可セット
IAM Identity Center の許可セットでは、AWS アカウントに対するアクセスレベルを定義します。
AdministratorAccess や ReadOnlyAccess のように、ユーザーが AWS アカウントにログインする時に持つ権限となります。
どのユーザーがどの AWS アカウントにログインする際に、どの許可セットを使用できるかを制御することができます。
AWS アクセスポータル
IAM Identity Center の仕組みを利用して AWS アカウント や AWS アプリケーションに接続するためのポータルサイトです。
ユーザーは一度サインインすると、承認されたすべてのリソースにアクセスすることができます。
2. セットアップの流れ
AWS アクセスポータル から AWS コンソールにログインできる状態を目指して設定していきます。
複数アカウントの運用を想定し、AWS Organizations も利用します。
管理アカウントとメンバーアカウントの構成になります。
2-1. AWS Organizations を有効化する
管理アカウントで組織を作成します。
組織が作成され、対象アカウントが組織の管理アカウントとして認識されます。
2-2. IAM Identity Center を有効化する
管理アカウントで Identity Center を有効にします。
リージョンを選択します。
Identity Center は有効化したリージョンにインスタンスが作成されます。後から別リージョンへ移動はできないため、利用拠点を考慮して選択します。
特別な要件がなければ、属しているユーザーが多いリージョンが良いでしょう。
「IAM Identity Center の組織インスタンスが正常に作成されました」と表示されます。
2-3. メンバーアカウントを追加する
AWS Organizations で AWS アカウントを追加します。
メンバーアカウントを新規作成する方法と、既存の AWS アカウントをメンバーアカウントとして招待する方法があります。
招待の場合は、既存アカウント側の AWS Organizations で招待を承認します。
2-4. 許可セットを作成する
IAM Identity Center で必要な許可セットを作成します。
3 つの許可セットを作成しました。
- AdministratorAccess
- PowerUserAccess
- ReadOnlyAccess
2-5. グループを作成する
IAM Identity Center で必要なグループを作成します。
今回は以下を分けて作成しています。
- 管理アカウント
- 本番アカウント
- それ以外 (開発、検証など)
2-6. ユーザーを作成する
IAM Identity Center で必要なユーザーを作成します。
ユーザー名とメールアドレスは Identity Center のディレクトリ内で一意である必要があります。
ユーザーを必要なグループに追加します。
作成後、メールアドレスに招待メールが届きます。
2-7. アカウントにグループと許可セットを紐付ける
AWS アカウントに、グループと許可セットの組み合わせを設定します。
グループと許可セットを紐付けます。
アカウント、グループ、許可セットはそれぞれ複数選択できます。
ただし全ての組み合わせが一括登録されてしまうので、アカウントやグループごとに権限の差をつけたい場合は慎重に行いましょう。
2-8. アクセスポータルからログインする
ユーザー宛に届いたメールに記載の AWS アクセスポータルにログインします。
対象アカウントの許可セット名をクリックすると、アカウントにコンソールログインできます。
3. IAM Identity Center の機能
AWS アカウントへのログインができるようになりました。
より安全に AWS アカウントを管理・運用するために、IAM Identity Center では他にも様々な設定が用意されています。
サービスコントロールポリシー (SCP) の設定
組織内の他アカウントで IAM Identity Center インスタンスが作成されないように制御できます。
CloudTrail の有効化
Identity Center の監査ログを記録します。
MFA の設定
ユーザーに MFA の設定を強制します。
管理の委任アカウントを設定
管理アカウント以外でも IAM Identity Center の管理ができるようになります。
まとめ
IAM Identity Center を利用することで、複数 AWS アカウントに対するアクセス管理を中央集約できます。
ユーザーや権限を各アカウントに分散させるのではなく、組織単位で統制できる点が大きな特徴です。
IAM ユーザーを各アカウントに作らない運用の第一歩が、Identity Center の導入です。
上手に設計してマルチアカウント運用に対応したいものですね。
今日も小さな学びを。
IAM Identity Center 関連記事