$ spotter scan path/to/playbook.yml
「--profile」引数を指定せずにspotter scan コマンドを実行すると、Defaultプロファイルが使用されます。Defaultプロファイルには、基本的なセキュリティ チェックが含まれますが、アップグレードや高度なセキュリティ チェックは含まれません。スキャン プロファイルの詳細については、「5. スキャンプロファイルの作成」をご覧ください。
Spotter アプリでより詳細なスキャン結果を表示できます。スキャン結果に提供されているURLへアクセスするか、アプリを開いてプロジェクトに移動するだけです。ここでは、すべてのエラー、警告、ヒントが見つかります。実際のコード スニペットも含まれており、チームと共有してトラブルシューティングを簡単に行うことができます。数値コードのアイコン、または「Warning details」下のリンクをクリックすると、チェックカタログに移動し、エラー、ヒント、または警告を詳しく調べることができます。また、プレイブックの良い例や悪い例も表示されます。また、スキャン環境を検査して、Ansible と Python のバージョン、インストールされているコレクション、Ansible 構成のオーバーライドを確認することもできます。これにより、将来同じ条件を再現したり、他のユーザーと共有したりできるようになります。事前に生成された実行環境の YAML ファイルをダウンロードして、時間と労力を節約することもできます。
[Git repository] をチェックし、URL をフォームに貼り付け、「Branch name」を指定し、 [Create project] をクリックします。画面の右側にある「Scan results」をクリックするとスキャンの結果が表示され、「Rerun」ボタンをクリックしていつでも同じ Git リポジトリのスキャンを再実行し、進行状況を監視することができます。
Spotter はすべてのスキャンに関する分析情報を提供します。これは Spotter アプリで表示できます 。デフォルトでは、スキャン結果は最初の組織の最初のプロジェクトに保存されますが、スキャンを整理したり、複数の組織やプロジェクトを作成して自動化ワークフローを整頓したい場合は「Projects」が最適なメニューです。特定のスキャン結果を表示するプロジェクトを指定するには、「--project-id」 オプションの引数を使用します。これを使用して、スキャン結果が保存される既存のターゲット プロジェクトの ID を指定します。$ spotter scan --project-id <project-id>プロジェクト ID は、 Spotter アプリに移動し 、適切な組織と指定されたプロジェクトを選択してコピーします。「Create Project」をクリックすると、いつでも新しいプロジェクトを作成できます。
セットアップ ファイルまたはコマンド ラインに入力する特別なコマンドを使用して、スキャンの動作方法を選択できます。Spotter では、スキャン設定を調整するさまざまな方法が提供されており、変更するたびに古い設定が置き換えられます。Spotter では、JSON または YAML 形式を使用して構成を保存するファイルもサポートされています。ローカルディスカバリー
Spotter はシステムの環境を簡単に検出します。 コマンドを使用します$ spotter scan --ansible version設定ファイル
- .spotter.json、または .spotter.yml と呼ばれるプロジェクト レベルの構成ファイルを使用してカスタマイズします
- 構成ファイルに「–config」引数を指定します
$ spotter --config config.yml scan playbook.ymlオプションの CLI 引数
例: --ansible-version / --profile / --display-level など設定ファイルでは以下を設定できます
- Ansibleバージョン
- チェックのスキップまたは強制
YAML 構成ファイルの例:
ansible_version: "2.9"skip_checks: [ "E1300", "E1301", "H1302"]enforce_checks: [ "E005", "W200", "H500"]JSON 構成ファイル形式を使用している場合は、以下を使用します。
{"ansible_version" : "2.14"}
データ保護とセキュリティのため、Spotter と共有するデータの量はお客様が管理する必要があります。最も詳細で価値のあるスキャン レポートを取得するために、Spotter はプレイブックの品質をチェックする際に値とメタデータを収集します。データ共有から除外した値は自動的に検出され、セキュリティを強化するために null 値に置き換えられます。それでもデータ共有について懸念がある場合は、いつでもそのようなデータをスキャンから除外することを選択できます。送信前にデータをローカルで抽出できるため、データを確認して編集し、スキャン用にプッシュすることができます。したがって、追加のデータを除外したい場合は、次のようにします。値を除外
より価値のあるスキャン レポートや改善のための追加のヒントを有効にするタスク名、パラメーター値、ファイル名などのデータの収集を除外し、プレイブックで使用されるモジュール名とパラメーター名のみを使用するには、次のコマンドを実行します。$ spotter scan --exclude-values playbook.ymlメタデータを除外
ファイル名、行番号、列番号などのメタデータのアップロードを除外することもできます。次のコマンドを実行します。$ spotter scan --exclude-metadata playbook.yml収集されたデータを確認
実際にスキャンを実行せずに Ansible コンテンツから収集された情報を確認する場合は、「--export-payload」オプションを使用できます。スキャン ペイロードをエクスポートすると、スキャンプロセスがどのように機能するかを確認できるため、実際のスキャンを開始する前に収集されたデータを確認して理解することができます。$ spotter scan --export-payload payload.json playbook.ymlその後、エクスポートされたペイロードを「--import-payload」引数付きでインポートし、スキャンすることもできます。$ spotter scan --import-payload payload.json
Spotter を使用すると、自分のスタイルに合わせて自動化をカスタマイズできます。特定の種類の警告のみを表示
Spotter はプレイブックを徹底的に分析し、見つかった問題の重大度に応じて、Error(エラー)/Warning(警告)/Hint(ヒント) の 3 つのレベルの警告を提供します。Ansible Playbook の実行は失敗する可能性があります。
Ansible Playbook は予期しない動作を行う可能性があります。
Ansible Playbook は、Ansible のベスト プラクティスを完全にはカプセル化していません。
解決が絶対に必要なエラーのみを探す場合は、 --display-levelオプションの引数を使用するだけでSpotter にエラーのみを表示するように指示できます。$ spotter scan --display-level error playbook.yml同じように警告のみ、またはヒントのみを実行することもできますが、非推奨の設定です。ヒントのみ表示$ spotter scan --display-level hint playbook.yml警告のみ表示$ spotter scan --display-level warning playbook.ymlスキャン結果の種類を変更
デフォルトでは、Spotter CLI は明確で簡潔なプレーンテキストの結果を提供し、シンプルでわかりやすいものになっています。ただし、より柔軟性と汎用性を求めるユーザーもいると理解しています。オプションの引数で JSON や YAML などの希望する形式を指定するだけで、スキャン結果をさまざまな形式で表示できます。$ spotter scan --format json playbook.yamlドキュメントのURLを省略
Spotter は、モジュール ドキュメントへの直接リンク (可能な場合は関連する Ansible コンテンツ ドキュメントへの URL) を提供します。これにより、オンラインでの検索に費やす時間を大幅に節約できます。ただし、スキャン結果のみが必要な場合があることも理解しています。「--no-docs-url」引数を使用すると、ドキュメントをスキップして、スキャン結果のみに集中できます。$ spotter scan --no-docs-url playbook.ymlカラー出力を無効にする
Spotter は、エラー、ヒント、警告をさまざまな色で表示して、見つかった問題の種類と重大度を一目で確認できるようにしています。無色に設定したい場合は、「--no-color」オプションを使用してください。$ spotter --no-color scan playbook.yml保存フォルダの設定
デフォルトでは、トークンのホームは 「~/.config/steampunk-spotter」 にあります 。ただし変更したい場合は、「--storage-path」オプションの引数を使用して保存先をカスタマイズできます。$ spotter --storage-path /my/project/.storage scan playbook.ymlAPIエンドポイントの設定
Spotter CLI は可能性の世界への入り口であり、API エンドポイントを好みに合わせてカスタマイズすることが非常に簡単になりました。API エンドポイントを設定する方法は複数あります。1. グローバル--endpointオプション引数: API エンドポイントを直接指定するコマンドを実行します。$ spotter --endpoint "<spotter-api-url>" scan playbook.yml2. SPOTTER_ENDPOINT 環境変数: 選択した API エンドポイントを使用して SPOTTER_ENDPOINT 環境変数をエクスポートします。$ export SPOTTER_ENDPOINT=<spotter-api-url>3. ストレージフォルダ(~/.config/steampunk-spotter/spotter.json)に、ルートJSONエントリ "endpoint": "<endpoint>" と記載した設定ファイルを作成します。選択したAPIエンドポイントは一定のままです。以下のJSONコンテンツで手動で作成できます:
{"endpoint" : "<endpoint>"}