翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ユーザープールでの SAML ID プロバイダーの使用
ウェブおよびモバイルアプリのユーザーに、Microsoft Active Directory フェデレーションサービス (ADFS) や Shibboleth
ホストされた UI とフェデレーションエンドポイントを使用すると、Amazon Cognito はローカルおよびサードパーティーの IdP ユーザーを認証し、JSON ウェブトークン (JWTs。Amazon Cognito が発行するトークンを使用すると、複数の ID ソースをすべてのアプリでユニバーサル OpenID Connect (OIDC) 標準に統合できます。Amazon Cognito は、サードパーティープロバイダーからの SAML アサーションをその SSO 標準に処理できます。SAML IdP は AWS Management Console、、、 AWS CLIまたは Amazon Cognito ユーザープール API を使用して作成および管理できます。で最初の SAML IdP を作成するには AWS Management Console、「」を参照してくださいユーザープールでの SAML ID プロバイダーの追加と管理。
![SAML サインインによる認証の概要](images/scenario-authentication-saml.png)
注記
サードパーティーの IdP を介したサインインによるフェデレーションは、Amazon Cognito ユーザープールの機能です。Amazon Cognito フェデレーティッド ID と呼ばれる Amazon Cognito ID プールは、フェデレーションの実装であり、各 ID プールで個別に設定する必要があります。ユーザープールは、アイデンティティプールへのサードパーティー IdP にすることができます。詳細については、「Amazon Cognito アイデンティティプール」を参照してください。
IdP 設定のクイックリファレンス
リクエストを受け入れ、ユーザープールにレスポンスを送信するように SAML IdP を設定する必要があります。SAML IdP のドキュメントには、SAML 2.0 IdP の証明書利用者またはアプリケーションとしてユーザープールを追加する方法に関する情報が含まれています。次のドキュメントでは、SP エンティティ ID とアサーションコンシューマーサービス (ACS) URL に対して指定する必要がある値を示します。
ユーザープールの SAML 値のクイックリファレンス
- SP エンティティ ID
-
urn:amazon:cognito:sp:
us-east-1_EXAMPLE
- ACS URL
-
https://
Your user pool domain
/saml2/idpresponse
ID プロバイダーをサポートするようにユーザープールを設定する必要があります。外部 SAML IdP を追加する大まかな手順は次のとおりです。
-
IdP から SAML メタデータをダウンロードするか、メタデータエンドポイントへの URL を取得します。サードパーティーの SAML ID プロバイダーの設定 を参照してください。
-
ユーザープールに新しい IdP を追加します。SAML メタデータをアップロードするか、メタデータ URL を指定します。ユーザープールでの SAML ID プロバイダーの追加と管理 を参照してください。
-
アプリクライアントに IdP を割り当てます。「ユーザープールアプリクライアント」を参照
トピック
SAML ユーザー名の大文字と小文字の区別
フェデレーティッドユーザーがサインインしようとすると、SAML ID プロバイダー (IdP) はユーザーの SAML アサーションで Amazon Cognito NameId
に一意の を渡します。Amazon Cognito は、SAML フェデレーティッドユーザーを NameId
クレームによって識別します。ユーザープールの大文字と小文字を区別する設定に関係なく、Amazon Cognito は、SAML IdP から返されるフェデレーティッドユーザーが一意で大文字と小文字を区別するNameId
クレームを渡すと認識します。email
のような属性を NameId
にマッピングし、ユーザーが E メールアドレスを変更すると、アプリケーションにサインインできません。
変更されない値を持つ IdP 属性から SAML アサーションに NameId
をマッピングします。
例えば、Carlos は、Carlos@example.com
の NameId
値を渡した Active Directory フェデレーションサービス (ADFS) SAML アサーションからの大文字と小文字を区別しないユーザープールにユーザープロファイルを持っているとします。次回 Carlos がサインインしようとすると、ADFS IdP は carlos@example.com
の NameId
値を渡します。NameId
は大文字と小文字が完全に一致する必要があるため、サインインは成功しません。
NameID
を変更した後、ユーザーがログインできない場合は、ユーザープールからそのユーザーのプロファイルを削除してください。Amazon Cognito は、次回サインインしたときに新しいユーザープロファイルを作成します。