

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

# サインイン後の API Gateway を使用したリソースへのアクセス
<a name="user-pool-accessing-resources-api-gateway-and-lambda"></a>

Amazon Cognito ユーザープールトークンの一般的な用途は、[API Gateway REST API](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html) へのリクエストを認可することです。アクセストークンの OAuth 2.0 スコープは、`/app_assets` 用の `HTTP GET` のようなメソッドとパスを認可できます。ID トークンは API への汎用認証として機能し、ユーザー属性をバックエンドサービスに渡すことができます。API Gateway には、[HTTP API 用の JWT オーソライザー](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html)や [Lambda オーソライザー](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)などの追加のカスタム認証オプションがあり、よりきめ細かなロジックを適用できます。

次の図は、アクセストークンの OAuth 2.0 スコープを使用して REST API へのアクセスを取得しているアプリケーションを示しています。

![\[Amazon Cognito ユーザープールを使用して認証し、Amazon API Gateway を使用して API リソースへのアクセスを認可するアプリケーションのフロー図。\]](http://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/images/access-services-api-gateway.png)


アプリケーションは、認証されたセッションからトークンを収集し、それらをベアラトークンとしてリクエストの `Authorization` ヘッダーに追加する必要があります。API、パス、およびメソッド用に設定したオーソライザーを設定して、トークンの内容を評価します。API Gateway は、オーソライザー用に設定した条件にリクエストが一致する場合にのみデータを返します。

API Gateway API がアプリケーションからのアクセスを承認できる可能性のある方法は次のとおりです。
+ アクセストークンは有効であり、有効期限が切れておらず、正しい OAuth 2.0 スコープが含まれています。[REST API 用の Amazon Cognito ユーザープールオーソライザー](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html)は、エントリに対する障壁が低い一般的な実装です。また、このタイプのオーソライザーへのリクエストの本文、クエリ文字列パラメータ、およびヘッダーを評価することもできます。
+ ID トークンは有効であり、有効期限が切れていません。ID トークンを Amazon Cognito オーソライザーに渡すと、アプリケーションサーバーで ID トークンの内容をさらに検証できます。
+ アクセストークンまたは ID トークンのグループ、クレーム、属性、ロールは、Lambda 関数で定義した要件を満たします。[Lambda オーソライザー](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html)は、リクエストヘッダー内のトークンを解析し、認可に関する決定のために評価します。関数にカスタムロジックを構築するか、[Amazon Verified Permissions](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/what-is-avp.html) に API リクエストを行うことができます。

また、ユーザープールからのトークンを使用して [AWS AppSync GraphQL API](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html#amazon-cognito-user-pools-authorization) へのリクエストを認可することもできます。