> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> IAM ロールやポリシーの代わりに Cognito を使用して API Gateway チュートリアルを保護する方法。

# Cognito を使用した AWS API Gateway の保護

API の保護には、IAM ロールやポリシーの代わりに Amazon Cognito のユーザープールを使用できます。

このチュートリアルを始める前に、適切な [Amazon Cognito User Pools](http://docs.aws.amazon.com/cognito/latest/developerguide/setting-up-cognito-user-identity-pools.html) を作成してください。

<div id="integrate-the-cognito-user-pool-with-the-api-gateway-api">
  ## Cognito ユーザープール を API Gateway API と統合する
</div>

[Amazon API Gateway Console](https://console.aws.amazon.com/apigateway) に移動します。左側のナビゲーションバーで、**SecurePets** API を選択します。

次に、**SecurePets** API の **Authorizers** を選択します。

画面中央付近の **Authorizers** 列で **Create** を選択し、**Cognito User Pool Authorizer** を作成することを指定します。

オーソライザーを設定するには、次の手順を実行します。

1. ユーザープール を作成した **Cognito region** を選択します。
2. 必要に応じて **Authorizer name** フィールドを変更します (選択した ユーザープール の名前が自動的に入力されるため、そのまま使用することもできます)
3. **Identity token source** フィールドを変更します。デフォルトでは、このフィールドは `method.request.header.Authorization` に設定されており、API 呼び出し元の ID トークンを含む受信リクエストヘッダー名は `Authorization` になります。
4. 必要に応じて、ユーザープール に関連付けられたクライアントIDを検証するための正規表現を **App client ID regex** フィールドに追加します。

オーソライザーの設定が完了したら、**Create** をクリックして ユーザープール を API と統合します。

<div id="enable-the-user-pool-authorizer-on-methods">
  ## メソッドで ユーザープール オーソライザーを有効にする
</div>

ユーザープール をオーソライザーとして使用する各メソッドで、そのメソッドに対して ユーザープール を有効にする必要があります。

`GET` メソッドで ユーザープール オーソライザーを有効にするには、次の手順に従います。

1. SecurePets API を選択したら、`/pets` の下に表示されている `GET` メソッドを選択します。
2. **Method Request** をクリックします。
3. Authorization Settings で、Authorization フィールドの横にある **編集アイコン** をクリックします。
4. 一覧から適切な Cognito ユーザープール オーソライザーを選択します。選択内容を保存するには、**チェックマーク アイコン** をクリックします。

Cognito ユーザープール をオーソライザーとして使用する追加のメソッド (`/pets` の `GET` と `PURCHASE`、および `/purchase` の `POST`) についても、この手順を繰り返します。
