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

モバイルアプリ開発チームは、ユーザーに対してGoogle等の外部ソーシャルログインを提供する認証・認可基盤を設計しています。ユーザーがサインインに成功した後、モバイルアプリから直接Amazon S3バケットへ写真ファイルを安全にアップロードできる仕組みを作る必要があります。ユーザーの認証処理と、S3アクセスに必要な制限付きの動的アクセス権限付与を組み合わせる正しい構成はどれですか。

A
Amazon Cognito ユーザープールでユーザー認証を行い、発行された認証トークンをAmazon Cognito アイデンティティプールへ渡してIAM一時認証情報を取得する。
✓ 正解
ユーザープールで認証した後にアイデンティティプール経由でIAM一時クレデンシャルを発行させるアプローチが、S3への直接アクセスを提供する標準構成です。
B
Amazon Cognito ユーザープールで認証を行い、取得したJWTアクセストークンをそのままS3バケットポリシーの条件評価式に直接割り当ててアクセスを許可する。
Cognito ユーザープールが発行するJWTトークンをそのままS3バケットポリシーの条件文に埋め込んでアクセス制御することはできません。
C
モバイルアプリ内に永続的なIAMユーザーのアクセスキーを埋め込み、認証完了時にAWS STSのGetSessionToken APIを呼び出して権限を取得する。
モバイルアプリ内に永続的なIAMユーザーのアクセスキーを埋め込む手法は極めて危険であり、セキュリティ上の重大なアンチパターンです。
D
Amazon Cognito アイデンティティプールのみを使用し、外部IdP連携やユーザー情報のデータベース管理もすべてアイデンティティプール内で処理させる。
アイデンティティプール自体はユーザーディレクトリ機能を持たないため、ユーザーの管理や認証基盤を単体で完結させることはできません。

解説

Amazon Cognito ユーザープールはユーザーのサインアップやサードパーティIdP(Google等)とのログイン「認証」を担当し、認証トークン(JWT)を発行します。一方、Cognito アイデンティティプール(IDプール)は、その認証トークンを評価してS3などのAWSリソースへ直接アクセスするための「認可」として評価済みIAM一時クレデンシャルを発行します。したがって、ユーザープールで認証し、アイデンティティプールで一時クレデンシャルを取得させる組み合わせが正解です。

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

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

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