Snyk、HashiCorp Terraform CloudにInfrastructure as Codeセキュリティを導入
Sarah Conway
2022年5月4日
0 分で読めますTerraform Cloudのワークフローをより効率的で安全なものにする取り組みの一環として、HashiCorp Terraform Cloudとの新しいネイティブインテグレーションを発表します。このインテグレーションにより、Snyk Infrastructure as Code (Snyk IaC)のセキュリティに関する専門知識と開発者に使いやすい修正方法がTerraform Cloudに直接組み込まれ、Terraform Cloudのワークフローが、パブリッククラウドインフラをプロビジョニングおよび管理する最も安全な方法の一つになります。
この記事では、このインテグレーションを開発した理由、Snyk IaCのrun taskを使ったTerraform Cloudのワークフロー、そしてTerraformのあらゆるrun taskでIaCセキュリティをすばやく強化するためのリソースをご紹介します。
Terraform Cloudと連携する理由
Infrastructure as Codeの利用が拡大するにつれ、開発チームが作成・保守する設定は増え続けています。しかし、利用の拡大に伴いリスクも高まります。開発者には、クラウドへのデプロイのセキュリティとコンプライアンスに対する責任もますます求められています。
課題は、インフラを安全にプロビジョニングする方法を理解することが、開発チームにとって大きなハードルになっている点です。Snykのクラウドネイティブアプリケーションセキュリティの現状レポートによると、回答者の69%が、クラウドネイティブアプリケーションに設定ミスまたは既知の未修正の脆弱性があると報告しています。
開発者がコーディング中にIaCの設定ミスやセキュリティコンプライアンス違反を簡単に発見・修正し、デプロイ前に安全でないインフラのリスクを軽減できるよう、Snyk Terraform run taskインテグレーションを開発しました。この開発者を第一に考えたアプローチにより、Terraform Cloudのユーザーは、AWS、Azure、Google Cloudを含む主要なクラウドプロバイダー全体で、クラウドインフラを安全に定義・管理できます。

Snyk IaCはrun内のセキュリティとコンプライアンスをどのように自動化するのか?
Snyk IaCはTerraformの設定ファイルをスキャンし、セキュリティとコンプライアンスに関するフィードバックをすぐに提供します。これにより、開発者は早い段階からデリバリープロセス全体を通じてクラウドの設定ミスを防止し、より安全な設定を短時間でリリースできます。
Snykは静的解析を使用してIaCファイルをあらかじめ定義されたセキュリティルールと照合します。これらのルールは、業界標準、クラウドプロバイダーのベストプラクティス、そしてSnykのセキュリティエンジニアが新たな脅威や顕在化しつつある脅威を対象に実施する脅威モデリングに基づいています。
これらのルールに加え、SnykはTerraformファイルの潜在的な設定ミスをスキャンする際に、カスタムポリシーも考慮します。
Terraform CloudでのSnyk run taskはどのように機能するのか?
Terraform Cloud向けのSnykインテグレーションを使うと、開発チームはインフラ変更のプレビューであるTerraform Plan JSONファイルをスキャンし、主要なパブリッククラウドプロバイダーとKubernetes向けのベストプラクティスに基づくセキュリティポリシーと結果を照合できます。Terraform Planファイルとの互換性により、TerragruntやAtlantisなど、これらのファイルを出力する他のツールのセキュリティもSnykで強化できます。
さらに重要なのは、個別のファイルではなくTerraform Planファイルをスキャンすることで、開発者がインフラに対する変更案をまとめて確認し、デプロイ後の予期せぬ事態のリスクを最小限に抑えられる点です。Terraform Planファイルにはすべてのモジュールと変数が含まれるため、個々の設定ファイルに記述されたリソースだけに頼らず、インフラの完成形を包括的に把握できます。
つまり、Terraform CloudのrunでSnyk run taskをゲートとして使用すれば、変更案が既存のクラウドインフラに適用される前に、設定ミスを自動的に検出できます。これにより、開発者はIaCセキュリティを開発の早い段階に取り入れ、Terraformのセキュリティを開発プロセスに不可欠な要素として組み込めます。

Snyk run taskの適用レベルは、Advisory(runを一時停止し、失敗をユーザーに通知)またはMandatory(修正が適用されるまでrunを停止)から選んでカスタマイズできます。

ポリシーの適用レベルをカスタマイズして、Applyを一時停止または阻止できます。
設定ミスやコンプライアンス違反が見つかると、Snykは開発者向けに、構造化されたセキュリティ情報と修正ガイダンスを提供します。問題と影響、推奨される修正方法を、該当するTerraformコード内で確認できます。

Terraform CloudでSnykを使い始めるためのリソース
設定に関するセキュリティ問題の解決を開発者に支援する取り組みの一環として、SnykとHashiCorpは、組織がIaCセキュリティを強化し、Terraform Cloud向けのSnyk run taskでポリシー・アズ・コードを活用できるよう、チートシートTerraformの設定を安全にする5つのベストプラクティスを作成しました。
まずは、クイックスタートガイドSnykとHashiCorpでIaCセキュリティを効率化をご覧ください。SnykとTerraform Cloudのインテグレーションをすばやく導入し、セキュリティの脆弱性を検出して、数分でセキュリティポリシーを適用する方法をご紹介します。
ソースコードの段階からインフラを保護
Snykはワークフロー内のIaCセキュリティとコンプライアンスを自動化し、構成ドリフトや不足しているリソースを検出します。
