IaCセキュリティ

🔥 Vibe プロンプト

「適用前にTerraformコードをセキュリティスキャン。ポリシーアズコードを適用。」

Checkovスキャン

brew install checkov
checkov -d terraform/
checkov -d k8s/

Checkov結果

合格: 45, 失敗: 3
CKV_AWS_21: S3バケットACLがパブリック読み取り
CKV_AWS_23: S3ブロックパブリックアクセスなし
CKV_AWS_52: EC2詳細モニタリングなし

Terraformセキュリティチェック

# ✅ 良い例:暗号化、バージョニング有効
resource "aws_s3_bucket_server_side_encryption_configuration" "data" {
  rule {
    apply_server_side_encryption_by_default {
      sse_algorithm = "AES256"
    }
  }
}

# ❌ 悪い例
resource "aws_db_instance" "db" {
  publicly_accessible = true  # 絶対にしない!
}

OPAポリシーアズコード

package terraform
deny[msg] {
  resource := input.resource.aws_s3_bucket[_]
  resource.config.acl == "public-read"
}

CI/CDでのIaCスキャン

- uses: bridgecrewio/checkov-action@v12
  with:
    directory: terraform/
    soft_fail: false

ベストプラクティス

  • 適用前に毎回IaCスキャン
  • ポリシーアズコード(OPA, Checkov)
  • Terraform状態を暗号化S3に保存
  • リモート状態+ロック使用
  • IaCにシークレットをハードコードしない
  • プロバイダーバージョンを固定
  • 一貫性のためにモジュール使用

重要なポイント

  • コアコンセプトをしっかり理解する
  • ハンズオンコード例で実践する
  • 実世界の問題に応用する
  • 演習で知識を強化する

さらに学ぶ

  • 公式ドキュメント
  • GitHubのオープンソースプロジェクト
  • コミュニティフォーラムとディスカッション
  • 関連コースとチュートリアル

完全なチュートリアルをロック解除

このチャプターは有料コンテンツです。プロジェクトに参加して、10以上の神レベルのPromptや実際のソースコード例を含む、5000字以上の深い分析をロック解除してください!