IAM Identity Center と Cognito を統合してみた
IAM アイデンティティセンターと Amazon Cognito の統合 | AWS re:Post
上記ナレッジセンターの手順でやってみました。
前提
- IAM Identity Center を有効化済み
- IAM Identity Center にユーザーを作成済み
01 Cognito ユーザープールの作成
コンソールから作成します。
サインイン識別子のオプションでメールアドレスを選択し、その他の設定はデフォルトで作成しました。

02. IAM Identity Center から SAML アプリケーションを設定
IAM Identity Center > アプリケーション > アプリケーションを追加をクリックします。

「設定するアプリケーションがある」、「SAML 2.0」を選択します。

IAM Identity Center SAML メタデータファイルをダウンロードするか、URL をコピーします。

アプリケーション ACS URL とアプリケーション SAML 対象者を入力します。
それぞれ以下の形式に沿って作成済みの Cognito ユーザープールの値で置換します。
- ACS URL: https://<domain-prefix>.auth.<region>.amazoncognito.com/saml2/idpresponse
- Application SAML audience: urn:amazon:cognito:sp:<userpool-id>
<domain-prefix> は Cognito ユーザープールのドメインから確認できます。

今回の場合は以下の部分が <domain-prefix> に該当します。
- ap-northeast-1os7bx6yux
リージョンについては今回は ap-northeast-1 に置換します。
<userpool-id> も Cognito コンソールから確認した値に置換します。
- Application SAML audience: urn:amazon:cognito:sp:ap-northeast-1_Os7bx6YUX

アプリケーション作成後にアクション > 属性マッピングを編集をクリックします。
以下のようにマッピングを作成します。
- Subject: ${user:subject}: persistent
- email: ${user:email}: basic

IAM Identity Center のユーザーをアプリケーションに割り当てます。

03. Cognito で IAM Identity Center を SAML IdP として設定
Cognito ユーザープールのソーシャルプロバイダーとカスタムプロバイダーの設定から IdP を設定します。

SAML を選択してプロバイダー名に任意の値を入力します。

メタデータドキュメントに手順 02 でダウンロードしたメタデータファイルをアップロードするか、URL を入力します。

SAML プロバイダーとユーザープールの間で属性をマッピングで手順 02 と同じ属性を入力します。
- email: ${user:email}: basic

04. Cognito の IdP を変更
Cognito ユーザープール > アプリケーションクライアント > ログインページ > 編集で IdP を変更します。


動作確認
ログインページを表示して動作確認します。




Cognito のマネージドログイン > IAM Identity Center ログイン > コールバック URL の順に遷移することを確認できました。
Cognito ユーザープールのユーザーにもサインインしたユーザーが追加されていました。

まとめ
今回は IAM Identity Center と Cognito を統合してみました。
どなたかの参考になれば幸いです。
Discussion