Q40 — AWS SAA-C03 第5章
第 40/65 問 | ← 第5章
Q340. ある会社が、Amazon S3バケットからWebアプリケーションをホスティングしています。このアプリケーションでは、ユーザー認証にAmazon CognitoをIDプロバイダーとして使用し、保護されたリソース(別のS3バケットに格納)へのアクセスを許可するJSON Web Token(JWT)を返します。アプリケーションをデプロイした後、ユーザーからエラーが報告され、保護されたコンテンツにアクセスできなくなっています。ソリューションアーキテクトは、ユーザーが保護されたコンテンツにアクセスできるよう、適切な権限を付与してこの問題を解決する必要があります。これらの要件を満たすソリューションはどれですか?
- A. 保護されたコンテンツへのアクセスを許可する適切なIAMロールを引き受けるよう、Amazon Cognito IDプールを更新する。 ✓
- B. アプリケーションが保護されたコンテンツにアクセスできるよう、S3 ACLを更新する。
- C. ユーザーが保護されたコンテンツにアクセスできない原因となる、S3バケットにおける最終的一貫性(eventually consistent)読み取りの影響を防ぐため、アプリケーションをAmazon S3に再デプロイする。
- D. Amazon Cognito IDプールをカスタム属性マッピングを使用するように更新し、ユーザーが保護されたコンテンツにアクセスするための適切な権限を付与する。
正解: A. 保護されたコンテンツへのアクセスを許可する適切なIAMロールを引き受けるよう、Amazon Cognito IDプールを更新する。
解説
この問題の根本原因是、ユーザーが保護されたコンテンツにアクセスできないほど十分な権限が付与されていないことです。Amazon Cognitoがユーザーを認証しJWTを返す際、そのJWTに基づいて適切なIAMロールを引き受けるよう設定できます。したがって、この問題を解決するには、Amazon Cognito IDプールの設定を更新し、保護されたコンテンツへのアクセスを許可する適切なIAMロールを引き受けるようにする必要があります。これにより、認証済みユーザーにS3バケット内の保護されたリソースへアクセスするための必要な権限が付与されます。選択肢Bは不適切です。S3 ACLの更新はS3バケット自体のアクセス制御にのみ影響し、Amazon Cognitoが管理する認証・認可プロセスには関係ありません。選択肢Cも不適切です。アプリケーションをS3に再デプロイしても、認証済みユーザーに付与される権限は変化しません。また、最終的一貫性読み取りは、ユーザーに適切な権限が付与されていれば、保護されたコンテンツへのアクセス可能性に影響を与えるものではありません。選択肢Dは不適切です。IDプール内でのカスタム属性マッピングは、JWT内にユーザー属性を埋め込むために使用され、下流サービスに対して追加のユーザー情報を提供するものであり、保護されたコンテンツへのアクセス権限を直接制御するものではありません。