📝

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