AWS API でトークンベース認証を使用してサーバーレスアプリケーションを構築する
AWS API Gateway と Lambda を使用して、トークンベース認証によるサーバーレスアプリケーションを構築する方法。
AWS では、AWS Lambda、Amazon API Gateway、JavaScript アプリケーションを使用して、強力でサーバーレスかつ高いスケーラビリティを備えた API やアプリケーションを作成できます。
サーバーレスアプリケーションでは、サービスをホストする実行環境を維持することなく、コンピューティングサービス上でカスタムコードを実行できます。代わりに、AWS Lambda のようなサービスがコードを実行します。
Amazon API Gateway は、Lambda 関数の前段にサービスレイヤーを追加することで AWS Lambda の機能を拡張し、セキュリティの強化、入力および出力メッセージ変換の管理、スロットリングや監査などの機能を提供します。サーバーレスアプローチでは、スケールアウトや耐障害性といった課題を、コードを実行するコンピューティングサービス側が担うため、運用負荷を軽減できます。
ただし、多くの場合、Twitter や Facebook などのソーシャルプロバイダーのユーザーや、Active Directory や顧客データベース内の自社の組織のユーザーなど、既存のユーザーと API を結び付けたいはずです。このチュートリアルでは、AWS 向け Auth0 delegation と AWS Identity and Access Management (IAM) との統合を使用して、既存のユーザーによる Amazon API Gateway メソッドへのアクセスを認可する方法を説明します。
続いてこのチュートリアルでは、AWS Lambda 関数を使用した Amazon API Gateway のセットアップ、それらの関数を AWS IAM ロールで保護する方法、さらに AWS IAM ロール用のトークンを取得するために Auth0 delegation を使用する方法を順に説明します。また、内部データベースユーザーやソーシャルユーザーなど、さまざまな種類のユーザーに異なる権限を割り当てる方法や、 (JWT) を使用してアイデンティティを伝達する方法についても紹介します。
次の手順で進めます。