> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS API GatewayとLambdaでトークンベースの認証を使ってサーバーレスアプリケーションを構築する

> AWS API GatewayとLambdaでトークンベースの認証を使ってサーバーレスアプリケーションを構築する方法

<Warning>
  この機能は委任を使用します。2017年6月8日より、アドオンを使用していないテナントでは、デフォルトで委任が無効になります。委任を必要とするアドオンを使用中のレガシーテナントは、引き続きこの機能を使用できます。今後、委任機能が変更されるか、サービスから削除されることがあれば、使用中のお客様が余裕を持って移行できるよう、あらかじめお知らせします。また、委任はカスタムドメインの使用をサポートしていないため、委任に依存する機能をカスタムドメインと共に使うとうまく機能しない可能性があります。
</Warning>

AWSでは、AWS Lambda、Amazon API Gateway、およびJavaScriptアプリケーションを使って、強力かつサーバーレス、そして高度にスケーラブルなAPIとアプリケーションを作成することができます。

サーバーレスアプリケーションはカスタムコードをコンピュートサービスとして実行します。その際、サービスをホストするための運用環境を維持する必要はありません。代わりに、[AWS Lambda](https://aws.amazon.com/lambda/)などのサービスがユーザーのためにコードを実行します。

Amazon API GatewayはLambda関数の前にサービスレイヤーを追加することで、セキュリティを拡張し、入力・出力メッセージの変換を管理し、スロットリングや監査などの機能を提供して、AWS Lambdaの機能を拡張します。サーバーレスアプローチにより、スケールアウトやフォールトトレランスなどの懸念事項がコードを実行するコンピュートサービスの責任となるため、運用上の課題が簡素化されます。

ただし、通常は、XやFacebookなどのソーシャルプロバイダーから、あるいは独自の組織内のActive Directoryや顧客データベースから、APIを既存のユーザーに紐づけておくとよいでしょう。このチュートリアルでは、AWSに対するAuth0の委任とAWS Identity and Access Management（IAM）との統合を使用して、既存のユーザーに対してAmazon API Gatewayメソッドのアクセスを認可する方法を示します。

次に、AWS Lambda関数を使ってAmazon API Gatewayをセットアップし、AWS IAMロールでこれらの関数を安全に保護してから、Auth0の委任を使ってAWS IAMロールのトークンを取得する方法を一通り説明します。この後、内部データベースやソーシャルユーザーなど様々なクラスのユーザーに異なるアクセス許可を割り当て、<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-2" href="/docs/ja-jp/glossary?term=json-web-token" tip="JSON Web Token（JWT）: 二者間のクレームを安全に表現するために使用される標準IDトークン形式（および多くの場合、アクセストークン形式）。" cta="用語集の表示">JSON Web Token</Tooltip>（JWT）を使ってIDフローを実行する方法を示します。

以下の手順を踏むことになります。

* [手順1 - AWS API Gatewayのセットアップ](/docs/ja-jp/customize/integrations/aws/aws-api-gateway-delegation/aws-api-gateway-delegation-1)
* [手順2 - Amazon API Gatewayのセキュリティ保護とデプロイ](/docs/ja-jp/customize/integrations/aws/aws-api-gateway-delegation/aws-api-gateway-delegation-2)
* [手順3：アプリケーションの構築](/docs/ja-jp/customize/integrations/aws/aws-api-gateway-delegation/aws-api-gateway-delegation-3)
* [手順4 - Amazon API Gatewayで複数のロールを使用する](/docs/ja-jp/customize/integrations/aws/aws-api-gateway-delegation/aws-api-gateway-delegation-4)
* [手順5 - IDフローにIDトークンを使用する](/docs/ja-jp/customize/integrations/aws/aws-api-gateway-delegation/aws-api-gateway-delegation-5)
