無限ノック › DVA 練習問題一覧 › 問題
DVAセキュリティ

API Gatewayで保護されたREST APIを構築しています。クライアントはリクエストのAuthorizationヘッダーにカスタムOAuthトークンを含め、そのトークンを社内の外部OAuthサーバーで検証するカスタム認証ロジックを実装したいと考えています。どのオーソライザーを使用すべきですか?

A
トークンベースのLambda Authorizer(TOKEN型):AuthorizationヘッダーのトークンのみをLambda関数に渡し、OAuthサーバーで検証してIAMポリシーを返す
✓ 正解
Authorization ヘッダーのトークンを Lambda に渡して外部 OAuth サーバーで検証し、IAM ポリシーを返す。外部 OAuth サーバーとのカスタム統合に最適で、TTL キャッシュによる API コール削減も可能。
B
リクエストベースのLambda Authorizer(REQUEST型):ヘッダー・クエリパラメータ・パスパラメータを含むリクエスト全体をLambdaに渡す
リクエスト全体(ヘッダー・クエリ・パス・ステージ変数など)を Lambda に渡してオーソライズする方式。今回はトークンのみの検証で十分なため、TOKEN 型の方がシンプルで適切。
C
Cognito User Pool Authorizer:Cognito が発行した ID トークンまたはアクセストークン(JWT)を自動検証し、認証済みユーザーのリクエストを許可する
Cognito が発行した JWT のみを自動検証する方式であり、社内の外部 OAuth サーバーが発行したカスタムトークンには対応していない。外部 OAuth サーバーとの連携が必要な本問の要件を満たさない。
D
IAM Authorizer:クライアントに AWS 署名バージョン4(SigV4)でリクエストに署名させ、IAM ポリシーに基づいてアクセス制御を実施する
AWS 署名バージョン4(SigV4)によるリクエスト署名が必要で、AWS SDK または IAM 認証情報を持つクライアントが対象。カスタム OAuth トークンを扱うユースケースには適していない。

解説

API GatewayのLambda Authorizerには2種類あります。TOKEN型はAuthorizationヘッダー(またはカスタムヘッダー)のトークンのみをLambdaに渡すシンプルな形式で、外部OAuthサーバーへのトークン検証に最適です。いずれのLambda AuthorizerもIAMポリシーを返し、API Gatewayがアクセス判定します。TTLを設定するとポリシーがキャッシュされAPIコールを削減できます。 選択肢BのREQUEST型はヘッダー・クエリ・パスなど複数の入力値をもとにオーソライズしたい場合に使用します。 選択肢CのCognito User Pool AuthorizerはCognito発行のJWTのみ検証可能で外部OAuthサーバーには対応していません。 選択肢DのIAM AuthorizerはAWS署名バージョン4(SigV4)でのリクエスト署名が必要であり、カスタムOAuthトークン検証には適していません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る