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

SaaSアプリケーションのREST APIはAuth0が発行するJWT(JSON Web Token)アクセストークンで保護されている。各エンドポイントへのアクセスはユーザーのサブスクリプションプラン(Free/Pro/Enterprise)に基づいて動的に制御したい。認証・認可をAPIエントリーポイントで一元管理し、バックエンドLambdaのコード重複を避ける方法はどれか。

A
API GatewayのLambdaオーソライザーでAuth0公開鍵によるJWT署名検証とDynamoDBでのプラン確認を行い、エンドポイントごとにIAMポリシーを動的に生成する
✓ 正解
Lambda オーソライザーは任意JWT形式の検証とカスタム認可ロジック(プラン確認)を統合でき、動的IAMポリシーを返してAPIレベルで一元的に認証・認可を処理できる。
B
API GatewayのHTTP APIにJWTオーソライザーを設定してAuth0トークンを検証し、サブスクリプションプランの認可チェックは各バックエンドLambdaのハンドラーに実装する
HTTP APIのJWTオーソライザーはJWT検証のみ対応しており、プランベースの動的認可をバックエンドLambdaに分散実装すると重複コードが発生し一元管理できない。
C
Amazon CognitoユーザープールオーソライザーをAPI Gatewayに設定し、Auth0をフェデレーテッドIdPとして追加してJWT署名検証をCognitoに委譲する
Cognitoユーザープールオーソライザーは自プールが発行したトークン専用であり、Auth0発行のJWTをCognitoオーソライザーで直接検証することはできない。
D
API Gatewayのリソースポリシーに各サブスクリプションプランが利用するCIDRブロックを定義し、IPアドレスに基づいてFree・Pro・Enterpriseのエンドポイントアクセスを制御する
API Gatewayのリソースポリシーはソースアカウント・VPC・IPによるアクセス制御を行うものであり、JWTクレームやプランに基づく動的認可制御には対応していない。

解説

Lambda オーソライザーは任意のJWT形式の署名検証とカスタムビジネスロジックを組み合わせたIAMポリシー動的生成が可能で、Auth0トークン検証とプランベースの認可をAPIレベルで一元管理できる。 選択肢B: HTTP APIのJWTオーソライザーはJWT署名検証のみ対応しており、プランベースの動的認可をバックエンドLambdaに分散実装すると重複コードが発生し一元管理できない。 選択肢C: CognitoユーザープールオーソライザーはCognito自プールが発行したトークン専用であり、Auth0発行のJWTをCognitoオーソライザーで直接検証することはできない。 選択肢D: API Gatewayのリソースポリシーはソースアカウント・VPC・IPによるアクセス制御を行うものであり、JWTクレームやプランに基づく動的認可制御には対応していない。

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

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

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