15. Spotter コマンド集

15. Spotter コマンド集

こちらの記事でSpotterコマンド全件を紹介します。
Spotter CLIで「--help」コマンドを実行することでも、いつでも確認することが可能です。

スキャン

 $ spotter scan playbook.yml
デフォルトスキャンを実行します。
 $ spotter scan path/to/playbook
プレイブックをスキャンします。
 $ spotter scan path/to/taskfile1.yaml
タスクファイルをスキャンします。
 $ spotter scan path/to/role
ロールをスキャンします。
 $ spotter scan path/to/collection
Ansible コレクションをスキャンします。
 $ spotter scan path/to/folder
Ansible コンテンツを含むフォルダーをスキャンします。
 $ spotter scan path/to/playbook1.yaml path/to/playbook2.yaml
2 つのプレイブックをスキャンします。
 $ spotter scan path/to/role1 path/to/role2
2 つのロールをスキャンします。
 $ spotter scan path/to/playbook1.yaml path/to/playbook2.yaml
複数のプレイブックを一度にスキャンします。
 $ spotter scan path/to/taskfile.yaml path/to/playbook.yaml path/to/role path/to/collection
一度に複数のファイルをスキャンします。
 $ spotter scan path/to/playbook/folder/play_*.yaml
glob を使用して複数のプレイブックをスキャンします。

スキャンプロファイルの設定

 $ spotter scan --profile full playbook.yml
Spotter が提供するチェック結果の全範囲を取得するには、スキャン プロファイルを [full] に設定します。
 $ spotter scan --profile security playbook.yml
セキュリティ チェックのみを実行するには、スキャン プロファイルをセキュリティに設定します。

対象プロジェクトの設定

 $ spotter scan --project-id <project-id>
スキャン結果を表示するプロジェクトを設定します。

チェックのスキップまたは強制

 $ spotter config set org-config.json
常に実施するチェックとスキップするチェックを含む構成ファイルをアップロードして、基本ルールを設定し、組織全体にチェックを適用します。
 $ spotter config clear
組織レベルで現在の構成をクリアします。
 $ spotter config get
特定の組織の現在の構成設定を確認します。
 $ spotter scan --skip-checks E1300,E1301,H1302 playbook.yml
スキャン レベルで特定のチェックをスキップします。
 $ spotter scan --enforce-checks W1100,E1101 playbook.yml
スキャン レベルで特定のチェックを実施します。
 $ spotter scan --skip-checks H1900[fqcn=sensu.sensu_go.user],W003 playbook.yml
特定の完全修飾クラス名 (FQCN) または個々のチェック サブコードのチェックをスキップまたは強制します。

問題の自動修正

 $ spotter scan --rewrite playbook.yml
Spotter が検出した問題を自動的に修正します。

カスタムポリシーの設定

 $ spotter policies set policy.rego
単一のカスタム ポリシー (チェック)を含めます。
 $ spotter policies set Policies
カスタム ポリシー (チェック) のディレクトリを含めます。
 $ spotter policies set --project-id <project-id> policy.rego
組織全体のポリシーを設定します。
 $ spotter policies clear
カスタム ポリシー をクリアします。

プレイブックのアップグレード

 $ spotter scan --profile full --ansible-version 2.15 playbook.yml
プレイブックが特定の Ansible バージョンと互換性があるかどうかを確認します。

スキャンのカスタマイズ

spotter scan --display-level error playbook.yml
スキャン結果にヒントや警告なしでエラーのみを表示します。
spotter scan --display-level hint playbook.yml
スキャン結果にはヒントのみを表示します。
spotter scan --display-level warning playbook.yml
スキャン結果には警告のみを表示します。
spotter scan --format json playbook.yaml
スキャン結果の形式を変更します。
spotter scan --no-docs-url playbook.yml
スキャン結果内のドキュメントへのリンクを省略します。
spotter --no-color scan playbook.yml
スキャン結果を無色にします。
spotter --storage-path /my/project/.storage scan playbook.yml
保存フォルダを設定します。
spotter --endpoint “<spotter-api-url>” scan playbook.yml
API エンドポイントを指定します。
 spotter scan --sarif report.sarif playbook.yml 
このコマンドは、SARIF 形式をサポートするプラットフォームとの統合を容易にします。

共有されるデータを制御

 $ spotter scan --exclude-values playbook.yml
スキャンから値 (タスク名、パラメータ値、ファイル名) を除外します。
 $ spotter scan --exclude-metadata playbook.yml
スキャンからメタデータ (ファイル名、行番号、列番号) を除外します。
 $ spotter scan --export-payload payload.json playbook.yml
実際にスキャンを実行せずに、Ansible コンテンツから収集されるデータを確認します。
 $ spotter scan --import-payload payload.json
Spotter と共有されているデータのリストをインポートします。