

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

# SAML 2.0 ID プロバイダー (IdP) を追加する
<a name="tutorial-create-user-pool-saml-idp"></a>

アプリケーションユーザーは SAML 2.0 ID プロバイダー (IdP) を使用してサインインできます。顧客が組織の内部顧客またはリンクされたビジネスである場合は、ソーシャル IdP ではなく SAML 2.0 IdP を選択できます。ソーシャル IdP がすべてのユーザーにアカウントへの登録を許可する場合、SAML IdP は組織が管理するユーザーディレクトリとペアになる可能性が高くなります。ユーザーが直接サインインしても、サードパーティーを介してサインインしても、すべてのユーザーにはユーザープールにプロファイルがあります。SAML ID プロバイダーを通じてサインインを追加しない場合は、この手順を省略してください。

詳細については、「[ユーザープールによる SAML ID プロバイダーの使用](cognito-user-pools-saml-idp.md)」を参照してください。

SAML ID プロバイダーを更新し、ユーザープールを設定する必要があります。ユーザープールを SAML 2.0 ID プロバイダーの依拠しているパーティーまたはアプリケーションとして追加する方法については、SAML ID プロバイダーのドキュメントを参照してください。

また、SAML ID プロバイダーにアサーションコンシューマーサービス (ACS) エンドポイントを提供する必要があります。SAML ID プロバイダーの SAML 2.0 POST バインド用に、ユーザープールドメインで次のエンドポイントを設定します。ユーザープールドメインの詳細については、「[ユーザープールのドメインを設定する](cognito-user-pools-assign-domain.md)」を参照してください。

```
https://Your user pool domain/saml2/idpresponse
With an Amazon Cognito domain:
https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/saml2/idpresponse
With a custom domain:
https://Your custom domain/saml2/idpresponse
```

ユーザープールのドメインプレフィックスとリージョン値は、[Amazon Cognito コンソール](https://console.aws.amazon.com/cognito/home)の **[ドメイン]** メニューにあります。

SAML ID プロバイダーによっては、オーディエンス URI や SP エンティティ ID とも呼ばれる、サービスプロバイダー (SP) `urn` も指定する必要があります。

```
urn:amazon:cognito:sp:<yourUserPoolID>
```

ユーザープール ID は、[Amazon Cognito コンソール](https://console.aws.amazon.com/cognito/home)のユーザープールに関する **[概要]** で確認できます。

また、SAML ID プロバイダーを設定して、ユーザープールに必要なすべての属性の属性値を提供する必要もあります。通常、`email` はユーザープールの必須属性です。その場合、SAML ID プロバイダーは、SAML アサーションの `email` 値 (クレーム) を指定する必要があります。

Amazon Cognito ユーザープールはバインディング後のエンドポイントで SAML 2.0 フェデレーションをサポートします。これにより、ユーザープールがユーザーエージェント経由で ID プロバイダーから直接 SAML レスポンスを受信するため、アプリケーションで SAML アサーションレスポンスを受信して解析する必要がなくなります。

**ユーザープールに SAML 2.0 ID プロバイダーを設定する**

1. [Amazon Cognito コンソール](https://console.aws.amazon.com/cognito/home)に移動します。プロンプトが表示されたら、 AWS 認証情報を入力します。

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

1. リストから既存のユーザープールを選択するか、[ユーザープールを作成](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html)します。

1. **[ソーシャルプロバイダーと外部プロバイダー]** メニューを選択します。**[Federated sign-in]** (フェデレーションサインイン) を検索し、**[Add an identity provider]** (ID プロバイダーの追加) を選択します。

1. **[SAML]** ソーシャル ID プロバイダーを選択します。

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

1. ユーザーがログアウトしたときに、Amazon Cognito が署名されたサインアウト要求をプロバイダーに送信するためには、**[Add sign-out flow]** (サインアウトフローの追加) を選択します。SAML 2.0 ID プロバイダーを設定して、マネージドログインの設定時に作成した `https://<your Amazon Cognito domain>/saml2/logout` エンドポイントに、サインアウト応答を送信する必要があります。`saml2/logout` エンドポイントでは、POST バインディングを使用します。
**注記**  
このオプションが選択されていて、SAML ID プロバイダーが署名付きログアウトリクエストを期待する場合は、SAML IdP で Amazon Cognito が提供する署名証明書を設定する必要もあります。  
SAML IdP は、署名されたログアウトリクエストを処理し、Amazon Cognito セッションからユーザーをログアウトさせます。

1. **[Metadata document source]** (メタデータドキュメントソース) を選択します。ID プロバイダーがパブリック URL で SAML メタデータを提供する場合は、**[Metadata document URL]** (メタデータドキュメント URL) を選択してそのパブリック URL を入力できます。それ以外の場合は、**[Upload metadata document]** (メタデータドキュメントをアップロード) を選択し、プロバイダーから以前ダウンロードしたメタデータファイルを選択します。
**注記**  
プロバイダーにパブリックエンドポイントがある場合は、ファイルをアップロードするのではなく、メタデータドキュメントの URL を入力することをお勧めします。これにより、Amazon Cognito はメタデータを自動的に更新できます。通常、メタデータの更新は 6 時間ごとまたはメタデータの有効期限が切れる前のいずれか早いタイミングで発生します。

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

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

   ```
   http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
   ```

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