marp |
---|
true |
Terraform でセキュリティチェック
自己紹介
藤田 章吾 (@SF-28)
株式会社オーイーシー
DXデザインGr
AI、AWS
Terraform
-
IaC (Infrastructure as Code)
- コードでインフラを定義
-
HCL(HashiCorp Configuration Language)で記述
resource "aws_s3_bucket" "example" { bucket = "my-tf-test-bucket" tags = { Name = "My bucket" Environment = "Dev" } }
今回やること
👉 tfsec + pre-commit でセキュリティを自動チェック
👉 TFLint, terrafom_fmt でコード品質を担保
👉 asdf で各ツールを一括管理
tfsec
- Terraform のセキュリティチェック
- 脆弱性の内容、修正方法を教えてくれる
- 適切な実装方法(コード)を提示しているサイトへのリンクも表示
- 対策不要と判断した内容はコメントアウトで無視できる
pre-commit
- 各ツール(tfsec, TFLint, terraform_fmt 等) をコミット前に自動実行
- エラーがある場合はコミットを中断
- コード品質、セキュリティを担保
- AWS の認証情報が含まれていないか確認
- 特定ブランチへの直 commit を禁止したりもできる
asdf
- 各種ツールのバージョン管理
- Terraform, TFLint, tfsec, pre-commit を一括インストール
開発環境作成
brew install asdf
asdf update
asdf add plugin terraform
asdf add plugin tflint
asdf add plugin tfsec
asdf add plugin pre-commit
asdf install
pre-commit install
初期構築手順
-
asdf 設定
brew install asdf asdf update asdf add plugin terraform asdf install terraform latest asdf local terraform latest asdf add plugin tflint asdf install tflint latest asdf local tflint latest asdf add plugin tfsec asdf install tfsec latest asdf local tfsec latest asdf add plugin pre-commit asdf install pre-commit latest asdf local pre-commit latest
-
pre-commit 設定
- 公式を参考に
.pre-commit-config.yaml
を作成 - tflint, tfsec の設定を追加
pre-commit install
でgit hook
に登録
- 公式を参考に
-
README.md
,.gitignore
作成
デモ
まとめ
tfsec, pre-commit を使ってセキュリティ向上 👍
ついでに開発体験も向上