> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# スケジュールスキャン

> セキュリティスキャンを定期的に自動実行

<Info>
  **前提条件** プラン上でリポジトリ(GitHub、GitLab、Azure DevOps、またはHarness)が接続されており、スケジュールスキャンが有効になっています。この機能を有効にするには [Corgea 価格設定](https://corgea.com/pricing/) を参照してください。
</Info>

スケジュールスキャンは、手動介入なしにプロジェクト全体で定期的にセキュリティスキャンを自動的にトリガーできます。スキャンを特定のプロジェクト、タグ、チームに限定し、どのスキャンタイプを実行するかを選び、頻度を日次から年次まで調整できます。

## スケジュールスキャンの閲覧

サイドバーで **Policies → Scheduled Scans** を開きます。**Security Scan Schedules** ページには、組織に設定されたすべてのスケジュールと、そのステータス、頻度、スコープ、前回の実行結果が表示されます。

<Frame>
  <img src="https://mintcdn.com/corgea/ykitTppWs5yMvech/images/scheduled_scans/scheduled_scans_list_page.png?fit=max&auto=format&n=ykitTppWs5yMvech&q=85&s=f5928e9af893c49f7653d0571a44033c" alt="セキュリティスキャンスケジュールページには、名前、範囲、スキャンタイプ、頻度、ステータス、最終実行の列を並べたスケジュールと、複数のアクティブなスケジュールに表示されるプロジェクトを報告するバナーがあります" style={{ borderRadius: '0.5rem' }} width="3006" height="1716" data-path="images/scheduled_scans/scheduled_scans_list_page.png" />
</Frame>

各行には以下が示されています:

* **名前** — スケジュールのラベル(同じプロジェクトが他のアクティブなスケジュールに現れた場合の重複リンク)
* **スコープ** — ターゲットとなるプロジェクト数、3つ以下が選択された場合のプロジェクト名、タグスコープスケジュールのタグ名、チームスコープスケジュールのチーム名
* **スキャンタイプ** — どのスキャナーが動作するか(例:BLAST、シークレット、個人情報)
* **頻度** — スキャンがどれくらいの頻度で実行されるか
* **ステータス** — スケジュールがアクティブか一時停止か
* **前回の実行** — 直近の実行結果

| 前回の実行     | 意味                                                          |
| --------- | ----------------------------------------------------------- |
| **未実行**   | スケジュールはまだ一度も完了していません                                        |
| ✓ タイムスタンプ | 前回の実行に成功しました                                                |
| **実行中…**  | 実行中です（完了すると一覧が更新されます）                                       |
| **失敗**    | 1つ以上のプロジェクトで失敗しました。バッジを選択するとプロジェクトごとの理由を確認できます              |
| **再試行**   | 重複スキャンを避けるため実行がスキップされました。バッジで詳細を確認し、**Run Now** を再度実行してください |

一覧から、スケジュールの **編集**、**一時停止/再開**、**即時実行**、**削除**ができます。

## 重複するカバレッジ

同じプロジェクトが複数の **アクティブ** なプロジェクトスコープのスケジュールに含まれる場合、Corgeaは重複を表示します。これにより、想定より頻繁にスキャンされる箇所を確認できます。

* リスト上部のバナーには、複数のアクティブスケジュールに掲載されているプロジェクト数が表示されます。
* 対象のスケジュールでは名前の下に **overlap** リンクが表示されます。選択すると、共有されているプロジェクトと、それを含む他のスケジュールを確認できます

<Frame>
  <img src="https://mintcdn.com/corgea/ykitTppWs5yMvech/images/scheduled_scans/scheduled_scan_overlapping_coverage_modal.png?fit=max&auto=format&n=ykitTppWs5yMvech&q=85&s=6703487db8bdf114ebdac484900f3a9b" alt="スケジュールの重複カバレッジモーダルで、共有プロジェクトとそれを含む他のアクティブなスケジュールを並べてリストアップします" style={{ borderRadius: '0.5rem' }} width="1608" height="492" data-path="images/scheduled_scans/scheduled_scan_overlapping_coverage_modal.png" />
</Frame>

<Note>
  現在、重複検出は **プロジェクトスコープ** のスケジュールにのみ適用されます。タグまたはチームスコープは、まだ重複警告の対象ではありません。
</Note>

プロジェクト範囲のスケジュールを作成または編集すると、選択されたプロジェクトがすでに他のアクティブなスケジュールに属している場合、Corgeaはインラインで警告を表示します。

<Frame>
  <img src="https://mintcdn.com/corgea/ykitTppWs5yMvech/images/scheduled_scans/edit_scheduled_scan_page.png?fit=max&auto=format&n=ykitTppWs5yMvech&q=85&s=6b4589140b30c5ae5ac8a62ffd5616c9" alt="スケジュールページを編集し、「選択プロジェクト」の下に重複するカバレッジ警告をインラインで表示し、選択したプロジェクトが他のアクティブなスケジュールにも含まれていることを記載してください" style={{ borderRadius: '0.5rem' }} width="2576" height="1548" data-path="images/scheduled_scans/edit_scheduled_scan_page.png" />
</Frame>

## スケジュールスキャンの作成

**Create Schedule** をクリックして、スケジュール作成フォームを開きます。

<Steps>
  <Step title="スケジュールに名前を付ける">
    スケジュールには説明的な名前を付けてください。空欄のままにすると、Corgeaは範囲と頻度に基づいて自動的に名前を生成します。
  </Step>

  <Step title="スコープを選択">
    プロジェクトのターゲット設定方法を選択してください:

    * **プロジェクト** — 接続された統合から1つ以上の特定のリポジトリを選択する
    * **タグ** — 1つ以上のラベルを共有するすべてのプロジェクトをターゲットに(サービス層、チーム、環境のスキャンに役立ちます)
    * **チーム** — 1つ以上の選定チームに割り当てられたターゲットプロジェクト

    <Tip>
      タグを使うことで、組織の成長に合わせて新しいプロジェクトを自動的にスケジュールに組み込むことができ、スケジュールを手動で更新する必要はありません。
    </Tip>
  </Step>

  <Step title="スキャンの種類を選択する">
    どのスキャナーを使うか選びます。複数のスキャンタイプを1つのスケジュールにまとめることができます。

    | スキャンタイプ       | 検出するもの                |
    | ------------- | --------------------- |
    | **BLAST**     | アプリケーションコードのセキュリティ脆弱性 |
    | **Policy**    | カスタムPolicyIQルールへの違反   |
    | **PII**       | 個人を特定できる情報への露出        |
    | **依存関係**      | 脆弱なサードパーティパッケージ(SCA)  |
    | **Secrets**   | ハードコードされた認証情報とAPIキー   |
    | **Malicious** | 悪意のあるコードパターン          |

    **依存関係** スケジュールは、プランで到達可能性分析が有効になっている場合、各検出結果の到達可能性の状態を報告します。これはスケジュールされたスキャンだけでなく、すべての依存関係スキャンに当てはまります。
  </Step>

  <Step title="頻度を設定する">
    スキャンを実行する頻度を選択してください:

    | 頻度        | 説明                        |
    | --------- | ------------------------- |
    | **毎日**    | 毎日実行                      |
    | **毎週**    | 指定した曜日に実行                 |
    | **毎月**    | 指定した日（または月末）に実行           |
    | **四半期ごと** | 各四半期（1月、4月、7月、10月）の指定日に実行 |
    | **年2回**   | 指定した2つの月に年2回実行            |
    | **毎年**    | 指定した月日に年1回実行              |

    <Note>
      **毎日** は、プランで日次スケジュールスキャンが有効な場合にのみ選択できます。表示されない場合も、その他の頻度は利用できます。
    </Note>
  </Step>

  <Step title="保存して有効化">
    **Create** をクリックします。スケジュールはすぐに **active** になり、選択した頻度に基づいて次回実行時刻が計算されます。既存のスケジュールを編集する場合、ボタンには **Save** と表示されます。
  </Step>
</Steps>

## スキャンを今すぐ実行する

スケジュールのアクションメニューから **Run Now** を選択すると、すぐに実行できます。**Last run** 列には実行中は **Running…** と表示され、完了後に成功時刻、**Failed**、または **Retry** に更新されます。

Corgeaは、実行が**成功した**後、または別の実行が進行中の場合に24時間のクールダウンを適用します。失敗した実行や再試行可能なスキップは、**Run Now**ですぐに再試行できます。

実行が完了しなかった場合（中断された場合など）、スケジュールは24時間ブロックされず、すぐに再試行できます。**Run Now** を再度選択してください。

## 前回実行の失敗

**Last run**に**Failed**と表示された場合は、バッジを選択して**Last run failures**を開きます。このモーダルには、影響を受けた各プロジェクトと失敗理由が表示されます。

<Frame>
  <img src="https://mintcdn.com/corgea/ykitTppWs5yMvech/images/scheduled_scans/last_run_failures_modal.png?fit=max&auto=format&n=ykitTppWs5yMvech&q=85&s=3078e957e27d7edd0ce4edeb8d5ae9d5" alt="失敗した各プロジェクトの理由を表示するLast run failuresモーダル" style={{ borderRadius: '0.5rem' }} width="1618" height="720" data-path="images/scheduled_scans/last_run_failures_modal.png" />
</Frame>

**Last run**に**Retry**と表示された場合、同じモーダルに、そのコミットのスキャンがすでに進行中または登録処理中だったため実行がスキップされたことが表示されます。

<Frame>
  <img src="https://mintcdn.com/corgea/ykitTppWs5yMvech/images/scheduled_scans/retry_run_last_run_failures_modal.png?fit=max&auto=format&n=ykitTppWs5yMvech&q=85&s=475e7e7ef6fd004573e628b40a79d264" alt="Last run fails modal for Retry outcome(再試行結果)で、コミットのスキャンがすでに進行中だったため、重複を避けるために予定された実行をスキップしたことを説明します" style={{ borderRadius: '0.5rem' }} width="1618" height="594" data-path="images/scheduled_scans/retry_run_last_run_failures_modal.png" />
</Frame>

## スケジュール管理

### 一時停止と再開

一覧画面でスケジュールを**active**と**paused**の間で切り替えます。一時停止したスケジュールは、再度有効にするまで自動実行されず、重複警告の対象外になります。

### 編集

スケジュールの**Edit**をクリックすると、名前、スコープ、スキャンの種類、頻度を変更できます。変更は次回のスケジュール実行から適用されます。プロジェクトの選択を変更すると、重複警告も更新されます。

### 削除

**Delete** をクリックすると、スケジュールを完全に削除できます。すでに実行されたスキャンには影響しません。

## スキャンの実行方法

スケジュールスキャンの実行時、Corgeaは次の処理を行います。

1. ターゲットプロジェクトを解決する(直接選択、またはタグやチームでマッチング)
2. 設定されたブランチから最新のコードをダウンロードする（未指定の場合はプロジェクトのデフォルトブランチ）
3. 選択されたスキャンタイプをコードに対して実行します
4. スケジュール実行に紐づいたスキャンレコードを作成する

同じプロジェクトとコミットを別の実行がすでにスキャンしている場合、Corgeaは重複スキャンを開始しません。この場合、スケジュールには成功ではなく **Retry** と表示されます。

スケジュールスキャンの結果は他のスキャンと同様に、 [修正](fixes) やプロジェクトダッシュボードを通じて確認できます。各スケジュールスキャン結果にはスケジュール名が記載されており、識別しやすいようにしています。

## デイリーレポート

過去24時間のスケジュールスキャンで新しい検出結果が見つかると、Corgeaは **Daily Scan Report** 通知を有効にしている社内ユーザーへ日次サマリーメールを送信します。この通知はデフォルトで全ユーザーに対して有効です。管理者は会社のデフォルトを変更したり、配信先を特定のチームに限定したりできます。新しい検出結果がない実行は除外され、報告内容がなければメールは送信されません。購読中のWebhookにも同じレポートが送信されます。配信設定とWebhookペイロードについては、[通知](notifications#daily-scan-report)を参照してください。

## トラブルシューティング

<AccordionGroup>
  <Accordion title="Scheduled Scansが表示されない">
    Scheduled Scansには対応プランが必要で、組織単位で有効化する必要があります。Corgeaのアカウントチームへお問い合わせください。
  </Accordion>

  <Accordion title="スケジュールの対象プロジェクトが見つからない">
    スコープが **Projects** でプロジェクトが未選択の場合、**Tags** で設定したタグに一致するプロジェクトがない場合、または **Teams** で選択したチームにプロジェクトが割り当てられていない場合、スキャンはスキップされます。スケジュールを編集してスコープ設定を確認してください。
  </Accordion>

  <Accordion title="プロジェクトのスキャンに失敗する">
    1つ以上のプロジェクトスキャンに失敗すると、スケジュール一覧に **Failed** と表示されます。バッジを選択すると、各プロジェクトの失敗理由を確認できます。一般的な原因:

    * リポジトリがアクセスできない(統合認証情報を確認してください)
    * 設定されたブランチが存在しない
    * プロジェクトに接続済みの統合がない

    表示された理由を確認し、プロジェクトまたは統合の設定を修正して、**Run Now** を選択します。失敗した実行を再試行する際に、24時間のクールダウンを待つ必要はありません。
  </Accordion>

  <Accordion title="プロジェクトがスケジュール実行の対象から外れた">
    ブランチの欠落や認証情報の期限切れなど、継続的な理由で同じプロジェクトが同じスケジュールに3回連続で失敗すると、Corgeaはプロジェクトオーナーと会社管理者にメールを送信し、そのプロジェクトを自動実行の対象から外します。同じスケジュールの他のプロジェクトは通常どおり実行されます。

    根本原因を解決し、**Run Now**で再試行します。**Run Now**では、スキップされたプロジェクトを含め、対象範囲内のすべてのプロジェクトが必ず試行されます。スキャンが成功すると、そのプロジェクトは再び自動実行の対象になります。メールと配信設定については[通知](notifications#scheduled-scan-consecutive-failures)を参照してください。
  </Accordion>

  <Accordion title="Last runにRetryと表示される">
    Corgeaは同じプロジェクトとコミットに対する重複スキャンを防止します。別の実行が進行中、またはスキャンの登録処理中の場合、成功ではなく **Retry** と表示されます。バッジでスキップ理由を確認し、少し待ってから **Run Now** を再度選択してください。
  </Accordion>

  <Accordion title="Run Nowが無効になっている">
    過去24時間以内に正常終了したか、現在も実行中の場合、**Run Now** は無効になります。再試行する前に **Last run** 列を確認してください。

    失敗した実行と**Retry**の結果は、すぐに再試行できます。
  </Accordion>

  <Accordion title="プロジェクトが複数のスケジュールに含まれている">
    一覧のバナーと各スケジュールの **overlap** リンクは、複数のアクティブなプロジェクトスコープのスケジュールで選択されているプロジェクトを示します。重複カバレッジのモーダルを確認し、必要に応じて一方のスケジュールを編集してください。これは警告のみで、スケジュールは設定どおり実行されます。
  </Accordion>
</AccordionGroup>
