日本語

SonarQube から Aikido への移行

SonarQube または SonarCloud から Aikido へ移行する方法を学びます。

Aikidoは、セキュリティ検出、コード品質チェック、PRゲートを1つのワークフローにまとめることで、SonarQubeとSonarCloudからの移行を支援します。

このガイドを使って、SonarのワークフローをAikidoにどう対応づけるかを判断し、開発者に驚きを与えずに切り替えましょう。

移行パスを選ぶ

すべてのリポジトリに同じ移行パスが必要なわけではありません。まずは、チームが現在Sonarにどの程度依存しているかに合ったパスから始めましょう。

パスこんな場合に使用実施内容
Aikidoに直接移行する現在のSonar構成が、ほとんどAikidoの標準機能で対応できるワークフローをカバーしている場合。リポジトリをAikidoに接続し、ゲート設定とカスタムルールを構成してから、対応するSonarチェックを廃止します。
一時的に両方を実行する開発者のワークフローを変える前に、検出結果を比較したい場合。まずAikidoを有効にし、短い検証期間はSonarをCIに残し、チームが慣れたら重複するSonarチェックを削除します。
特殊なチェックを確認するワークフロー上重要な、Sonar固有のチェックやメトリクスに依存している場合。SonarのワークフローをAikidoに移行してから、その特殊なチェックを私たちに共有してください。優先して代替を用意するか、別のワークフローを提案できます。

Sonarの概念をAikidoに対応づける

このマップを使って、各SonarワークフローがAikidoのどこに当たるかを判断してください。

Sonarの概念Aikidoでの対応注意事項
セキュリティルールと脆弱性SASTとIaCのスキャンAikidoはセキュリティ検出に重点を置き、SASTから非セキュリティのスタイル系ノイズを取り除きます。
依存関係の検出オープンソース依存関係スキャンAikidoは到達可能性と悪用インテリジェンスも使って、重要なものの優先順位付けを支援します。
Secretsリアルタイムシークレット検出Aikidoは漏えいしたシークレットが実際に有効かどうかを確認し、リスクに応じて重大度を調整します。
IaCルールSASTとIaCのスキャンAikidoはTerraform、CloudFormation、Docker、Pulumi、その他のIaCファイルをスキャンします。
品質ゲートPRゲーティング と リリースのゲート制御Aikidoは、新しい問題や重大度のしきい値に基づいて、プルリクエストやリリースチェックを失敗させることができます。
コードカバレッジコードカバレッジ と コードカバレッジのPRゲーティングCIからカバレッジレポートをアップロードし、Aikidoでカバレッジを確認します。カバレッジがしきい値を下回った場合はプルリクエストを失敗させます。
プルリクエストの装飾インラインPRコメントとAutoFix提案Aikidoはプルリクエストにコメントし、開発者を関連するスキャン結果へ誘導します。
品質プロファイルカスタムSASTおよびIaCルール と カスタムコードルールまだ有用なルールだけを移行してください。Aikidoはすでに多くのノイズの少ないチェックを除外しています。
コードの臭いと保守性コード品質Aikido Code Qualityは、PRチェック、リポジトリスキャン、チーム独自の標準をカバーします。
False Positive、Won't Fix、Accepted問題を無視する と 問題をスヌーズする受容済みリスクや誤検知には無視を使います。後で見直したい問題にはスヌーズを使います。
//NOSONAR 抑制NOAIKIDO コメント と .aikido ファイルレビュー可能な判断には、UIでの無視を優先してください。 NOAIKIDO 例外をリポジトリ内に置くべき場合は
セキュリティホットスポットSAST, SAST自動トリアージ、および 到達可能性分析これは1対1の対応ではありません。Aikidoは実行可能なセキュリティ検出に重点を置き、トリアージ信号を使って低リスク結果の手動レビューを減らします。
レポートとダッシュボードセキュリティ監査レポート と 時系列トレンドレポートAikidoのレポートは、セキュリティレビュー、コンプライアンス証跡、傾向追跡に利用できます。
修正ガイダンスAutoFixAikidoは、オープンソース依存関係、SAST、IaC、コンテナに対する修正案を作成できます。

