ユーザープールの ID プロバイダーの設定 - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ユーザープールの 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 を統合するには
  1. Amazon Cognito コンソールにサインインします。プロンプトが表示されたら、 AWS 認証情報を入力します。

  2. ナビゲーションペインで [User Pools] (ユーザープール) を選択してから、編集するユーザープールを選択します。

  3. [Sign-in experience] (サインインエクスペリエンス) タブを選択し、[Federated sign-in] (フェデレーションサインイン) を検索します。

  4. [Add an identity provider] (ID プロバイダーを追加する) を選択、または、設定した [Facebook][Google][Amazon]、または [Apple] などを選択し、[Identity provider information] (ID プロバイダー情報) を検索し、[Edit] (編集) をクリックします。ソーシャル ID プロバイダーの追加の詳細については、「ユーザープールでのソーシャル ID プロバイダーの使用」を参照してください。

  5. 選択した IdP に基づいて、次のいずれかの手順を実行して、ソーシャル ID プロバイダーの情報を入力します。

    Facebook、Google、および Login with Amazon

    クライアントアプリを作成したときに受け取ったアプリ ID とアプリシークレットを入力します。

    Apple でサインイン

    Apple に提供したサービス ID、およびアプリケーションクライアントを作成したときに受け取ったチーム ID、キー ID、プライベートキーを入力します。

  6. [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 (コンソール) の場合は、チェックボックスを使用してスコープを選択します。

  7. [Save changes] (変更の保存) をクリックします。

  8. [App client integration] (アプリケーションクライアント統合) タブで、リストにある [App clients] (アプリケーションクライアント) の 1 つを選択して、[Edit hosted UI settings] (ホストされた UI 設定の編集) をクリックします。[Identity providers] (ID プロバイダー) で、新しいソーシャル ID プロバイダーをアプリケーションクライアントに追加します。

  9. [Save changes] (変更の保存) をクリックします。

ソーシャル の詳細については IdPs、「」を参照してくださいユーザープールでのソーシャル ID プロバイダーの使用

IdP OIDC でユーザーサインインを設定する

ユーザーサインインは、Salesforce や Ping Identity などの OpenID Connect (OIDC) ID プロバイダー (IdP ) と統合できます。

ユーザープールにOIDCプロバイダーを追加するには
  1. Amazon Cognito コンソールに移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。

  2. ナビゲーションメニューから [User Pools] (ユーザープール) を選択します。

  3. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  4. [Sign-in experience] (サインインエクスペリエンス) タブを選択します。[Federated sign-in] (フェデレーションサインイン) を検索し、[Add an identity provider] (ID プロバイダーの追加) を選択します。

  5. [OpenID Connect] (OpenID 接続) ID プロバイダーを選択します。

  6. [Provider name] (プロバイダー名) に一意の名前を入力します。

  7. プロバイダーから受け取ったクライアント ID を、[Client ID] (クライアント ID) へ入力します。

  8. プロバイダーから受け取ったクライアントシークレットを、[Client secret] (クライアントシークレット) に入力します。

  9. このプロバイダーの [Authorized scopes] (承認済みスコープ) を入力します。スコープは、アプリケーションがプロバイダーにリクエストするユーザー属性のグループ (name および email など) を定義します。スコープは、OAuth2.0 仕様に従ってスペースで区切る必要があります。

    ユーザーはこれらの属性をアプリケーションに提供することに同意する必要があります。

  10. 属性リクエスト方法を選択して、Amazon Cognito がプロバイダーが運用するuserInfoエンドポイントからユーザーの詳細を取得するために使用するHTTP方法 ( GETまたは POST) を Amazon Cognito に提供します。

  11. セットアップ方法を選択して、発行者による自動入力URLまたは手動入力 のいずれかで OpenID Connect エンドポイントを取得します。プロバイダーにパブリック.well-known/openid-configurationエンドポイントがあり、Amazon Cognito が authorization、、token、および jwks_uriエンドポイントURLsの を取得できる場合はuserInfo発行者による自動入力URLを使用します。

  12. IdP URLsから発行者URLまたは authorizationtokenuserInfo、、jwks_uriエンドポイントを入力します。

    注記

    検出、自動入力、および手動で入力された では、ポート番号 443 と 80 のみを使用できますURLs。OIDC プロバイダーが非標準TCPポートを使用している場合、ユーザーログインは失敗します。

    発行者は でURL始まりhttps:///文字で終わることはできません。例えば、Salesforce は次の を使用しますURL。

    https://login.salesforce.com

    発行者に関連付けられたopenid-configurationドキュメントでは、、authorization_endpointtoken_endpointuserinfo_endpointおよび の値HTTPSURLsを指定URLする必要がありますjwks_uri。同様に、手動入力 を選択すると、 HTTPS のみを入力できますURLs。

  13. OIDC クレームサブは、デフォルトでユーザープール属性のユーザー名にマッピングされます。他のOIDCクレームをユーザープール属性にマッピングできます。OIDC クレームを入力し、ドロップダウンリストから対応するユーザープール属性を選択します。例えば、通常、クレームの [email] はユーザープール属性の [E メール] にマッピングされます。

  14. ID プロバイダーからユーザープールに追加の属性をマッピングします。詳細は、「ユーザープール用 ID プロバイダー属性マッピングの特定」を参照してください。

  15. [Create] (作成) を選択します。

  16. [App client integration] (アプリケーションクライアント統合) タブから、リストにある [App clients] の 1 つを選択して、[Edit hosted UI settings] (ホストされた UI 設定の編集) をクリックします。新しい OIDC ID プロバイダーを Identity Provider の下のアプリケーションクライアントに追加します。

  17. [Save changes] (変更の保存) をクリックします。

の詳細についてはOIDC IdPs、「」を参照してくださいユーザープールでの OIDC ID プロバイダーの使用

IdP SAML でユーザーサインインを設定する

Amazon Cognito ユーザープールのフェデレーションを使用して、SAMLID プロバイダー (IdP ) と統合できます。ファイルをアップロードするか、メタデータドキュメントエンドポイント を入力して、メタデータドキュメントを指定しますURL。サードパーティーの のメタデータドキュメントの取得についてはSAML IdPs、「」を参照してくださいサードパーティー SAML ID プロバイダーの設定

ユーザープールで 2.0 ID SAML プロバイダーを設定するには
  1. Amazon Cognito コンソールに移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。

  2. [User Pools] (ユーザープール) を選択します。

  3. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  4. [Sign-in experience] (サインインエクスペリエンス) タブを選択します。[Federated sign-in] (フェデレーションサインイン) を検索し、[Add an identity provider] (ID プロバイダーの追加) を選択します。

  5. SAML ID プロバイダーを選択します。

  6. カンマで区切られた [Identifiers] (識別子) を入力します。識別子は Amazon Cognito に、ユーザーのサインイン E メールアドレスを確認し、ドメインに対応するプロバイダーに誘導する必要があることを伝えます。

  7. ユーザーがログアウトしたときに、Amazon Cognito が署名されたサインアウト要求をプロバイダーに送信するためには、[Add sign-out flow] (サインアウトフローの追加) を選択します。ホストされた UI を設定するときに Amazon Cognito が作成するhttps://mydomain.us-east-1.amazoncognito.com/saml2/logoutエンドポイントにサインアウトレスポンスを送信するように SAML2.0 ID プロバイダーを設定します。saml2/logout エンドポイントはPOSTバインディングを使用します。

    注記

    このオプションを選択し、SAMLID プロバイダーが署名付きログアウトリクエストを期待する場合は、Amazon Cognito が提供する署名証明書を SAML IdP で設定する必要があります。

    SAML IdP は署名付きログアウトリクエストを処理し、Amazon Cognito セッションからユーザーをログアウトします。

  8. [Metadata document source] (メタデータドキュメントソース) を選択します。ID プロバイダーがパブリック でSAMLメタデータを提供している場合はURL、メタデータドキュメントURLを選択して、そのパブリック を入力できますURL。それ以外の場合は、[Upload metadata document] (メタデータドキュメントをアップロード) を選択し、プロバイダーから以前ダウンロードしたメタデータファイルを選択します。

    注記

    プロバイダーにパブリックエンドポイントがある場合は、ファイルをアップロードするのではなくURL、メタデータドキュメント を入力することをお勧めします。を使用する場合URL、Amazon Cognito はメタデータを自動的に更新します。通常、メタデータの更新は 6 時間ごとまたはメタデータの有効期限が切れる前のいずれか早いタイミングで発生します。

  9. SAML プロバイダーとアプリ間の属性をマッピングして、SAMLプロバイダー属性をユーザープールのユーザープロファイルにマッピングします。ユーザープールの必須属性を属性マップに含めます。

    例えば、ユーザープール属性 を選択した場合はemail、ID プロバイダーからのSAMLアサーションに表示されるSAML属性名を入力します。ID プロバイダーが参照用にサンプルSAMLアサーションを提供する場合があります。ID プロバイダーの中には、 などの単純な名前を使用するものもあればemail、次のようなフォーマットURLされた属性名を使用するものもあります。

    http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  10. [Create] (作成) を選択します。

注記

HTTPS メタデータエンドポイント で SAMLIdP を作成するInvalidParameterExceptionときに が表示された場合はURL、メタデータエンドポイントSSLが正しく設定されており、それに関連付けられた有効なSSL証明書があることを確認してください。このような例外の 1 つの例は、「Error が からメタデータを取得する <metadata endpoint>".

署名証明書を追加する IdP SAML を設定するには
  • IdP が署名付きログアウトリクエストの検証に使用するパブリックキーを含む証明書を取得するには、Federation コンソールページの Identity ProvidersSAMLダイアログで Active SAML Providers署名証明書を表示するを選択します。

詳細については、SAML IdPs 「」を参照してくださいユーザープールでの SAML ID プロバイダーの使用