投稿日: Jun 30, 2022

AWS CloudFormation は AWS CloudFormation Guard 2.1 (cfn-guard) の一般提供 (GA) を発表しました。これは Guard 2.0 に新機能を導入して強化したものです。CloudFormation Guard はオープンソースのドメイン固有の言語 (DSL) とコマンドラインインターフェイス (CLI) です。これは、企業が AWS インフラストラクチャとアプリケーションリソースを会社のポリシーガイドラインに準拠させるのに役立つオープンソースのコマンドラインインターフェイス (CLI) です。CloudFormation Guard はコンプライアンス管理者に、必要なリソース構成と禁止されたリソース構成の両方をチェックできるルールを定義するためのシンプルなコードとしてポリシー言語を提供します。これにより、開発者は作成したテンプレート (CloudFormation テンプレート、K8s の設定、Terraform JSON の設定) をそれらのルールに照らして検証できるようになります。

この GA リリースは cfn-guard 2.0 との後方互換性があり、開発者のエクスペリエンスを向上させます。本リリースでは、cfn-guard の安定性とパフォーマンスの向上に加え、4 つの新機能を導入しています。まず、開発者にテンプレートの検証で色分けされた詳細な出力を表示するオプションがあり、失敗時にコードスニペットが表示され、ユーザーがピンポイントで修正できます。次にこのリリースでは、パラメータ化されたルールが導入されており、渡されるテンプレートのタイプに基づいて性質を透過的に変更する一般的なポリモーフィックルールをポリシーの作成者が記述できます。例えば、開発者は AWS CloudFormation テンプレート、AWS CodeCommit を使用する Terraform プラン、条件をアサートする AWS Config で機能する cfn-guard ルールを記述できます。第 3 にこのリリースでは、テンプレートの検証を実行するためのディレクトリバンドルのサポートが導入され、ユーザーはディレクトリを入力として渡して、ガードルール、データテンプレート、入力パラメータを含むサポートされているすべてのファイルタイプをスキャンできます。第 4 にこのリリースでは、複数のデータファイルを経由して検査するのための動的なデータルックアップが導入されています。例えば、ユーザーはテンプレートから許可されたセキュリティグループのリストを取り出し、それらの値をルールセットに読み込んでテンプレートを検証できます。ステージ固有のルックアップ値を入力として渡すことで、同じルールセットを使用できます (DEV とPROD)。

AWS CloudFormation チームは AWS CloudFormation Guard へのフィードバックとオープンソースプロジェクトへのご協力を歓迎します。開始するには、cfn-guard GitHub リポジトリの指示に従って cfn-guard をインストールします。