翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ユーザープールでの SAML ID プロバイダーの追加と管理
Amazon Cognito を操作するように ID プロバイダーを設定したら、ユーザープールとアプリケーションクライアントに追加できます。次の手順は、Amazon Cognito ユーザープールでSAMLプロバイダーを作成、変更、削除する方法を示しています。
- AWS Management Console
-
を使用して SAML ID プロバイダー () AWS Management Console を作成および削除できますIdPs。
SAML IdP を作成する前に、サードパーティーの IdP から取得するSAMLメタデータドキュメントが必要です。必要なSAMLメタデータドキュメントを取得または生成する方法については、「」を参照してくださいサードパーティー SAML ID プロバイダーの設定。
ユーザープールで SAML 2.0 IdP を設定するには
-
Amazon Cognito コンソールに移動します。プロンプトが表示されたら、 AWS
認証情報を入力します。
-
[User Pools] (ユーザープール) を選択します。
-
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
[Sign-in experience] (サインインエクスペリエンス) タブを選択します。[Federated sign-in] (フェデレーションサインイン) を探し、[Add an identity provider] (ID プロバイダーの追加) を選択します。
-
SAML IdP を選択します。
-
プロバイダー名 を入力します。このわかりやすい名前をidentity_provider
リクエストパラメータで に渡すことができます認可エンドポイント。
-
カンマで区切られた [Identifiers] (識別子) を入力します。識別子は Amazon Cognito に、ユーザーがサインインしたときに入力したメールアドレスを確認し、ドメインに対応するプロバイダーに誘導する必要があることを伝えます。
-
ユーザーがログアウトしたときに、Amazon Cognito が署名されたサインアウト要求をプロバイダーに送信するためには、[Add sign-out flow] (サインアウトフローの追加) を選択します。ホストされた UI SAML を設定するときに作成されるhttps://mydomain.us-east-1.amazoncognito.com
/saml2/logout
エンドポイントにサインアウトレスポンスを送信するように 2.0 IdP を設定する必要があります。saml2/logout
エンドポイントはPOSTバインディングを使用します。
このオプションが選択されていて、IdP SAML が署名付きログアウトリクエストを予期している場合は、ユーザープールの署名証明書も IdP SAML に提供する必要があります。
SAML IdP は署名付きログアウトリクエストを処理し、Amazon Cognito セッションからユーザーをサインアウトします。
-
IdP 開始SAMLサインイン設定を選択します。セキュリティのベストプラクティスとして、SP 主導のSAMLアサーションのみを受け入れる を選択します。未承諾SAMLのサインインセッションを安全に受け入れる環境を準備している場合は、「SP 主導のアサーションと IdP 主導のSAMLアサーションを受け入れる」を選択します。詳細については、「SAML Amazon Cognito ユーザープールでのセッション開始」を参照してください。
-
[Metadata document source] (メタデータドキュメントソース) を選択します。IdP がパブリック でSAMLメタデータを提供する場合はURL、メタデータドキュメントURLを選択し、そのパブリック を入力できますURL。それ以外の場合は、[Upload metadata document] (メタデータドキュメントをアップロード) を選択し、プロバイダーから以前ダウンロードしたメタデータファイルを選択します。
ファイルをアップロードする代わりに、URLプロバイダーにパブリックエンドポイントがある場合は、メタデータドキュメントを入力することをお勧めします。Amazon Cognito は、メタデータ からメタデータを自動的に更新しますURL。通常、メタデータの更新は 6 時間ごとまたはメタデータの有効期限が切れる前のいずれか早いタイミングで発生します。
-
SAML プロバイダーとユーザープールの間に属性をマッピングして、SAMLプロバイダー属性をユーザープールのユーザープロファイルにマッピングします。ユーザープールの必須属性を属性マップに含めます。
例えば、ユーザープール属性 を選択した場合はemail
、IdP のSAMLアサーションに表示されるSAML属性名を入力します。IdP がサンプルSAMLアサーションを提供する場合は、これらのサンプルアサーションを使用して名前を見つけることができます。などの単純な名前 IdPs を使用するものもあればemail
、次のような名前を使用するものもあります。
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
-
[Create] (作成) を選択します。
- API/CLI
-
次のコマンドを使用して、SAMLID プロバイダー (IdP ) を作成および管理します。
IdP を作成し、メタデータドキュメントをアップロードする
-
AWS CLI: aws cognito-idp
create-identity-provider
メタデータファイルの例: aws cognito-idp
create-identity-provider --user-pool-id
us-east-1_EXAMPLE
--provider-name=SAML_provider_1
--provider-type SAML --provider-details file:///details.json
--attribute-mapping
email
=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
ここでは details.json
に以下が含まれます。
"ProviderDetails": {
"MetadataFile": "<SAML metadata XML>
",
"IDPSignout" : "true
",
"RequestSigningAlgorithm" : "rsa-sha256",
"EncryptedResponses" : "true
",
"IDPInit" : "true
"
}
そのファイルに <SAML metadata
XML>
には文字 のインスタンスが含まれています\"
。エスケープ文字\
として を追加"
する必要があります。
メタデータ の例URL: aws cognito-idp create-identity-provider --user-pool-id us-east-1_EXAMPLE
--provider-name=SAML_provider_1
--provider-type SAML --provider-details MetadataURL=https://myidp.example.com/sso/saml/metadata
--attribute-mapping email
=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
-
AWS API: CreateIdentityProvider
IdP の新規メタデータドキュメントをアップロードする
-
AWS CLI: aws cognito-idp
update-identity-provider
メタデータファイルの例: aws cognito-idp
update-identity-provider --user-pool-id
us-east-1_EXAMPLE
--provider-name=SAML_provider_1
--provider-details file:///details.json --attribute-mapping
email
=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
ここでは details.json
に以下が含まれます。
"ProviderDetails": {
"MetadataFile": "<SAML metadata XML>
",
"IDPSignout" : "true
",
"RequestSigningAlgorithm" : "rsa-sha256",
"EncryptedResponses" : "true
",
"IDPInit" : "true
"
}
そのファイルに <SAML metadata
XML>
には文字 のインスタンスが含まれています\"
。エスケープ文字\
として を追加"
する必要があります。
メタデータ の例URL: aws cognito-idp update-identity-provider --user-pool-id us-east-1_EXAMPLE
--provider-name=SAML_provider_1
--provider-details MetadataURL=https://myidp.example.com/sso/saml/metadata
--attribute-mapping email
=http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
-
AWS API: UpdateIdentityProvider
固有の IdP に関する情報を取得するには
-
AWS CLI: aws cognito-idp
describe-identity-provider
aws cognito-idp describe-identity-provider
--user-pool-id us-east-1_EXAMPLE
--provider-name=SAML_provider_1
-
AWS API: DescribeIdentityProvider
すべての に関する情報を一覧表示するには IdPs
-
AWS CLI: aws cognito-idp
list-identity-providers
例: aws cognito-idp list-identity-providers
--user-pool-id us-east-1_EXAMPLE
--max-results 3
-
AWS API: ListIdentityProviders
IdP を削除する
-
AWS CLI: aws cognito-idp
delete-identity-provider
aws cognito-idp delete-identity-provider --user-pool-id
us-east-1_EXAMPLE
--provider-name=SAML_provider_1
-
AWS API: DeleteIdentityProvider
ユーザープールを依存当事者として追加するように SAML IdP を設定するには
-
ユーザープールサービスプロバイダーは URNですurn:amazon:cognito:sp:us-east-1_EXAMPLE
。Amazon Cognito には、SAMLレスポンスURNでこれに一致するオーディエンス制限値が必要です。応答メッセージに次のPOSTバインディングエンドポイント IdP-to-SPを使用するように IdP を設定します。
https://mydomain.us-east-1.amazoncognito.com
/saml2/idpresponse
-
SAML IdP はSAMLアサーションでユーザープールに必要な属性NameID
と を入力する必要があります。 NameID
は、ユーザープール内のSAMLフェデレーティッドユーザーを一意に識別するために使用されます。IdP は、各ユーザーSAMLの名前 ID を一貫した大文字と小文字を区別する形式で渡す必要があります。ユーザー名 ID の値にバリエーションがあると、新しいユーザープロファイルが作成されます。
署名証明書を 2.0 SAML に提供するには IDP
Amazon Cognito コンソールを使用して、ユーザープールに設定したSAMLプロバイダーを削除できます。
SAML プロバイダーを削除するには
-
Amazon Cognito コンソールにサインインします。
-
ナビゲーションペインで [User Pools] (ユーザープール) を選択してから、編集するユーザープールを選択します。
-
サインインエクスペリエンスタブを選択し、フェデレーティッド ID プロバイダーのサインイン を見つけます。
-
SAML IdPs 削除する の横にあるラジオボタンを選択します。
-
ID プロバイダー を削除するように求められたら、削除を確認するSAMLプロバイダーの名前を入力し、「削除」を選択します。