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

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

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

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

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

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

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

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

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

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

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

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