Local Image ScanningのGitLab設定
Aikido Security Local Scanner は、独自の環境内で Aikido Security のスキャンを実行できるツールであり、データが外部に出ることはありません。スキャンはローカルで行われ、その結果は Aikido Security プラットフォームにアップロードされます。この構成により、イメージがレジストリに送信される前に、自分のマシン上または CI/CD パイプライン内で任意のイメージをローカルにスキャンできます。
イメージのローカルスキャンを設定する方法
1. 認証トークンを取得する
-
認証トークンを生成してコピーします。このトークンを表示できるのは 1 回だけです。
-
このトークンを引数として追加します
--apikeyプロジェクトで Local Scanner を実行する際に。 -
認証トークンを GitLab の CI/CD 変数に追加して、パイプラインで使用できるようにします。
これを行うには、グループの Settings ページに移動し、次に CI/CD サブページ。
変数の横にある「展開」をクリックし、「変数を追加」をクリックします。次に、認証トークンを
AIKIDO_LOCAL_SCANNER_TOKENをキーとして、コピーしたトークンの内容を値として追加します。
2. ローカルスキャナーの実行
これで、あとはイメージに対してスキャナーを実行するだけです。ガイドとしてこのサンプルファイルを使えます:
default:
image: docker:cli
services:
- docker:dind
run_aikido_selfscanner:
script:
- docker build ...
- docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aikidosecurity/local-scanner image-scan your-local-image-name --apikey $AIKIDO_LOCAL_SCANNER_TOKEN
- if: $CI_COMMIT_BRANCH == "main"CI でこれを実行する場合は、feature ブランチ आधारितのイメージに対してスキャンを実行しないよう注意してください。Aikido で本番環境の結果と feature の結果が混ざらないようにするためです。
レジストリにプッシュする前にリリースゲート付きのスキャンを実行するには、次のようなパイプラインを実行できます:
default:
image: docker:cli
services:
- docker:dind
run_aikido_selfscanner:
script:
- docker build ...
- docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aikidosecurity/local-scanner image-scan your-local-image-name --apikey $AIKIDO_LOCAL_SCANNER_TOKEN --fail-on critical
- docker push ...
- if: $CI_COMMIT_BRANCH == "main"で指定する重大度を調整し --fail-on ニーズに合わせてください。
4. スキャン結果を確認する
最初のスキャンが完了したら、Aikido Feed に移動して結果を確認できます。指定した名前のイメージが Aikido UI に作成され、スキャンのすべての結果が含まれています。