投稿日: Jul 30, 2021

本日、AWS AppSync GraphQL API コール用に AWS Lambda を使用したカスタム承認ロジックを実装するための柔軟でシンプルな方法をリリースします。

AWS AppSync はマネージド GraphQL サービスです。このサービスを使用すると、より少ないネットワーク呼び出しで、1 つ以上のデータソースからのデータに安全にアクセス、操作、および結合するための柔軟な API を作成でき、アプリケーション開発がシンプルになります。AWS AppSync を使用して、アプリケーションがインターネットを介してインタラクションする GraphQL API を作成します。API エンドポイントはパブリックに到達可能ですが、不正アクセスを許可することはありません。AppSync API にアクセスするには、承認の方法 (リクエストヘッダー内のトークン、または AWS 認証情報を使用したリクエスト自体への署名) が常に必要です。最近まで、AppSync は 4 つの異なる承認モードを提供していました。

  • API キー
  • Amazon Cognito ユーザープール
  • OpenID Connect
  • AWS Identity and Access Management (IAM)

現在、既存の承認モードでは完全にはカバーされていない特定の要件があるユースケース向けに、AWS Lambda に基づく新しい承認モードを追加します。これにより、カスタム承認戦略を実装して GraphQL API を保護できます。

リクエストが AppSync に到達するたびに、選択した Lambda 関数はクライアントから承認トークンを受け取り、デベロッパーが定義した目的の承認ロジックを実行します。AppSync は、呼び出し後に Lambda からペイロードを受信し、それに応じて API コールを許可または拒否し、AppSync における Lambda から GraphQL リゾルバーへの承認された呼び出しの特定のコンテキストデータを取り込みます。

AppSync は、AWS Lambda を使用したカスタム承認ロジックを実装する機能を備えており、すべての承認要件を満たすために必要な柔軟性を提供します。AWS Lambda ベースの承認を単一の API 内の既存の AppSync 承認モードのいずれかと組み合わせて一致させ、特定の承認プロバイダーを GraphQL スキーマのタイプ、フィールド、またはオペレーションにリンクできます。

Lambda Authorizers は現在、AppSync が利用可能なすべての AWS リージョンで利用できます。詳細については、ブログ記事AppSync ドキュメントを参照してください。