DVA-C02開発MEDIUM単一選択

あるエンタープライズ企業が、API GatewayのHTTP APIを使って社内のマイクロサービスを統合している。認証にはAWS Cognitoではなく社内のOktaを使用しており、OktaのJWTアクセストークンでAPIを保護したい。最小の構成でOktaのJWTを検証する方法として最も適切なものはどれか。

  1. A. Lambda Authorizerを作成してOktaのJWKS(公開鍵)エンドポイントにアクセスしてトークンを手動検証する
  2. B. API GatewayのREST APIに切り替えてCognito User Pool Authorizerを使い、Cognitoのフェデレーション機能でOktaと連携する
  3. C. OktaのSAMLアサーションをCognito Identity Poolで変換してからAPI Gatewayに渡す
  4. D. API GatewayのHTTP APIのJWTオーソライザーを設定し、OktaのIssuer URLとAudienceを指定する
解答と解説を見る

正解: D

API GatewayのHTTP APIは、JWTオーソライザー機能をネイティブにサポートしており、Issuer(発行者のURL)とAudience(想定される受信者)を設定するだけで、そのOIDCプロバイダー(Okta、Auth0、独自IDPなど)が発行するJWTトークンをAPI Gatewayが自動的に検証する。LambdaやCognitoを介さないため設定が最小で済み、Lambda Authorizerと比べてレイテンシも低い。OktaはOIDC標準に準拠しているため、OktaのIssuer URL(例: https://your-org.okta.com/oauth2/default)とAudienceを設定するだけで連携できる。選択肢AのLambda AuthorizerによるJWKS手動検証は機能するが、Lambda関数の実装・デプロイ・メンテナンスが必要であり「最小の構成」に反する。選択肢CのSAML→Cognito変換はJWTではなくSAMLベースのフロー向けであり、アーキテクチャが不必要に複雑になる。選択肢BのREST APIへの切り替えとCognitoフェデレーションは、既存のHTTP APIを廃棄して再構築する大規模変更であり、最小構成の要件に反する。

▸ この試験を本気で演習する(全150問・無料)