LoginSignup
0
0

tfsecからTrivyに移行したときの設定

Last updated at Posted at 2024-02-16

HCLをGitにコミットする前に、pre-commitでtfsecを動かして静的解析を行っていましたが、tfsecの開発が終了?したのでTrivyに移行することにしました。その時の設定内容について記述します。

↓参考記事

環境

ツール

  • Azure DevOps
    • Repos(Git)
    • Pipelines
  • WSL Ubuntu22.04LST
  • trivy
# WSLにHomebrewを入れているので、インストールはHomebrewで行いました。
brew install trivy
  • pre-commit

  • pre-commit-terraform

tfsecを動かしていたタイミング

  1. コミットする直前のpre-commit内
  2. Azure DevOpsのプルリクエストでマージする直前のPipelines内

pre-commit

pre-commitを使う場合、プロジェクトのルートに.pre-commit-config.yamlを作成していると思うので、tfsecをtrivyに書き換えます。--ignorefileフラグは除外するルールが記述されたファイル、--configフラグはtrivyコマンドのオプションなどが記述されたファイルです。
trivy.yamlには.terraform以下を対象外にするようにしています。

.pre-commit-config.yaml
- id: terraform_trivy
  args:
    - >
      --args=--ignorefile=__GIT_WORKING_DIR__.trivyignore
      --config=__GIT_WORKING_DIR__trivy.yaml
.trivyignore
# パスワード長は社内ルールに準拠しているため除外します。
AVD-AWS-0063
# こめんと
AVD-AWS-0026
trivy.yaml
scan:
  skip-files:
    - "**/.terraform/**/*"

Azure Pipelines

まず、Azure DevOpsでTrivyエクステンションをインストールします。

azure-pipelines.ymlのtfsecだったところをtrivyに置き換えます。

azure-pipelines.yml
- task: trivy@1
  displayName: "Trivy"
  inputs:
    path: .
    options: --ignorefile ./.trivyignore --config ./trivy.yaml

Trivyエクステンションで使えるパラメータは以下を参照

インラインルール除外

tfsecと同じ要領です。

#trivy:ignore:AVD-AWS-0124

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0