【AWS】IAM Identity Center×Azure AD を統合してAWSアカウントへのシングルサインオンを試してみた
前提条件
◆ AWS側の条件
・[IAM Identity Center]サービスを利用できること
・[AWS Organizations]サービスを利用していること(オプション)
・IAM権限:Administrator Access(通称 なんでも権限。本当は最小権限にしたい)
※ IAM Identity Center は東京リージョンで利用することを前提とします。
◆ Azure側の条件
・Azure AD のライセンス:Azure AD Premium P1 または P2
・Azure AD 権限:アプリケーション管理者 以上
※ Azure AD 無料プランではグループ作成ができない制約があります。
導入方法
1. IAM Identity CenterとAzure AD を構成する
1-1. Azure ADで外部IDプロバイダーを作成する
【Azure ポータルにサインイン】
- [Azure Active Directory]>[エンタープライズ アプリケーション]>[すべてのアプリケーション]に移動します。
- [➕新しいアプリケーション]を選択します。
- 検索ボックスに「AWS IAM Identity Center」と入力します。
- 検索結果から [AWS IAM Identity Center] を選択します。
- 適当な名前を入力します。※今回は「
AWS IAM Identity Center
」と名付けます。 - 「作成」を押下します。
これで外部IDプロバイダーの作成は完了です。
1-2. SAML認証を設定する
【AWS Management Consoleにサインイン】
- [IAM Identity Center]>[設定]に移動します。
- [アイデンティティソース]ウィンドウの右上にある[アクション]>[アイデンティティソースを変更]を選択します。
-
【ステップ1】 アイデンティティソースを選択
・[外部IDプロバイダー] を選択します。
・「次へ」を押下します。
-
【ステップ2】 外部アイデンティティプロバイダーを設定
・[サービスプロバイダーのメタデータ]から[メタデータファイルをダウンロード]を押下して、IAM Identity Centerのメタデータ情報をダウンロードします。
このまま、画面を保持してください。後で【ステップ2】の続きを行います。
【Azure ポータルにサインイン】
- [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
- [すべてのアプリケーション]>「作成したアプリケーション(
AWS IAM Identity Center
)」>[シングル サインオン]に移動して、[SAML]を選択します。
- [メタデータファイルをアップロードする]を選択して、先ほどダウンロードした「IAM Identity Centerのメタデータファイル」をアップロードします。
- 「追加」を押下します。
- [基本的な SAML 構成]の確認画面が表示されるため、そのまま[保存]を押下します。
- 保存後、[AWS IAM Identity Center でシングルサインオンをTest]とポップアップが表示されますが、[いいえ、後でtestします]を選択してください。
- [SAML 証明書]の[フェデレーション メタデータ XML]をダウンロードします。
【AWS Management Consoleにサインイン】
〜【ステップ2】の続き 〜
-
【ステップ2】 外部アイデンティティプロバイダーを設定
・[アイデンティティプロバイダーのメタデータ]に先ほどダウンロードした「フェデレーションメタデータ XMLファイル」をアップロードします。
・「次へ」を押下します。
-
【ステップ3】 変更を確定
・[確認および確定]にて「承諾」と入力します。
・[アイデンティティソースを変更]を選択します。
- [IAM Identity Center]>[設定]に移動します。
- [アイデンティティソース]の[認証方法]が「SAML 2.0」に変更されていることを確認します。
これでSAML認証の設定は完了です。
2. AWSアカウントに資格情報を設定する
2-1. AWS IAM Identity Centerにユーザーを自動登録する
【AWS Management Consoleにサインイン】
- [IAM Identity Center]>[設定]に移動します。
- [自動プロビジョニング]の[有効にする]を押下します。
- 押下後、[インバウド自動プロビジョニング]のポップ画面が表示されます。
- [SCIMエンドポイント]と[アクセストークン]をコピーします。
【Azure ポータルにサインイン】
- [Azure Active Directory]>[グループ]に移動します。
- [新しいグループ]を選択します。
- [新しいグループ]には以下の設定を行いました。
・ [グループの種類]:「セキュリティ」
・ [グループ名]:今回は 「AWS SSO Members
」と名付けます。
・ [グループの説明(オプション)]:<任意>
・ [メンバーシップの種類]:「割り当て済み」 - [メンバー]にSSOさせたいユーザーを追加します。
- 「作成」を押下します。
- [Azure Active Directory]>[エンタープライズ アプリケーション]に移動します。
- [すべてのアプリケーション]>「作成したアプリケーション(
AWS IAM Identity Center
)」>[ユーザーとグループ]に移動して、[➕ユーザーまたはグループの追加]を選択します。
- [割り当ての追加]で先ほど作成したグループ(
AWS SSO Members
)を追加します。 - [割り当て]を押下します。
- 割り当て後、プロビジョニング画面に遷移します。
- [作業の開始]を押下します。
- [プロビジョニングモード]を自動に切り替えます。
- [管理者資格情報]の[テナントの URL]には[SCIMエンドポイント]、[シークレット トークン]には[アクセストークン]を先ほど「自動プロビジョニングの有効化」でコピーした資格情報をペーストします。
- [テスト接続]を押下します。成功のイベントが表示されたことを確認します。
- [保存]を押下します。
- 保存後、[概要]に移動します。
- [プロビジョニングの開始]を選択します。
2~3分ほどでプロビジョニングの状態が有効になります。
【AWS Management Consoleにサインイン】
- [IAM Identity Center]>[グループ]に移動します。
- Azure ADにて用意された[ユーザー/グループ(
AWS SSO Members
)]が表示されていることを確認します。
これで登録手続きは完了です。
2-2. AWSアカウントに資格情報と権限を割り当てる
【AWS Management Consoleにサインイン】
- [IAM Identity Center]>[マルチアカウント許可]>[許可セット]に移動します。
- [許可セットの作成]を選択します。
-
【ステップ1】 許可セットタイプを選択
・[許可セットのタイプ]で[事前定義された許可セットのポリシー]を選択します。
・[事前定義された許可セットのポリシー]で「AdministratorAccess」を選択します。
・「次へ」を押下します。
-
【ステップ2】許可セットの詳細を指定
[許可セットの詳細を指定]には下記の設定を行いました。
・[許可セット名]:<任意> ※今回は「AdministratorAccess
」と名付けます。
・[説明(オプション)]:<任意>
・[セッション期間]:8時間(デフォルトは1時間)
・[リレー状態(オプション)]:(シングルサインオン後にリダイレクトされるページURL)
https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1
-
【ステップ3】確認して作成
・「作成」を押下します。 -
[IAM Identity Center]>[マルチアカウント許可]>[AWSアカウント]に移動します。
-
対象のAWSアカウントを選択して、[ユーザーまたはグループを割り当て]を選択します。
※ 今回は4つのアカウントに割り当ててみます。
-
【ステップ1】 ユーザーとグループの選択
・[グループ]で自動プロビジョニングされたグループ(AWS SSO Members
)を選択します。
・[選択されたユーザーとグループ]で選択した「ユーザー名/グループ名(AWS SSO Members
)」を選択します。
・「次へ」を押下します。
-
【ステップ2】 許可セットを選択
・[許可セット]で先ほど作成した「アクセス権限セット(AdministratorAccess
)」を選択します。
・「次へ」を押下します。
-
【ステップ3】 確認して送信
・「送信」を押下します。 -
[Permission sets]に作成した「アクセス権限セット(
AdministratorAccess
)」が割り当てられていることを確認します。
これで資格情報と権限の割り当ては完了です。
動作確認
【AWS Management Consoleにサインイン】
-
[IAM Identity Center]>[ダッシュボード]に移動します。
-
[AWS アクセスポータルのURL]のリンクをブラウザで実行します。
-
サインオンしたいAWSアカウントを選択して、[Management console]を押下します。
-
東京リージョンの管理コンソール画面にアクセスできたことを確認します。
これで動作確認は完了です。
Discussion