日本語

PRゲーティング概要

Aikido CIゲーティングは、機能ブランチが本番に到達する前にスキャンします。新たに導入された問題をブロックし、既存の問題のうちどれをブランチが解決しているかを確認するのに役立ちます。オープンソース依存関係(SCA)、IaC、シークレット、SAST、マルウェア、ライセンスリスク、コード品質の問題、そして 詳細レビュー 有効になっている場合。

概要

Aikido には2つのゲーティングモードがあります:

  • PRゲーティング: 主にネイティブ統合(GitHub、GitLab、Bitbucket、Azure)で処理されます。ブランチの差分をスキャンします。
  • リリースゲーティング: Aikido CLI で処理されます。デプロイ前に最終ビルドがクリーンであることを保証します。

設定オプション

ゲーティングは2つの方法で設定できます:

  1. Aikido インターフェース: 次の項目に対して1クリック設定を使用できます: GitHub, GitLab, Bitbucket、および Azure。この設定はAikidoインターフェース内だけで完全に管理され、より見やすく、 CI 分を消費しません。
  2. CI パイプライン: 自分たちの環境で設定を管理したいチーム向けです。次を使用できます: Bitbucket Pipes をネイティブに、または他の任意のランナー(Jenkins、CircleCI など)と統合するには、 @aikidosec/ci-api-client パッケージです。セットアップ手順は Aikido CLI: リリースゲーティング.

CIゲートの設定

Aikido でゲーティングを設定すると、何が失敗を引き起こすかを細かく制御できます。これらの設定は次の場所で確認できます: 統合 > PR品質ゲーティング > [あなたの設定].

ここから、次のことができます:

  • デフォルトを設定: ワークスペースに追加されるすべての新しいリポジトリに対するデフォルトのゲーティング設定を定義します。参照: 新しく追加されたリポジトリの自動設定.
  • 一括編集: 複数のリポジトリを選択して、プロジェクト全体に設定変更を適用します。
  • きめ細かな制御: 特定のプロジェクト要件に対応するため、単一のリポジトリの設定を調整します。
  • 詳細設定: Aikido がワークフローとどのように連携するかを細かく調整します。

失敗しきい値

CIゲートを失敗させる最小の重大度レベルを選択します(例: 重大 または 高).

  • このレベル以上で検出された新しい問題は、ゲートを失敗させます。
  • このしきい値未満の問題も報告されますが、マージはブロックされません。
  • 選択 常に合格 有効なスキャンを実行しても、PRチェックを失敗させません。
  • 詳細レビュー もこの同じしきい値を使用します。個別のゲーティング設定はありません。
The Always Pass option in a repository's PR-gating failure threshold menu.

実行するスキャン

CIゲートで特定のスキャン種別のオン/オフを切り替えます。これにより、ワークフローに最も関連性の高いセキュリティカテゴリに集中できます。

詳細な設定

開発速度を維持するために、Aikido がワークフローとどう連携するかを細かく調整します:

  • PRチェックは常にグリーンに保つ: Aikido が有効なすべてのスキャンからの検出結果を引き続き報告しながら、ワークスペース全体で PR チェックをグリーンに保ちます。これは、設定済みのすべてのゲートとリポジトリに適用されます。
  • ドラフト Pull Request でチェックを無効にする: 作業途中のコードで不要なノイズを出さないようにします。スキャンは PR が「Ready for Review」に移動された時点でのみ実行されます。
  • 制限する @AikidoSec コマンドをAikidoユーザーに: Aikido がワークスペースメンバーにリンクできるコメントだけが、指摘を無視できます。 プルリクエスト上の指摘を無視できる人 これをサポートするプラットフォームと、SAML ユーザーをリンクする方法を示します。

結果の確認

CI 実行後、Aikido はその特定ブランチのスキャン結果への直接リンクを提供します。Aikido はリポジトリ全体ではなくブランチの差分をスキャンするため、次のものを明確に区別できます: 修正済みの問題 と 新たに導入されたリスク.

  • ブランチで修正済み: PR が既存の脆弱性を解消すると、Aikido はフィード上でそれを「PR open」としてマークし、マージ前に修正を確認できるようにします。
  • 新しい問題: ブランチで追加されたもので、重大度しきい値を超えるものは失敗を引き起こします(ただし 常に合格 が有効な場合を除く)。
未解決の重大なセキュリティ問題を、未着手のタスク付きで示す表。

失敗状態をバイパスする

失敗状態を回避したい場合は、CI ゲートを失敗させた問題を無視することで可能です。問題をクリックし、右上の アクションメニュー から「Ignore」または「Snooze」を選択します。すると、この問題は今後の CI のどのブランチでも無視/スヌーズされます。

課題をスヌーズまたは無視する権限を持つユーザーのみが、CIゲートをすぐにバイパスできます。無視権限のないユーザーは、issueフィードから無視をリクエストできます。when 無視リクエストが有効な場合。PRまたはMRのコメントへの返信は、無視権限がある場合にのみ、その指摘を無視します。その権限がない場合、Aikidoは無視は許可されていないと返信します。

プルリクエスト上の指摘を無視できる人

返信 @AikidoSec ignore: [reason] Aikido のコメントに返信して、そのプルリクエスト上の指摘を無視します。Aikido はその人をワークスペースのメンバーに照合します。

SAML ログインは GitHub.com でのみ一致し、ID プロバイダーが GitHub クレームを送信する場合にのみ SAML ユーザー権限: カスタム属性.

その人がワークスペースメンバーの場合:

  • 「問題を無視できる」がある場合: 指摘は無視されます。
  • 「問題を無視できる」がない場合: Aikido はプルリクエスト上で、無視は許可されていないと返信します。

ワークスペースメンバーでない人でも、公開リポジトリ上の指摘を無視できます。それを止めたい場合は、オンにしてください 制限する @AikidoSec Aikido ユーザー向けのコマンド。この設定をオンにすると、Aikido はプルリクエスト上で、無視は許可されていないと返信します。

プラットフォーム制限する @AikidoSec コマンドコメント投稿者がどのようにリンクされるか
GitHub.com利用可能GitHub ログイン、または SAML クレーム内の SAML ユーザー権限: カスタム属性
GitLab.com利用可能GitLab ログイン。SAML、Google、または Microsoft のログインはリンクできません。
Azure DevOps利用不可Aikido アカウント上の Microsoft アカウントのメールアドレスで一致します。
Bitbucket利用不可プルリクエストのコメントから指摘を無視する機能は近日公開予定です。