Q1. 共有ツールアカウントで稼働する AWS CodePipeline から、本番アカウントの CloudFormation スタックを更新する構成に変更することになりました。ビルド成果物はツールアカウントの S3 アーティファクトバケットに保存され、本番アカウント側のロールがそれを取得してデプロイします。監査部門からは、保管時の暗号化を自組織で管理する鍵で行うことも求められています。本番アカウントが成果物を確実に復号して取得できるようにするために必要な構成はどれですか?
- A. アーティファクトバケットの暗号化を SSE-S3 のままにし、本番アカウントのロールへバケットの読み取り権限だけを付与する
- B. カスタマー管理の KMS キーでバケットを暗号化し、キーポリシーとバケットポリシーで本番アカウントに利用を許可する
- C. 本番アカウントへ成果物を複製する S3 レプリケーションを構成し、デプロイアクションに複製先を参照させる
- D. ツールアカウントの IAM ユーザーのアクセスキーを発行し、本番アカウント側のデプロイ設定に共有して埋め込む
答えと解説を見る
正解:B
A SSE-S3 の鍵は S3 のサービス管理でクロスアカウント共有ができないため、別アカウントのロールは成果物を復号できず取得に失敗する
B(正解) 正解。クロスアカウントの成果物受け渡しではカスタマー管理キーが必須で、キーポリシーとバケットポリシーの双方で相手アカウントの利用を許可する
C レプリケーションは非同期で実行順序を保証できず、アクションは自身のアーティファクトストアを参照するため構成として成立しない
D 長期認証情報の共有は漏洩リスクが高くベストプラクティスに反する。クロスアカウントはロールの引き受けで解決すべき