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

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

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

フェデレーティッド 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. [変更の保存] をクリックします。

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

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

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

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

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

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 など) を定義します。OAuth 2.0 仕様に従い、スコープはスペースで区切る必要があります。

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

  10. [Attribute request method] (属性リクエストメソッド) を選択して、プロバイダーが操作する [userInfo] エンドポイントからユーザーの詳細をフェッチするために必要な HTTP メソッド(GET または POST)を Amazon Cognito に提供します。

  11. [Setup method] (セットアップ方法) を選択して、OpenID Connect エンドポイントを、[Auto fill through issuer URL] (発行者 URL による自動入力) または [Manual input] (手動入力) で取得します。[Auto fill through issuer URL] (発行者 URL による自動入力) は、Amazon Cognito が authorizationtokenuserInfo、および jwks_uri エンドポイントの URL を取得できるパブリック .well-known/openid-configuration エンドポイントを、プロバイダーが持っている場合に使用します。

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

    注記

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

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

    https://login.salesforce.com

    発行者 URL に関連付けられている openid-configuration ドキュメントには、次の値の HTTPS URL を指定する必要があります: authorization_endpointtoken_endpointuserinfo_endpoint、および jwks_uri。同様に、[Manual input] (手動入力) を選択する場合は、HTTPS URL のみを入力できます。

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

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

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

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

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

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

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

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

ユーザープールに SAML 2.0 ID プロバイダーを設定する
  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] (サインアウトフローの追加) を選択します。SAML 2.0 ID プロバイダーを設定して、ホストされた UI を構成するときに Amazon Cognito が作成する https://mydomain.us-east-1.amazoncognito.com/saml2/logout エンドポイントにサインアウト応答を送信します。saml2/logout エンドポイントでは、ポストバインディングを使用します。

    注記

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

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

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

    注記

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

  9. [Map attributes between your SAML provider and your app] (SAML プロバイダーとアプリ間で属性をマッピング) をクリックして、SAML プロバイダーの属性をユーザープールのユーザープロファイルにマッピングします。ユーザープールの必須属性を属性マップに含めます。

    たとえば、[User pool attribute] (ユーザープール属性) email を選択する場合、ID プロバイダーからの SAML アサーションに表示される SAML 属性名を入力します。ID プロバイダーは、参考として SAML アサーションのサンプルを提供する場合があります。ID プロバイダーの中には、email などの単純な名前を使用するものもあれば、次のような URL 形式の属性名を使用するものもあります。

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

注記

HTTPS メタデータエンドポイント URL を使用して SAML IdP を作成中に InvalidParameterException が表示される場合、メタデータエンドポイントの SSL が正しくセットアップされていること、および有効な SSL 証明書が関連付けられていることを確認してください。このような例外の例として、「Error retrieving metadata from <metadata endpoint>」が挙げられます。

署名証明書を追加するために SAML IdP をセットアップする
  • 署名付きログアウトリクエストを検証するために IdP が使用するパブリックキーを含む証明書を取得するには、[フェデレーション] コンソールページの [ID プロバイダー] にある [SAML] ダイアログで [アクティブな SAML プロバイダー] の [デジタル署名用証明書の表示] を選択します。

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