Q39 — AWS SAA-C03 第9章

第 39/40 問 | ← 第9章

Q599. 小売企業には複数の事業部門があります。各事業部門のITチームが、それぞれ独自のAWSアカウントを管理しています。これらのチームアカウントはすべて、AWS Organizationsによる組織に属しています。各チームは、自社AWSアカウント内のAmazon DynamoDBテーブルで自社製品の在庫レベルを監視しています。 この企業は、共有AWSアカウントに中央在庫報告アプリケーションを展開しようとしています。このアプリケーションは、すべてのチームのDynamoDBテーブルからアイテムを読み取る必要があります。 これらの要件を最も安全に満たす認証オプションはどれですか?

正解: C. 各事業アカウントで、BU_ROLEという名前のIAMロールを作成し、そのロールにDynamoDBテーブルへのアクセスを許可するポリシーと、在庫アプリケーションアカウント内の特定のロールを信頼するトラストポリシーをアタッチします。在庫アプリケーションアカウントでは、STS AssumeRole API操作へのアクセスを許可するAPP_ROLEという名前のロールを作成します。アプリケーションがAPP_ROLEを使用してクロスアカウントロールBU_ROLEをAssumeRoleすることにより、DynamoDBテーブルを読み取るように設定します。

解説

正解は選択肢Cです。これは、クロスアカウントアクセスを実現するAWS推奨のセキュアな方法であり、一時的なセキュリティ資格情報を使用するため、長期的なアクセスキー(選択肢B)や静的なシークレット(選択肢A)の管理リスクを回避できます。IAMロールとSTS AssumeRoleの組み合わせにより、最小権限の原則が適用され、信頼関係(トラストポリシー)によって厳密なアクセス制御が可能になります。選択肢Aはシークレット管理を自動化できますが、シークレットのローテーションやアプリケーション側での取得・更新処理が必要であり、クロスアカウントアクセスの設計としては冗長かつセキュリティ面で劣ります。選択肢Bは長期有効なアクセスキーを使用するため、セキュリティリスクが高く、手動ローテーションは運用負荷とミスの原因となります。選択肢Dは誤りで、AWS Certificate Manager(ACM)はパブリック/プライベートTLS証明書の管理に特化しており、DynamoDBへのAPIアクセス認証には使用できません(DynamoDBはIAMベースの認証のみをサポートします)。