Q69 — AWS SAA-C03 第4章

第 69/105 問 | ← 第4章

Q264. ソリューションアーキテクトは、チームメンバーが2つの異なるAWSアカウント(開発アカウントと本番アカウント)内のAmazon S3バケットにアクセスできるようにする必要があります。現在、チームメンバーは、開発アカウント内で適切な権限を持つIAMグループに割り当てられた個別のIAMユーザーを使用して、開発アカウントのS3バケットにアクセスしています。ソリューションアーキテクトは、本番アカウントにIAMロールを作成しました。このロールには、本番アカウント内のS3バケットへのアクセスを許可するポリシーがアタッチされています。 これらの要件を満たしつつ、最小権限の原則に準拠するソリューションはどれですか?

正解: B. 本番アカウントのロールの信頼ポリシーに開発アカウントをプリンシパルとして追加する

解説

異なるAWSアカウント間でAmazon S3バケットへのアクセスを許可するには、本番アカウントのロールの信頼ポリシーに開発アカウントをプリンシパルとして追加します。したがって、正解は選択肢Bです。 選択肢Aでは、開発アカウントのユーザーにAdministratorAccessポリシーをアタッチすることを提案しています。この方法は機能する可能性がありますが、最小権限の原則に反し、必要以上に広範な権限を付与してしまう可能性があります。 選択肢Cでは、本番アカウントのS3バケットでS3 Block Public Access機能を無効化することを提案しています。この方法はバケットへのアクセスを可能にする場合がありますが、チームメンバーがどのように認証を行い、他のリソースにアクセスするかという課題には対応していません。 選択肢Dでは、本番アカウントに各チームメンバーごとに一意の認証情報をもつユーザーを作成することを提案しています。この方法も機能する可能性がありますが、チームメンバーの役割変更や退職時に個別ユーザーのアクセス権限を管理・失効させるのが困難になるため、運用上非効率です。 一方、本番アカウントのロールの信頼ポリシーに開発アカウントをプリンシパルとして追加することで、開発アカウントのチームメンバーはそのロールを引き受けて本番アカウントのS3バケットにアクセスできます。この際、アカウント間でシークレットを共有する必要はありません。さらに、信頼ポリシーを細かく制御し、開発アカウント内の特定のIAMユーザーまたはIAMグループのみがロールを引き受けられるように設定可能です。このソリューションは、質問文の要件を満たすと同時に、最小権限の原則にも完全に準拠しています。