Q74 — AWS SAA-C03 第16章
第 74/100 問 | ← 第16章
Q1274. ある企業が、Amazon Elastic Container Service(Amazon ECS)クラスター内のタスクとしてアプリケーションを実行しています。このアプリケーションは、特定のグループのAmazon S3バケットに対する読み取りおよび書き込みアクセス権限を必要とします。これらのS3バケットは、ECSクラスターと同じAWSリージョンおよび同じAWSアカウント内に存在します。企業は、最小権限の原則に従って、アプリケーションにこれらのS3バケットへのアクセスを許可する必要があります。 これらの要件を満たすソリューションの組み合わせはどれですか?(2つ選択してください。)
- A. 各S3バケットにタグを追加し、そのタグと値を条件(StringEquals)で照合するIAMポリシーを作成します。
- B. 各S3バケットの完全なAmazonリソースネーム(ARN)を一覧表示するIAMポリシーを作成します。 ✓
- C. IAMポリシーをECSタスクのインスタンスロールにアタッチします。
- D. すべてのS3バケット名の組み合わせに一致するワイルドカードARN(例:arn:aws:s3:::*)を含むIAMポリシーを作成します。
- E. IAMポリシーをECSタスクのタスクロールにアタッチします。 ✓
正解: B. 各S3バケットの完全なAmazonリソースネーム(ARN)を一覧表示するIAMポリシーを作成します。, E. IAMポリシーをECSタスクのタスクロールにアタッチします。
解説
正しいソリューションは、ECSタスクに対して最小権限に基づく特定S3バケットへのアクセスを保証し、AWSのベストプラクティスに準拠している必要があります。各選択肢を検討します。 正解:B および E なぜこれらの選択肢が最適か: B. 各S3バケットの完全なARNを一覧表示するIAMポリシーを作成する。 → 最小権限:バケットARNを明示的に列挙することで、必要なバケットのみへのアクセス許可となり、過剰な権限付与を回避できます。 例(ポリシー): { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject", "s3:PutObject"], "Resource": ["arn:aws:s3:::bucket1/", "arn:aws:s3:::bucket2/"] } ] } E. IAMポリシーをECSタスクのタスクロールにアタッチする。 → タスクロール(正しい割り当て先):ECSタスクロールは、タスク内で実行されるコンテナ化されたアプリケーションに権限を付与します。一方、オプションCの「インスタンスロール」は、ECSクラスターをホストするEC2インスタンス自体に権限を与えるものであり、アプリケーションには適用されません。タスクロールへの割り当てにより、アプリケーション単位でのきめ細かなアクセス制御が可能になります。 他の選択肢が不適切な理由: A. 各バケットにタグを追加し、StringEquals条件でタグを照合するIAMポリシーを作成する。 → 最小権限には不向き:タグベースのポリシーは可能ですが、明示的なARNよりも精度が低く、タグの誤変更などによる設定ミスリスクがあります。AWSでは、最小権限の実現にはリソース固有のARNの使用が推奨されています。 C. IAMポリシーをECSタスクのインスタンスロールにアタッチする。 → 適切でないロール割り当て:インスタンスロールはEC2ホストに権限を付与するものであり、コンテナ化されたアプリケーションには関係ありません。これによりホストに過剰な権限が与えられ、最小権限の原則に反します。 D. すべてのS3バケット名に一致するワイルドカードARN(例:arn:aws:s3:::*)を含むIAMポリシーを作成する。 → 最小権限に違反:ワイルドカードはすべてのバケットへのアクセスを許可するため、セキュリティ上危険です。要件では「特定のバケット」へのみアクセスを許可することが明記されています。 要点の比較: ・最小権限アクセス:B(明示的ARN)&E(タスクロール)は、指定されたバケットのみに限定 → A(タグ)やD(ワイルドカード)は精度が低く、不適切 ・正しいIAMロール割り当て:E(タスクロール)=アプリケーション向け → C(インスタンスロール)=ホスト向け(不適) ・セキュリティベストプラクティス:明示的ARN > タグ > ワイルドカード → Dはセキュリティ上不適切 結論: 正しい組み合わせは、 B(明示的ARN)→ 最小権限を保証 E(タスクロール)→ アプリケーションに直接権限を付与 最終的な正解:B および E