無限ノック › DOP 練習問題一覧 › 問題
DOP構成管理と Infrastructure as Code (IaC)

大規模なCloudFormationテンプレートのCI/CDパイプラインで、テンプレートのセキュリティ問題や設定ミスをデプロイ前に自動的に検出したい。コンプライアンス違反(例:S3バケットのパブリックアクセス許可)をパイプラインの早期段階でブロックする最も適切な方法はどれですか?

A
AWS Configのマネージドルールをデプロイ後に評価し、違反があればLambdaで自動ロールバックする
AWS Configによる評価はリソースのデプロイ後に実行されるためシフトレフトの原則に反し、コンプライアンス違反をデプロイ前にブロックできません。自動ロールバックでは違反リソースが一時的に作成されてしまいます。
B
CodeBuildでcfn-lintとcfn-guardを実行し、違反があればビルドを失敗させる
✓ 正解
「Shift Left」の原則に従いビルドステージでチェックします。cfn-lintは構文・ベストプラクティス検証、cloudformation-guard(cfn-guard)はカスタムポリシーに基づくコンプライアンス検証を行い、違反時にexit code≠0でビルドを失敗させ早期ブロックできます。
C
CloudFormationのスタックポリシーを設定して、危険なリソース変更を本番環境でブロックする
CloudFormationのスタックポリシーはデプロイ時の意図しないリソース変更を保護するものであり、テンプレートの静的なコンプライアンス検証やパイプライン早期段階での違反ブロックには対応していません。
D
AWS Security HubでCloudFormationテンプレートのスキャンを有効化し、高重大度の結果をSNS通知する
Security Hubはデプロイ済みリソースのランタイムのセキュリティ状態を集約管理するサービスであり、パイプライン内でのCloudFormationテンプレートの事前静的スキャンやデプロイ前ブロックには使用できません。

解説

「Shift Left(シフトレフト:セキュリティ検証をできるだけ開発の早期段階へ移動させる考え方)」の原則に従い、セキュリティチェックはデプロイ前のビルドステージで行うべきです。cfn-lintはテンプレートの構文・ベストプラクティス検証、cloudformation-guard(cfn-guard)はカスタムポリシールールに基づくコンプライアンス検証に使用できます。両ツールをCodeBuildで実行してexit code≠0でビルド失敗にすることで、デプロイ前に問題を早期検出・ブロックできます。 選択肢AのAWS Configによる評価はリソースのデプロイ後に実行されるためシフトレフトの原則に反し、コンプライアンス違反の事前ブロックができません。 選択肢CのCloudFormationのスタックポリシーはデプロイ時の意図しない変更からリソースを保護するものであり、テンプレートの静的コンプライアンス検証やパイプラインでの早期ブロックには対応していません。 選択肢DのSecurity Hubはランタイムのセキュリティ状態を集約管理するサービスであり、パイプライン内でのCloudFormationテンプレートの事前静的スキャンには使用できません。

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

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

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