無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化複数選択

ある企業はAWS Organizationsで管理するマルチアカウント環境を持っており、DevOpsアカウント上のCodePipelineから本番アカウントへCloudFormationスタックをデプロイしたいと考えています。アーティファクトはDevOpsアカウントのS3バケットに保存されています。このクロスアカウントデプロイを安全に実現するために必要な設定を2つ選択してください。

A
本番アカウントにIAMロールを作成し、DevOpsアカウントのCodePipelineサービスロールARNをプリンシパルとするsts:AssumeRoleのトラストポリシーを設定したうえで、CloudFormationおよびS3の必要な権限を付与する
✓ 正解
クロスアカウントデプロイに必須の第1段階。本番アカウント側にIAMロール作成し、DevOpsのCodePipelineサービスロールがAssumeRoleで引き受けられるよう信頼ポリシーを設定したうえで、CloudFormationとS3権限を付与することで初めてデプロイが可能になります。
B
DevOpsアカウントのS3アーティファクトバケットにKMSカスタマーマネージドキー(CMK)による暗号化を設定し、本番アカウントのクロスアカウントロールがkms:Decryptを実行できるようキーポリシーを更新する
✓ 正解
クロスアカウント間でのS3アーティファクト取得に必須。AWSマネージドキーではクロスアカウント復号が不可のため、CMKで暗号化し、本番ロールがkms:Decryptを実行できるようキーポリシーを更新することで安全にアーティファクト取得が実現します。
C
AWS OrganizationsのSCP(サービスコントロールポリシー)で、DevOpsアカウントから本番アカウントへのCloudFormation実行を明示的に許可するポリシーを追加する
SCPはアクセスを制限する機能で、許可の付与には使用できません。クロスアカウント間のアクセス許可はロールの信頼ポリシーと権限で対応するため、この方法は不正解です。
D
S3アーティファクトバケットにCORS(クロスオリジンリソース共有)設定を追加し、本番アカウントのオリジンからのGET/PUTリクエストを許可する
CORSはWebブラウザのクライアントサイド要求向けの機構。CodePipelineのクロスアカウント呼び出しはIAMベースのAWS API実行であり、CORS設定は無関係で必要ありません。
E
AWS Transit Gatewayを設定してDevOpsアカウントVPCと本番アカウントVPC間のプライベートネットワーク接続を確立する
Transit GatewayはVPC間のプライベートネットワーク接続用。CodePipelineはIAM権限で制御されるAPIレベルでのデプロイであり、ネットワーク層の設定は必要ないため不正解です。

解説

本番アカウントにIAMロールを作成し、DevOpsアカウントのCodePipelineサービスロールARNをプリンシパルとするsts:AssumeRoleのトラストポリシーを設定したうえで、CloudFormationおよびS3の必要な権限を付与する DevOpsアカウントのS3アーティファクトバケットにKMSカスタマーマネージドキー(CMK)による暗号化を設定し、本番アカウントのクロスアカウントロールがkms:Decryptを実行できるようキーポリシーを更新する CodePipelineのクロスアカウントデプロイには2つの設定が必須です。 ①本番アカウントにクロスアカウントIAMロールを作成し、DevOpsアカウントのCodePipelineがAssumeRoleできるトラストポリシーを設定します。 ②S3アーティファクトバケットはKMS CMKで暗号化が必要です(SSE-S3のAWSマネージドキーはクロスアカウントでの復号が不可)。本番アカウントのロールにkms:Decrypt権限を付与することでアーティファクト取得が可能になります。SCPはアクセスを制限する機能であり許可の付与には使えません。CORSはWebブラウザ向けでIAM APIコールには無関係、Transit GatewayはVPCネットワーク接続用です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る