Skip to main content
CorgeaとのHarness Code連携により、Harness Codeでホストされているリポジトリをスキャンし、すべてのプルリクエストに対して自動セキュリティレビューを受け取り、Corgeaプラットフォームから直接コード修正のためのプルリクエストを作成できます。
CorgeaはHarness Code(Harnessプラットフォーム内のGitベースのSCM)と連携します。HarnessのCI/CDパイプラインは必要なく、これらとは独立して動作します。
1

Harnessプロフィールを開く

Harnessにサインインし、ナビゲーションバー左下のユーザー名をクリックしてProfile Overviewを選択します。
プロフィール Harness を開く
2

新しいAPIキーを作成する

プロフィールのMy API Keysセクションまでスクロールし、+ API Keyをクリックして新しいキーを作成します。
新しい Harness API キーを作成する
本番環境では、Harnessで専用のService Accountを作成し(Account Settings → Access Control → Service Accounts)、そのアカウントでAPIキーを生成することを推奨します。これにより、Corgeaによる操作の実行主体が明確になり、個々のユーザーに影響を与えずに認証情報をローテーションできます。
3

APIキーに名前を付ける

キーにcorgea-integrationなどの分かりやすい名前を付け、Saveをクリックします。
Harness APIキーの名前を付けてください
4

APIキーにトークンを追加します

APIキー自体ではリクエストを認証できません。APIキーに紐づくトークンを生成する必要があります。作成したAPIキーを展開し、+ Tokenをクリックします。
Harness APIキーにトークンを追加します
5

トークンを生成する

トークンに名前(例:corgea-token)と有効期限を設定し、Generate Tokenをクリックします。
Harnessでトークンの値が表示されるのは一度だけです。ダイアログを閉じる前に必ずコピーしてください。後から取得することはできません。
Harnessトークンを生成します
6

トークンをコピーする

生成されたトークンをクリップボードにコピーし、ダイアログを閉じます。Harnessトークンの形式はpat.<accountId>.<tokenId>.<secret>です。CorgeaはトークンからアカウントIDを自動的に取得するため、別途指定する必要はありません。
生成された Harness トークンをコピーしてください
7

Corgea統合ページを開く

corgea.appでCorgeaにサインインし(セルフホスト環境の場合は{your-instance}.corgea.app)、サイドバーからIntegrationsページを開きます。Code Repository Integrationsセクションで、Harnessの横にある**+**ボタンをクリックします。
Corgea統合ページを開く
8

連携を追加する

HarnessからコピーしたトークンをAPI Tokenフィールドに貼り付けます。デフォルトでは、トークンから参照できるすべてのHarness組織のリポジトリが検出されます。Corgeaが参照する組織を制限するには、Org allowlistフィールドに組織識別子をカンマ区切りで入力します(例:default,my-other-org)。すべての組織を許可する場合は空欄にします。
Harness統合をCorgeaに追加します
9

オプション設定

デフォルト設定を変更する必要がある場合は、Optional settingsを展開します。
  • Name — 連携を識別しやすくするためのラベル。複数のHarnessアカウントを接続する場合に便利です。
  • Base URL — Harness SaaSではデフォルトでhttps://app.harness.ioです。セルフホストのHarnessに接続する場合は変更します。
  • Gateway prefix — デフォルトはSaaSで使用する/gatewayです。一部のセルフホスト環境ではこのプレフィックスを使用しないため、その場合はフィールドを空にします。
設定が完了したら、Connectをクリックします。
オプションの Harness 統合設定
Corgeaはトークンを直ちに検証します。検証に成功すると、連携カードにHarnessアカウント名が表示され、Projectsページからリポジトリを紐づけられるようになります。HarnessリポジトリはHアイコンと<org>/<project>/<repo>ラベルで表示されます。

仕組み

  • リポジトリの検出 — CorgeaはHarness Code APIを呼び出し、トークンでアクセスできる組織やプロジェクト内のすべてのリポジトリを一覧表示します(許可リストを設定した場合は、その条件で絞り込まれます)。新しいリポジトリは自動的に表示されます。Projectsページから手動で更新することもできます。
  • プルリクエストのスキャン — CorgeaプロジェクトをHarnessリポジトリに紐づけると、CorgeaはHarness Codeにリポジトリ単位のWebhookを登録します。その後、PRを開く、再度開く、またはプッシュすると、インクリメンタルスキャンが実行され、差分上にインラインレビューコメントとして結果が投稿されます。Corgeaはコミットステータスチェック(corgea-security-scan)も作成するため、PRルールでマージ前の必須チェックに設定できます。
  • 修正をPRとして適用 — Corgeaが検出した問題でCreate Pull Requestをクリックすると、Corgeaが修正を新しいHarnessブランチにプッシュし、問題のソースブランチに対するPRを作成します。
  • Corgea Agent — CorgeaのPRコメントへの返信は、組織で有効になっている場合、Corgea Agentに送られます。エージェントは問題を誤検知としてマークする、担当者を割り当てる、フォローアップの質問に回答するなどの操作を行い、元のレビューコメントにスレッド形式で返信します。

権限

APIキーを所有するユーザー(またはサービスアカウント)には、Corgeaで読み取るすべてのプロジェクトで、少なくともCode Repository Viewerロールが必要です。PRコメント、ステータスチェック、PRの作成を有効にするには、Code Repository Admin、または作成、コメント、ステータスの各権限を含む同等のカスタムロールを付与します。詳細はHarnessのRBACドキュメントを参照してください。

対応するHarnessデプロイメント