日本語

Aikido CLI: リリースゲーティングのGitLab Pipeline設定

Aikido Security CIクライアントを使用すると、Aikido SecurityのスキャンをCIパイプラインに統合できます。セキュリティスキャンをビルドプロセスの一部にできます。

1. APIキーを取得する

  1. へ移動 継続的インテグレーション設定ページ.
  2. トークンを生成してコピーします。このトークンは一度しか表示できないことに注意してください。
  3. このトークンを次の名前で保存します AIKIDO_CLIENT_API_KEY GitLabのCI/CD変数にシークレットとして保存します。Settings > CI/CD and Variables > Actions に移動してください。これはGitLabのグループレベルまたはプロジェクトレベルのどちらでも行えます

APIキーを追加する際は、変数がすべてのブランチで利用可能であること(protect variable のチェックを外す)と、いかなるログでもマスクされること("Mask variable" にチェックを入れる)を確認してください。"Expand variable reference" はチェックしたままで構いません。

2. 新しいGitLabパイプラインジョブを作成する

この例を使ってパイプラインジョブを作成します:

ローカルスキャナーがデフォルトブランチでのみ起動されるようにしてください。以下の例では、それは 'main' ブランチです。必要に応じて調整してください。

stages:
  - security_check

aikido_release_gate:
  stage: security_check
  image: node:22
  script:
    - npm install --global @aikidosec/ci-api-client
    - |
      aikido-api-client scan-release \
        "$CI_PROJECT_ID" \
        "$CI_COMMIT_SHA" \
        --apikey "$AIKIDO_CLIENT_API_KEY" \
        --fail-on-sast-scan \
        --fail-on-iac-scan \
        --fail-on-secrets-scan
  only:
    - main

必要であればコマンドを調整してください。各フラグは以下に記載されています @aikidosec/ci-api-client パッケージ。

3. 最初のスキャンを実行する

新しい変更がデフォルトブランチにプッシュされると、ワークフローがトリガーされます。スキャンが実行され、新しい問題が検出された場合は失敗します。