過去問ドリル

DVA-C02:AWS Certified Developer - Associate アプリケーションのセキュリティ 問1

アプリケーションのセキュリティ/アプリと AWS サービスの認証・認可の実装

モバイルアプリでユーザーを認証したうえで、Amazon API Gateway の API 呼び出しを認可したいと考えています。最も適切なのはどれですか。

当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「アプリケーションのセキュリティ」に対応。実際の試験問題ではありません)

正解:A

解説

Amazon Cognito のユーザープールでエンドユーザーを認証すると、ID トークンやアクセストークン(JWT)が発行されます。API Gateway に Cognito オーソライザーを設定すれば、API 呼び出し時にそのトークンを検証して認可できます。これにより、アプリ利用者ごとの認証・認可を、長期的な IAM 認証情報を配布せずに実現できます。

選択肢ごとの解説

  • A正しい。Cognito で認証してトークンを発行し、API Gateway の Cognito オーソライザーで検証すれば、API 呼び出しを安全に認可できます。
  • B誤り。エンドユーザーへの長期 IAM アクセスキー配布は、漏えいリスクが高く運用も困難で、ベストプラクティスに反します。
  • C誤り。認証なしで公開しアプリ側だけで制御するのは、API を直接叩かれると保護になりません。
  • D誤り。ルートユーザー認証情報の埋め込みは最も避けるべき運用です。
DVA-C02:AWS Certified Developer - Associateの問題を演習モードで解く