移行チェックリスト

  1. リポジトリを接続する

    まず、ソースコード管理(SCM)連携を通じてAikidoにスキャンさせたいリポジトリを接続します。通常、最初に各リポジトリへスキャナー設定ファイルを追加する必要はありません。AikidoをSCMに接続すると、push時、毎日の再スキャン、プルリクエスト時のアクティビティでスキャンできます。

    SCMのセットアップガイドを使用してください:

    参照 ソースコードを接続する すべてのセットアップオプションについて。

  2. Sonarのワークフローを合わせる

    現在Sonarがそのリポジトリで行っている内容に合うAikidoのワークフローを有効にします:

    • コードとインフラのセキュリティ向けSASTとIaCスキャン
    • CVEとライセンスリスク向けのオープンソース依存関係スキャン
    • 有効性チェック付きのシークレットスキャン
    • 保守性とチーム固有の標準向けコード品質
    • CIからのテストカバレッジレポート向けコードカバレッジ。しきい値を下回ると失敗するチェックを含みます。
    • プルリクエストをブロックするためのPRゲート

    IDEでSonarを使っている場合は、 Aikido IDEプラグイン を確認し、開発者がコミット前に問題を見つけられるようにします。

  3. 有用なカスタムルールを移行する

    Sonar Quality Profileのルールをすべてそのままコピーしないでください。まず、そのリスクやパターンをAikidoがすでにカバーしているか確認します。Aikidoは標準でより広くカバーしていることが多いため、多くのSonarルールにはカスタムの置き換えが不要です。

    環境固有のセキュリティ、アーキテクチャ、チーム標準の判断を表すルールなど、まだ価値を生むルールだけを移行します。

    使用 カスタムSASTおよびIaCルール セキュリティパターンとインフラチェック向けに。 カスタムコードルール チーム固有のコード品質要件向けに使用します。

  4. 受容済みリスクの判断を移行する

    False Positive、Won't Fix、AcceptedとしてマークされたSonarの問題を確認します。今も同意できる判断は、Aikidoで再作成します。

    使用 問題を無視する UIベースの判断には .aikido ファイル または NOAIKIDO コメント を使用してください。例外をリポジトリ内に置くべき場合は

  5. PRとリリースのゲートを構成する

    新しいセキュリティおよびコード品質の問題に対しては、SonarのQuality GateチェックをAikidoのPRゲートまたはリリースゲートに置き換えます。

    Aikidoでは、重大度のしきい値を設定し、どのスキャン種別がチェックを失敗させるかを選べます。また、マージをブロックする前に可視化だけしたい場合は、最初は常にグリーンの設定で始めることもできます。 PRゲーティング概要 と Aikido CLI: リリースゲーティング.

  6. CIとブランチ保護を更新する

    リポジトリ向けにAikidoを構成したら、CIから対応するSonarのスキャナジョブを削除し、代わりにAikidoチェックを必須にするようブランチ保護ルールを更新します。

    リポジトリがAikidoの設定外にある特殊なチェックに依存している場合は、それを私たちに共有してください。代替を優先対応するか、別のワークフローを提案できます。

  7. レポートと所有者を確認する

    セキュリティ、エンジニアリング、コンプライアンスの各チームが、Aikidoで新しいビューをどこで確認できるかを把握していることを確認します。

    日常的なトリアージにはメインフィードを、開発者ワークフローにはPRスキャン結果を、監査や傾向確認にはレポートを使います。検出結果をJira、Linear、Slack、Microsoft Teamsへ流している場合は、古いSonar通知を削除する前にそれらのワークフローを接続してください。

切り替えチェックリスト

リポジトリからSonarを削除する前に、次の点を確認してください:

  • Aikidoがそのリポジトリと正しいブランチをスキャンしている。
  • Sonarのカバレッジを使っていた場合はカバレッジレポートがAikidoにアップロードされ、カバレッジチェックが希望のしきい値を使っている。
  • PRゲートが、チームの希望する重大度しきい値で構成されている。
  • 必須のブランチ保護チェックがAikidoを指している。
  • 重要なカスタムルールが再作成されているか、意図的に削除されている。
  • 受容済みリスクの判断がAikidoで確認済みである。
  • チームがまだ必要としている場合は、専用のCIチェックが残っている。
  • 開発者が、検出結果の確認場所、無視の依頼方法、AutoFixの使い方を知っている。

ヘルプが必要ですか?

Sonarからの移行は、セキュリティ、エンジニアリング、コンプライアンスの各ワークフローに影響する可能性があります。Sonarのルール、ゲート、レポートをAikidoにどう対応づけるか分からない場合は、 Intercomチャット が右下隅に表示されます。私たちのチームがお手伝いします。