メインコンテンツへスキップ
API の保護には、IAM ロールやポリシーの代わりに Amazon Cognito のユーザープールを使用できます。 このチュートリアルを始める前に、適切な Amazon Cognito User Pools を作成してください。

Cognito ユーザープール を API Gateway API と統合する

Amazon API Gateway Console に移動します。左側のナビゲーションバーで、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 と統合します。

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

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