はじめに
今回はマルチアカウント運用には欠かせない、SSO(シングルサインオン)を導入してみた記事になります。
前回の続きとなっているため、詳しくはこちらをご参照ください。
IAM Identity Centerとは
IAM Identity Center は、AWSが提供する統合認証(SSO: Single Sign-On)サービスです。
1度のログインだけで、複数のAWSアカウントにアクセスできるようになります。
複数アカウント運用に特化しているため、基本的にはOrganizationsと合わせて使用されます。
Organizations同様、IAM Identity Center自体は無料です。
※もともとはAWS Single Sign-On (AWS SSO)という名前でしたが、現在はIAM Identity Centerに統合されました。
特徴
従来のマルチアカウント運用にあった、以下のような問題を解決してくれます:
・アカウントごとにIAMユーザーを作ってサインインする必要がある
→IAMユーザー不要(推奨構成)で、1ユーザーで複数アカウントにログイン可能
・アカウントごとに権限管理をするのが面倒
→権限をまとめて管理可能
基本構成
Identity Centerでは以下の3つの構成で成り立っています。
1. ユーザー / グループ
Identity Center内で作成する以外に、外部のIdPと連携することも可能です。
2. 権限セット(Permission Set)
複数のIAMポリシーで構成されるテンプレートです。
3. アカウント割り当て
「誰が」「どのアカウントに」「どの権限で入れるか」を定義します
SSOは裏ではIAMロールを使用して特定の権限によるアクセスを可能にしています。
詳しくはこちらの記事をご参照ください。
使用する際は、以下のようなフローイメージになります。
ユーザー
↓
Identity Centerログイン
↓
複数のAWSアカウント一覧
↓
クリックでロール切り替えログイン
今回のゴール
1. ユーザーを作成する
管理アカウント(ルートアカウント)でIAM Identity Centerのサービス画面へ遷移し、画面右上の有効にするを押します。
①AWS リージョンを選択します(例:アジアパシフィック (東京))
②有効にするを押します
するとIAM Identity Centerのインスタンスが作成され、管理アカウント(ルートアカウント)で作成した組織(Organizations)と自動で紐づけてくれます。
①サイドメニューバーからユーザーを選択します
②ユーザーを追加を押します
画面の指示に沿ってプライマリ情報を入力し、次へを押します。
グループは後で作成するので、このまま次へを押します。
確認画面になるので、問題なければユーザーを追加を押します。
無事にユーザーが作成されました。
登録したメールアドレスに招待メールが届くので、画面の指示に従って
・パスワード
・MFA認証
を設定すると、AWS access portalにログインできるようになります。
2. グループを作成する
続いて「developer」グループを作成していきます。
再びIAM Identity Centerのサービス画面へ遷移し、
①サイドメニューバーからグループを選択します
②グループを作成を押します
①「グループ名」を入力します
②グループに追加したいユーザーを選択します
③グループを作成を押します
無事にグループが作成されました。
3. 許可セットを作成する
再びIAM Identity Centerのサービス画面へ遷移し、
①サイドメニューバーから許可セットを選択します
②許可セットを作成を押します
①「許可セットのタイプ」は事前定義された許可セット(AWS 管理ポリシー)を選択します
②開発者用にPowerUserAccess権限を選択します
③次へを押します
許可セットの詳細を指定することができますが、今回はデフォルトのまま次へを押します
確認画面になるので、問題なければ作成を押します。
無事に許可セットが作成されました。
4. アカウントに割り当てる
「誰が」「どのアカウントに」「どの権限で入れるか」を定義するために、
「ユーザー or グループ」「アカウント」「許可セット」を紐づけます。
①サイドメニューバーからAWS アカウントを選択します
②③④まとめて操作したいAWSアカウントにチェックを入れます
⑤ユーザーまたはグループを割り当てを押します
①選択したアカウントに紐づけたいユーザーまたはグループを選択します
→複数選択することも可能です。今回はユーザー1名しか含まれていませんが、グループを選択しました。
②次へを押します
①「選択したAWSアカウント」に「選択したユーザー/グループ(に含まれるすべてのユーザー)」が、どの権限でアクセスできるか(ロールを渡すか)を選択します。
②次へを押します
内容を確認したら送信を押します
以上です!
アクセスポータルから複数アカウントにログインしてみる
再度AWS access portalにアクセスすると、以下のように
複数アカウントにアクセスできるようになっています。
IAMサービス画面に移動したら、アクセスが拒否されたので、権限も問題なさそうです!





















