DVA-C02セキュリティHARD単一選択

ある企業は Cognito ID プールを使って認証済みユーザーと未認証(ゲスト)ユーザーの両方に AWS リソースへのアクセスを提供しています。セキュリティ審査で「Cognito の拡張認証フロー(Enhanced Authflow)と基本認証フロー(Basic Authflow)の違いを正確に把握していない」と指摘されました。拡張認証フローの特徴として正しいものはどれですか?

  1. A. 拡張認証フローでは ID プールに設定できるロールが 1 つのみに制限され、認証済み・未認証の区別がない
  2. B. 拡張認証フローでは、Cognito が STS を代わりに呼び出して一時認証情報を取得するため、クライアントに STS への直接アクセス権限が不要で、ロールの選択も Cognito が行う
  3. C. 拡張認証フローはレガシーな方法であり、現在は基本認証フローの使用が推奨されている
  4. D. 拡張認証フローでは、クライアントが直接 STS の AssumeRoleWithWebIdentity を呼び出して一時認証情報を取得する
解答と解説を見る

正解: B

Cognito ID プールの拡張認証フロー(Enhanced Authflow、デフォルト)では、クライアントが Cognito に GetCredentialsForIdentity を呼び出すだけで、Cognito が内部で STS の AssumeRoleWithWebIdentity を呼び出して一時認証情報を返します。クライアントは STS に直接アクセスする必要がなく、使用するロールは Cognito のルールに基づいて自動選択されます。一方、基本認証フローではクライアントが GetOpenIdToken を呼び出して OpenID Connect トークンを取得し、そのトークンで STS の AssumeRoleWithWebIdentity を直接呼び出します。D は基本認証フロー(Basic Authflow)の説明です。A は誤りで、拡張フローでも認証済み・未認証で異なるロールを設定できます。C は誤りで、拡張フローが推奨されており基本フローは高度なカスタマイズが必要な場合にのみ使用します。

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