Skip to main content
API を保護するには、IAMロールやポリシーの代わりに、Amazon Cognito のユーザープールを使用することもできます。 このチュートリアルを始める前に、適切な Amazon Cognito ユーザープール を作成しておいてください。

Cognito User Pool を API Gateway API と統合する

Amazon API Gateway Console に移動します。左側のナビゲーションバーで、SecurePets API を選択します。 次に、SecurePets API の Authorizers を選択します。 画面中央付近の Authorizers 列で Create を選択し、Cognito User Pool Authorizer を作成することを指定します。 authorizer を設定するには、次の手順に従います。
  1. ユーザープール を作成した Cognito region を選択します。
  2. 必要に応じて Authorizer name フィールドを変更します (選択した ユーザープール の名前が自動的に入力されるため、そのままでも問題ありません) 。
  3. Identity token source フィールドを変更します。既定では、このフィールドは method.request.header.Authorization に設定されています。これは、API 呼び出し元のアイデンティティ token を含む受信 request header の名前が Authorization であることを示します。
  4. 必要に応じて、ユーザープール に関連付けられた client ID を validate するための正規表現を App client ID regex フィールドに追加します。
authorizer の設定が完了したら、Create をクリックして ユーザープール を API と統合します。

メソッドで ユーザープール Authorizer を有効にする

ユーザープール を authorizer として使用する各メソッドでは、そのメソッドごとに ユーザープール を有効にする必要があります。 GET メソッドで ユーザープール authorizer を有効にするには、次の手順に従います。
  1. SecurePets API を選択したら、/pets の下にある GET メソッドを選択します。
  2. メソッド要求 をクリックします。
  3. Authorization Settings で、Authorization フィールドの横にある 編集アイコン をクリックします。
  4. 一覧から適切な Cognito ユーザープール authorizer を選択します。選択内容を保存するには、チェックマークアイコン をクリックします。
Cognito ユーザープール を authorizer として使用する追加のメソッドについても、この手順を繰り返します (/petsGETPURCHASE、および /purchasePOST) 。