1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS CognitoとMicrosoft Entra IDでSSO実践入門

Last updated at Posted at 2025-05-31

やったこと

SSOに触れたことがなくざっくりと仕組みを理解したかったので、Cognitoのマネージドログインページ画面からMicrosoft Entra ID(旧Azure AD)でSSOしました。

シーケンス図

image.png

ログイン後、Cognitoのユーザープールにユーザが追加されていることや属性マッピングができていることを確認するところまで実施しています。

スクリーンショット 2025-04-24 8.33.30.png

AzureとAWSとでそれぞれ設定が必要ですが、数分あればできるので思ったよりも簡単でした。

以下では、設定手順を記載していきます。

Cognitoの作成(AWS)

Cognitoのユーザープールを作成しましょう。

今回はCDKで作成したので詳細は省きますが、アプリケーションクライアントの作成ができればとりあえずなんでもいいと思います。

スクリーンショット 2025-04-24 7.59.41.png

アプリケーションの作成(Azure)

エンタープライズ アプリケーションから新しいアプリケーションを作成します。

[+ 新しいアプリケーション]から[+ 独自のアプリケーションの作成]を選択して「ギャラリーに見つからないその他のアプリケーションを統合します (ギャラリー以外)」を選択して作成します。

スクリーンショット 2025-04-24 7.52.27.png

SSO設定(Azure)

アプリ設定画面からSSOの設定をしていきます。実施する内容は主に2点です。

  • 識別子の追加
  • 応答 URLの追加
  • SAML証明書の取得(Cognito側の設定で使います)

[シングル サインオン]から[SAML]を選択して、遷移先のセットアップ画面で基本的なSAML構成を編集していきます。

スクリーンショット 2025-04-24 8.03.00.png

以下のフォーマットに従って追加します。

識別子の追加
urn:amazon:cognito:sp:<UserPoolID>

応答 URLの追加
https://<Cognitoドメイン>/saml2/idpresponse

最後にSAML証明書(フェデレーション メタデータ XML)をダウンロードします。

スクリーンショット 2025-04-24 8.07.47.png

ユーザーの追加(Azure)

ログインするためのユーザを追加しておきます。

スクリーンショット 2025-04-24 8.18.01.png

アイデンティティプロバイダーを追加(AWS)

Cognitoのユーザープール画面の[ソーシャルプロバイダーと外部プロバイダー]からアイデンティティプロバイダーを追加します。フェデレーティッドサインインのオプションはSAMLを選択し、先ほどダウンロードしたXMLファイルをメタデータドキュメントにアップロードします。SAML プロバイダーとユーザープールの間で属性をマッピングの欄にはhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressを入力します。これを入力することでメールアドレスのマッピングが可能になります。

スクリーンショット 2025-04-24 8.12.10.png

動作確認

アプリケーションクライアントから作成しておいたクライアントを選択してマネージドログインページの設定のプロバイダー部分を先ほど作成したアイデンティティプロバイダーに修正してログインページに遷移します。

スクリーンショット 2025-04-24 7.38.44.png

無事にサインイン画面に到達しました。

スクリーンショット 2025-04-23 23.57.26.png

Cognitoのユーザを確認したところ追加されていました。

スクリーンショット 2025-04-24 8.33.30.png

ハマったところ

ダミーで作成したユーザにメールアドレスを設定するのを忘れていてエラーがでたぐらいです。

error_description=Invalid+SAML+response+received%3A+Invalid+user+attributes%3A+emails%3A+The+attribute+emails+is+required+&error=server_error

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?