c3.2 Infrastructure as Code を使う
CloudFormation、AWS CDK、または Terraform でインフラをコードとして記述します。IaC はバージョン管理と変更管理をもたらし、デプロイ前にテンプレートを検査でき、侵害された環境の再構築を迅速かつ再現可能にします。
実装ガイダンス
バージョン管理されたコードからインフラを構築する
インフラを AWS CloudFormation、AWS CDK、または HashiCorp Terraform などのサードパーティツールで定義します。Infrastructure as Code(IaC)はガバナンスを向上させ、アーキテクチャをバージョン管理し、変更管理に組み込み、侵害された環境を迅速かつ一貫して再構築できるようにします。
IaC を早期に採用すると効果がありますが、既存インフラに後からテンプレートを当てはめるのは簡単ではありません。組織がいずれ IaC に移行するなら、早めに始めることを優先してください。
デプロイ前にテンプレートを検査する
パイプラインでテンプレートを検証し、誤設定が生まれる前に捕捉します。
- AWS CloudFormation Guard は、ポリシー・アズ・コードのルールに照らしてテンプレートを検査します。たとえばすべてのバケットに暗号化を要求します。
- cfn-nag、checkov、cdk-nag(Automated Security Helper に同梱)などのツールは、IaC の安全でないパターンをスキャンします。
デプロイ前に検証する
ポリシーチェックでパイプラインをゲートします。たとえばテンプレートが CloudFormation Guard のルールに違反したらビルドを失敗させます:
cfn-guard validate \
--data template.yaml \
--rules security-rules.guardHow to validate
- インフラはコードとして定義され、バージョン管理下にありますか?
- デプロイ前に IaC テンプレートのセキュリティ問題をスキャンしていますか(たとえば CloudFormation Guard、checkov)?
- 侵害された環境をコードから迅速に再構築できますか?
Threats addressed
- 手作業で構築したインフラは逸脱し、監査が難しく、侵害後の再構築も遅くなります。レビューされていない変更は、安全でない構成を気づかれないまま持ち込むことがあります。
AWS サービス
料金
追加料金なし
CloudFormation 自体は無料で、プロビジョニングされたリソースに対してのみ課金されます。CloudFormation の料金を参照してください。
Cloud Security Maturity Model