既存のテラフォームテンプレート(hcl)をawsクラウドフォーメーションテンプレート(json/yaml)に変換したいと思います。
基本的に、CFN_NAGを介してこれらのテンプレートのセキュリティ問題を見つけたいと思います。
私がすでに試したアプローチは、HCLをJSONに変換してから、テンプレートをCFN_NAGに渡すことでしたが、両方のテンプレートの構造が異なるため、失敗しました。
誰かがここで何か提案を提供できますか?
これを実現するためのかなり複雑な方法は、Terraformを使用して実際のAWS環境を立ち上げ、次にAWSの CloudFormer を使用してTerraformが構築したものからCloudFormationテンプレート(JSONまたはYAML)を抽出することです。その時点で、 cfn-nag を使用できます。
CloudFormerには、現在すべてのAWSリソースがサポートされているわけではないという制限があります(たとえば、RDSセキュリティグループ)が、すべての基本的なAWSリソースを取得できます。
コストを最小限に抑えるために、CloudFormerを含むすべての環境を削除することを忘れないでください。
静的コード分析を使用して、Terraformセットアップのセキュリティ問題を見つけたいと考えています。
後でcfn-nagを使用するためにTerraformをCloudFormationに変換しようとするのは1つの方法です。ただし、現在、Terraformセットアップを直接操作するツールが存在します。
terrascan をご覧になることをお勧めします。 terraform_validate に基づいて構築されています。