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