サインイン後に API Gateway でリソースにアクセスする - Amazon Cognito

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

サインイン後に API Gateway でリソースにアクセスする

Amazon Cognito ユーザープールトークンの一般的な用途は、API Gateway REST API へのリクエストを承認することです。アクセストークンの OAuth 2.0 スコープは、 HTTP GETのようなメソッドとパスを承認できます/app_assets。ID トークンは API への汎用認証として機能し、ユーザー属性をバックエンドサービスに渡すことができます。API Gateway には、HTTP APIs 用の JWT オーソライザーや、より詳細なロジックを適用できる Lambda オーソライザーなどの追加のカスタム認証オプションがあります。

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

Amazon Cognito ユーザープールで認証し、Amazon API Gateway で API リソースへのアクセスを許可するアプリケーションのフロー図。

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

API Gateway API がアプリケーションからのアクセスを承認する方法には、次のようなものがあります。

  • アクセストークンには、正しい OAuth 2.0 スコープが含まれています。REST API の Amazon Cognito ユーザープールオーソライザーは、エントリに対する障壁が低い一般的な実装です。このタイプのオーソライザーへのリクエストの本文、クエリ文字列パラメータ、ヘッダーを評価することもできます。

  • ID トークンは有効であり、有効期限が切れていません。ID トークンを Amazon Cognito オーソライザーに渡すと、アプリケーションサーバーで ID トークンの内容をさらに検証できます。

  • アクセストークンまたは ID トークンのグループ、クレーム、属性、またはロールは、Lambda 関数で定義した要件を満たします。Lambda オーソライザーは、リクエストヘッダー内のトークンを解析し、承認の決定について評価します。関数でカスタムロジックを構築するか、Amazon Verified Permissions に API リクエストを行うことができます。

ユーザープールからのトークンを使用して AWS AppSync GraphQL API へのリクエストを承認することもできます。