翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ユーザープールの ID プロバイダーの設定
ユーザープールを使用すると、さまざまな外部 ID プロバイダー () を通じてサインインを実装できますIdPs。ガイドのこのセクションには、Amazon Cognito コンソールでユーザープールでこれらの ID プロバイダーを設定する手順が記載されています。または、ユーザープールAPIと AWS SDKを使用して、ユーザープール ID プロバイダーをプログラムで追加することもできます。詳細については、「」を参照してくださいCreateIdentityProvider。
サポートされている ID プロバイダーのオプションには、Facebook、Google、Amazon などのソーシャルプロバイダーや、OpenID Connect (OIDC) および 2.0 SAML プロバイダーが含まれます。開始する前に、IdP の管理認証情報を設定します。プロバイダーのタイプごとに、アプリケーションを登録し、必要な認証情報を取得し、ユーザープールでプロバイダーの詳細を設定する必要があります。その後、ユーザーは、接続された ID プロバイダーの既存のアカウントを使用してアプリケーションにサインアップしてサインインできます。
フェデレーティッド ID プロバイダーのサインインのサインインエクスペリエンスタブは、ユーザープール を追加および更新します IdPs。詳細については、「サードパーティー経由のユーザープールへのサインインの追加」を参照してください。
ソーシャル IdP でユーザーサインインを設定する
フェデレーションを使用して、Amazon Cognito のユーザープールを Facebook、Google、Login with Amazon などのソーシャル ID プロバイダーと統合することができます。
ソーシャル ID プロバイダーを追加するには、最初に ID プロバイダーでデベロッパーアカウントを作成します。デベロッパーアカウントが作成されたら、アプリを ID プロバイダーに登録します。ID プロバイダーがアプリ用のアプリ ID とアプリシークレットを作成するので、これらの値を Amazon Cognito ユーザープールで設定します。
ユーザーサインインとソーシャル IdP を統合するには
-
Amazon Cognito コンソール
にサインインします。プロンプトが表示されたら、 AWS 認証情報を入力します。 -
ナビゲーションペインで [User Pools] (ユーザープール) を選択してから、編集するユーザープールを選択します。
-
[Sign-in experience] (サインインエクスペリエンス) タブを選択し、[Federated sign-in] (フェデレーションサインイン) を検索します。
-
[Add an identity provider] (ID プロバイダーを追加する) を選択、または、設定した [Facebook]、[Google]、[Amazon]、または [Apple] などを選択し、[Identity provider information] (ID プロバイダー情報) を検索し、[Edit] (編集) をクリックします。ソーシャル ID プロバイダーの追加の詳細については、「ユーザープールでのソーシャル ID プロバイダーの使用」を参照してください。
-
選択した IdP に基づいて、次のいずれかの手順を実行して、ソーシャル ID プロバイダーの情報を入力します。
- Facebook、Google、および Login with Amazon
-
クライアントアプリを作成したときに受け取ったアプリ ID とアプリシークレットを入力します。
- Apple でサインイン
-
Apple に提供したサービス ID、およびアプリケーションクライアントを作成したときに受け取ったチーム ID、キー ID、プライベートキーを入力します。
-
[Authorize scopes] (承認スコープ) に、ユーザープール属性にマップするソーシャル ID プロバイダースコープの名前を入力します。スコープは、アプリケーションでアクセスするユーザー属性 (名前や E メールなど) を定義します。スコープを入力するときは、選択した IdP に基づいて、次のガイドラインに従ってください。
-
Facebook — スコープはカンマで区切ります。例:
public_profile, email
-
Google、Login with Amazon、Sign in with Apple — スコープをスペースで区切ります。例:
-
Google:
profile email openid
-
Login with Amazon:
profile postal_code
-
Sign In with Apple:
name email
注記
Sign in with Apple (コンソール) の場合は、チェックボックスを使用してスコープを選択します。
-
-
-
[Save changes] (変更の保存) をクリックします。
-
[App client integration] (アプリケーションクライアント統合) タブで、リストにある [App clients] (アプリケーションクライアント) の 1 つを選択して、[Edit hosted UI settings] (ホストされた UI 設定の編集) をクリックします。[Identity providers] (ID プロバイダー) で、新しいソーシャル ID プロバイダーをアプリケーションクライアントに追加します。
-
[Save changes] (変更の保存) をクリックします。
ソーシャル の詳細については IdPs、「」を参照してくださいユーザープールでのソーシャル ID プロバイダーの使用。
IdP OIDC でユーザーサインインを設定する
ユーザーサインインは、Salesforce や Ping Identity などの OpenID Connect (OIDC) ID プロバイダー (IdP ) と統合できます。
ユーザープールにOIDCプロバイダーを追加するには
-
Amazon Cognito コンソール
に移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。 -
ナビゲーションメニューから [User Pools] (ユーザープール) を選択します。
-
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
[Sign-in experience] (サインインエクスペリエンス) タブを選択します。[Federated sign-in] (フェデレーションサインイン) を検索し、[Add an identity provider] (ID プロバイダーの追加) を選択します。
-
[OpenID Connect] (OpenID 接続) ID プロバイダーを選択します。
-
[Provider name] (プロバイダー名) に一意の名前を入力します。
-
プロバイダーから受け取ったクライアント ID を、[Client ID] (クライアント ID) へ入力します。
-
プロバイダーから受け取ったクライアントシークレットを、[Client secret] (クライアントシークレット) に入力します。
-
このプロバイダーの [Authorized scopes] (承認済みスコープ) を入力します。スコープは、アプリケーションがプロバイダーにリクエストするユーザー属性のグループ (
name
およびemail
など) を定義します。スコープは、OAuth2.0仕様に従ってスペースで区切る必要があります。 ユーザーはこれらの属性をアプリケーションに提供することに同意する必要があります。
-
属性リクエスト方法を選択して、Amazon Cognito がプロバイダーが運用するuserInfoエンドポイントからユーザーの詳細を取得するために使用するHTTP方法 ( GETまたは POST) を Amazon Cognito に提供します。
-
セットアップ方法を選択して、発行者による自動入力URLまたは手動入力 のいずれかで OpenID Connect エンドポイントを取得します。プロバイダーにパブリック
.well-known/openid-configuration
エンドポイントがあり、Amazon Cognito がauthorization
、、token
、およびjwks_uri
エンドポイントURLsの を取得できる場合はuserInfo
、発行者による自動入力URLを使用します。 -
IdP URLsから発行者URLまたは
authorization
、token
userInfo
、、jwks_uri
エンドポイントを入力します。注記
検出、自動入力、および手動で入力された では、ポート番号 443 と 80 のみを使用できますURLs。OIDC プロバイダーが非標準TCPポートを使用している場合、ユーザーログインは失敗します。
発行者は でURL始まり
https://
、/
文字で終わることはできません。例えば、Salesforce は次の を使用しますURL。https://login.salesforce.com
発行者に関連付けられた
openid-configuration
ドキュメントでは、、authorization_endpoint
、token_endpoint
、userinfo_endpoint
および の値HTTPSURLsを指定URLする必要がありますjwks_uri
。同様に、手動入力 を選択すると、 HTTPS のみを入力できますURLs。 -
OIDC クレームサブは、デフォルトでユーザープール属性のユーザー名にマッピングされます。他のOIDCクレーム
をユーザープール属性にマッピングできます。OIDC クレームを入力し、ドロップダウンリストから対応するユーザープール属性を選択します。例えば、通常、クレームの [email] はユーザープール属性の [E メール] にマッピングされます。 -
ID プロバイダーからユーザープールに追加の属性をマッピングします。詳細は、「ユーザープール用 ID プロバイダー属性マッピングの特定」を参照してください。
-
[Create] (作成) を選択します。
-
[App client integration] (アプリケーションクライアント統合) タブから、リストにある [App clients] の 1 つを選択して、[Edit hosted UI settings] (ホストされた UI 設定の編集) をクリックします。新しい OIDC ID プロバイダーを Identity Provider の下のアプリケーションクライアントに追加します。
-
[Save changes] (変更の保存) をクリックします。
の詳細についてはOIDC IdPs、「」を参照してくださいユーザープールでの OIDC ID プロバイダーの使用。
IdP SAML でユーザーサインインを設定する
Amazon Cognito ユーザープールのフェデレーションを使用して、SAMLID プロバイダー (IdP ) と統合できます。ファイルをアップロードするか、メタデータドキュメントエンドポイント を入力して、メタデータドキュメントを指定しますURL。サードパーティーの のメタデータドキュメントの取得についてはSAML IdPs、「」を参照してくださいサードパーティー SAML ID プロバイダーの設定。
ユーザープールで 2.0 ID SAML プロバイダーを設定するには
-
Amazon Cognito コンソール
に移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。 -
[User Pools] (ユーザープール) を選択します。
-
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
[Sign-in experience] (サインインエクスペリエンス) タブを選択します。[Federated sign-in] (フェデレーションサインイン) を検索し、[Add an identity provider] (ID プロバイダーの追加) を選択します。
-
SAML ID プロバイダーを選択します。
-
カンマで区切られた [Identifiers] (識別子) を入力します。識別子は Amazon Cognito に、ユーザーのサインイン E メールアドレスを確認し、ドメインに対応するプロバイダーに誘導する必要があることを伝えます。
-
ユーザーがログアウトしたときに、Amazon Cognito が署名されたサインアウト要求をプロバイダーに送信するためには、[Add sign-out flow] (サインアウトフローの追加) を選択します。ホストされた UI を設定するときに Amazon Cognito が作成する
https://
エンドポイントにサインアウトレスポンスを送信するように SAML2.0 ID プロバイダーを設定します。mydomain.us-east-1.amazoncognito.com
/saml2/logoutsaml2/logout
エンドポイントはPOSTバインディングを使用します。注記
このオプションを選択し、SAMLID プロバイダーが署名付きログアウトリクエストを期待する場合は、Amazon Cognito が提供する署名証明書を SAML IdP で設定する必要があります。
SAML IdP は署名付きログアウトリクエストを処理し、Amazon Cognito セッションからユーザーをログアウトします。
-
[Metadata document source] (メタデータドキュメントソース) を選択します。ID プロバイダーがパブリック でSAMLメタデータを提供している場合はURL、メタデータドキュメントURLを選択して、そのパブリック を入力できますURL。それ以外の場合は、[Upload metadata document] (メタデータドキュメントをアップロード) を選択し、プロバイダーから以前ダウンロードしたメタデータファイルを選択します。
注記
プロバイダーにパブリックエンドポイントがある場合は、ファイルをアップロードするのではなくURL、メタデータドキュメント を入力することをお勧めします。を使用する場合URL、Amazon Cognito はメタデータを自動的に更新します。通常、メタデータの更新は 6 時間ごとまたはメタデータの有効期限が切れる前のいずれか早いタイミングで発生します。
-
SAML プロバイダーとアプリ間の属性をマッピングして、SAMLプロバイダー属性をユーザープールのユーザープロファイルにマッピングします。ユーザープールの必須属性を属性マップに含めます。
例えば、ユーザープール属性 を選択した場合は
email
、ID プロバイダーからのSAMLアサーションに表示されるSAML属性名を入力します。ID プロバイダーが参照用にサンプルSAMLアサーションを提供する場合があります。ID プロバイダーの中には、 などの単純な名前を使用するものもあればemail
、次のようなフォーマットURLされた属性名を使用するものもあります。http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
-
[Create] (作成) を選択します。
注記
HTTPS メタデータエンドポイント で SAMLIdP を作成するInvalidParameterException
ときに が表示された場合はURL、メタデータエンドポイントSSLが正しく設定されており、それに関連付けられた有効なSSL証明書があることを確認してください。このような例外の 1 つの例は、「Error が からメタデータを取得する <metadata endpoint>
".
署名証明書を追加する IdP SAML を設定するには
-
IdP が署名付きログアウトリクエストの検証に使用するパブリックキーを含む証明書を取得するには、Federation コンソールページの Identity Providers のSAMLダイアログで Active SAML Providers で署名証明書を表示するを選択します。
詳細については、SAML IdPs 「」を参照してくださいユーザープールでの SAML ID プロバイダーの使用。