
Infrastructure as Code ファイルのセキュリティ設定ミスや脆弱性を KICS でスキャンし、Bitbucket Code Insights でレポートします。
Infrastructure as Code の設定ファイルをスキャンし、適切なセキュリティプラクティスが確保されていることを確認します。問題が見つかった場合は、セキュリティ Code Insights レポートを作成します。
この Bitbucket Cloud 対応 Pipe は、業界をリードする KICS スキャンツールを活用して、Bitbucket のお客様に IaC スキャン機能を提供します。 詳細については、詳細と例のセクションを参照してください。
bitbucket-pipelines.yml ファイルの script セクションに次のスニペットを追加します:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: '<string>'
# SCAN_EXTRA_ARGS: '<array>' # Optional.
# CONFIG_PATH: '<string>' # Optional.
# CREATE_REPORT: "<boolean>" # Optional. Default: `true`
# FAIL_ON: "<integer>" # Optional.
# DEBUG: "<boolean>" # Optional. Default: `false`
| 変数 | 用途 |
|---|---|
| FILES_TO_SCAN_PATH (*) | スキャンするファイルまたはディレクトリを , 区切りで指定します。例: "./path_to_dir,path_to_file.txt"。 |
| SCAN_EXTRA_ARGS | KICS のスキャンコマンドに渡す追加オプション。-p 引数が渡された場合、FILES_TO_SCAN_PATH 変数で指定されたファイルまたはディレクトリを拡張します。--config 引数が渡された場合、CONFIG_PATH 変数が優先されるため無視されます。 |
| CONFIG_PATH | KICS 設定ファイルへのパス。SCAN_EXTRA_ARGS 変数の代替です。設定ファイル内で path キーワードが指定されている場合、FILES_TO_SCAN_PATH 変数が優先されるため無視されます。 |
| CREATE_REPORT | パイプが KICS 実行結果を使用して Bitbucket CodeInsightsレポートを作成するかどうかを制御します。デフォルト: true。 |
| FAIL_ON | パイプが失敗をトリガーする KICS スキャナーの[結果ステータスコード][result status code]のしきい値。 |
| DEBUG | 追加のデバッグ情報を有効にします。デフォルト: false。 |
(*) = 必須変数。
必要に応じて、ユーザーは SCAN_EXTRA_ARGS 変数を使用してスキャンコマンドのオプションを取り込むことでスキャンを強化できます。
さらに、ユーザーはカスタム KICS 設定ファイルを作成して提供するオプションもあり、これは CONFIG_PATH 変数を介して bitbucket-iac-scan パイプで適用されます。この設定ファイルは SCAN_EXTRA_ARGS を使用する代替手段として機能します。
カスタム KICS 設定を作成したら、それをユーザーのリポジトリ内に保存する必要があります。ここで bitbucket-iac-scan パイプを含むパイプラインがトリガーされます。
SCAN_EXTRA_ARGS と CONFIG_PATH の両方の変数に重複する引数が指定された場合、SCAN_EXTRA_ARGS 変数の引数が優先されます。
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
ソースをスキャンし、KICSスキャナーの[結果ステータスコード][result status code]が指定されたしきい値以上の場合、パイプは失敗するはずです。
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
FAIL_ON: 40
パイプ内で使用できる kics 設定の例:
kics-config.json。path キーは無視されます
{
"path": "assets/iac_samples",
"verbose": true,
"log-file": true,
"type": "Dockerfile,Kubernetes",
"queries-path": "assets/queries",
"exclude-paths": [
"foo/",
"bar/"
],
"output-path": "results"
}
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
CONFIG_PATH: kics-config.json
スキャンオプションの例:
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
SCAN_EXTRA_ARGS:
- "--disable-secrets"
- "--type=Dockerfile"
CodeInsights レポートを作成しないでください:
script:
- pipe: atlassian/bitbucket-iac-scan:0.5.2
variables:
FILES_TO_SCAN_PATH: ./my_files_to_scan_dir
CREATE_REPORT: 'false'
このパイプに関するサポートが必要な場合、問題や機能リクエストがある場合は、Community でお知らせください。
問題を報告する場合は、以下を含めてください:
Copyright (c) 2024 Atlassian and others. Apache 2.0 ライセンスです。LICENSE.txt ファイルを参照してください。