日本語

Local Image ScanningのJenkins設定

Aikido Security Local Scanner は、独自の環境内で Aikido Security のスキャンを実行できるツールであり、データが外部に出ることはありません。スキャンはローカルで行われ、その結果は Aikido Security プラットフォームにアップロードされます。この構成により、イメージがレジストリに送信される前に、自分のマシン上または CI/CD パイプライン内で任意のイメージをローカルにスキャンできます。

イメージのローカルスキャンを設定する方法

1. 認証トークンを取得する

  1. へ移動 Local Scanner Image 設定ページ
  2. 認証トークンを生成してコピーします。このトークンを表示できるのは 1 回だけです。
  3. このトークンを引数として追加します --apikey プロジェクトで Local Scanner を実行する際に。
  4. このトークンを Jenkins に保存します。そのためには、Jenkins 設定の「Credentials」ページに移動します。

グローバルで使用する新しいシークレットテキスト認証情報を追加するための Jenkins インターフェース。

2. Local Scanner をプロジェクトに追加する

Aikido UI からローカルスキャナーのバイナリをダウンロードします。Jenkins では、ビルドノードに追加し、/usr/local/bin に配置して名前でアクセスできるようにします。バイナリが実行可能であることを確認してください(例: chmod +x -R aikido-local-scanner)。Docker がインストールされているランナーを使用している場合は、この手順を省略し、Local Scanner の Docker イメージを使ってスキャンを実行できます(下記参照)。

3. Local Scanner を実行する

これで、リポジトリ上でスキャナーを実行する準備は完了です。
​
Local Scanner はデフォルトブランチでのみ起動するようにしてください。デフォルトでは、Aikido はリポジトリ内の 1 つのブランチに対して依存関係およびコードの問題をスキャンすることをサポートしており、通常は main または master ブランチです。そのため、Aikido プラットフォーム上でスキャン結果が混在しないよう、Local Scanner はそのブランチのみに対して実行することを推奨します。git を使用している場合は、次の項目でこれを指定できます。 ビルド対象のブランチ セクション。

Jenkins を 'main' ブランチのみビルドするように設定する。

次に、API キーをビルド環境に追加して、プロジェクトで使用できるようにします。

ビルド環境で Aikido 用のシークレット API キーバインドを設定する。

以下の内容でプロジェクトに「Execute shell」ステップを追加してください。イメージ名を使用することも、イメージの tar アーティファクトへのパスを使用することもできます。

aikido-local-scanner image-scan your-image --apikey $AIKIDO_API_KEY

あるいは、当社の Docker イメージを使用している場合は

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aikidosecurity/local-scanner image-scan your-image --apikey $AIKIDO_API_KEY

レジストリにプッシュする前にリリースゲート付きスキャンを実行するには、次を追加できます --fail-on critical 上記のコマンドに。しきい値を、特定のゲーティング要件に合わせて調整してください。

4. スキャン結果を確認する

最初のスキャンが完了したら、Aikido Feed に移動して結果を確認できます。指定した名前のイメージが Aikido UI に作成され、スキャンのすべての結果が含まれています。