Skip to main content

大規模なコード スキャンの既定のセットアップを構成する

既定のセットアップを使用して、Organization 全体のリポジトリに対して code scanning をすばやく構成できます。

この機能を使用できるユーザーについて

管理者 ロールを持つ組織の所有者、セキュリティ マネージャー、および組織メンバー

GitHub Advanced Security が有効になっている組織所有のリポジトリ

大規模な既定のセットアップの構成について

code scanning の既定のセットアップでは、Organization 全体のリポジトリ内のコードをすばやくセキュリティで保護できます。

組織内のデフォルト設定に適格なすべてのリポジトリに対して、code scanning を有効にすることができます。 既定のセットアップを有効にすると、組織のリポジトリ内の CodeQL でサポートされている言語で記述されたコードがスキャンされます。

  • リポジトリの既定のブランチ、または任意の保護されたブランチへの各プッシュ。 保護されたブランチに関する詳細については、「保護されたブランチについて」を参照してください。
  • リポジトリの既定のブランチまたは保護されたブランチに基づいて pull request を作成またはコミットする場合、フォークから pull request を除外します。
  • 週単位のスケジュールに基づきます。

詳細については、「Organization 内のすべての適格なリポジトリの既定のセットアップの構成」を参照してください

また、セキュリティの概要を使用して、Organization 内の一連のリポジトリを検索し、それらのすべてに対して既定のセットアップを同時に有効または無効にすることもできます。 詳細については、「Organization 内のリポジトリのサブセットの既定のセットアップの構成」を参照してください。

個々のリポジトリに対して異なる既定のセットアップ構成を作成することもできます。 リポジトリ レベルでの既定の設定について詳しくは、「コード スキャンの既定セットアップの構成」を参照してください。

既定の設定の対象ではないリポジトリの場合は、スクリプトを使用してリポジトリ レベルまたは Organization のレベルで詳細設定を構成できます。 詳しくは、「CodeQL で大規模にコード スキャンの高度なセットアップを構成する」を参照してください。

大規模な CodeQL の既定のセットアップの対象となるリポジトリ

リポジトリが既定のセットアップの対象となるには、次のすべての条件を満たしている必要があります。そうでない場合は、詳細設定を使う必要があります。

  • code scanning の詳細設定がまだ有効になっていません。

  • GitHub Actions が有効になっています。

  • GitHub Advanced Security が有効になっている。 

Note

Organization の設定ページを使用して organization 内のすべてのリポジトリの既定のセットアップを構成すると、既定のセットアップの既存の構成はオーバーライド "されません"。__ ただし、セキュリティの概要 を使用して Organization 内のリポジトリのサブセットに対して既定のセットアップを構成すると、それらのリポジトリの既定のセットアップの既存の構成がオーバーライドされます

既存の既定のセットアップ構成に言語を追加する方法について

リポジトリ内のコードが CodeQL がサポートする言語を含むように変更された場合、GitHub は自動的に code scanning 構成を更新して新しい言語を含めます。 新しい構成で code scanning が失敗した場合、GitHub は以前の構成を自動的に再開するため、リポジトリは code scanning のカバレッジを失いません。

Organization 内のすべての対象リポジトリの既定のセットアップの構成

組織の設定の [コードのセキュリティと分析] ページで、組織内のすべての対象リポジトリの既定のセットアップを有効にすることができます。 リポジトリの適格性の詳細については、「CodeQL の既定の セットアップにおける大規模なリポジトリの適格性」を参照してください。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。
  4. [Code scanning] の横の [Enable all] をクリックします。
  5. [code scanning の既定のセットアップを有効にする] ダイアログ ボックスの [クエリ スイート] セクションで、既定のセットアップの構成が実行されるクエリ スイートを選択します。 詳しくは、「CodeQL クエリ スイート」を参照してください。
  6. 既定のセットアップの構成を有効にするには、[対象となるリポジトリの有効化] をクリックします。
  7. 必要に応じて、既定のセットアップを有効にするときに Organization 全体で "拡張" クエリ スイートを推奨するには、[既定のセットアップを有効にするリポジトリに拡張クエリ スイートを推奨する] を選択します。

Note

  • すべてのリポジトリで CodeQL code scanning を無効にした場合、この変更は Organization のセキュリティの概要で示されるカバレッジ情報に反映されません。 リポジトリでは引き続き、この [セキュリティ カバレッジ] ビューでcode scanningが有効になっているように見えます。
  • Organization 内のすべての対象リポジトリに対して code scanning を有効にした場合、既存の code scanning 構成はオーバーライドされません。 特定のリポジトリに対して異なる設定で既定のセットアップを構成する方法については、「コード スキャンの既定セットアップの構成」および「Organization 内のリポジトリのサブセットの既定のセットアップの構成」を参照してください。

Organization 内のリポジトリのサブセットの既定セットアップを構成する

Organization のセキュリティの概要を通じて、既定のセットアップの対象となるリポジトリを見つけ、それらの各リポジトリで同時に既定のセットアップを有効にすることができます。 リポジトリの適格性の詳細については、「CodeQL の既定の セットアップにおける大規模なリポジトリの適格性」を参照してください。

既定のセットアップの対象となるリポジトリの検索

  1. GitHub で、organization のメイン ページに移動します。

  2. 組織名の下で、 [ セキュリティ] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 盾のアイコンと [セキュリティ] というラベルのタブが、濃いオレンジ色の枠線で囲まれています。

  3. サイドバーの [カバレッジ] をクリックして、[セキュリティ カバレッジ] ビューを表示します。

    [セキュリティ カバレッジ] ビューのスクリーンショット。

  4. 検索バーに、次のいずれかのクエリを入力します。

    • code-scanning-default-setup:eligible advanced-security:enabled では、既定のセットアップにすぐに追加できるリポジトリが示されます。
    • code-scanning-default-setup:eligible advanced-security:not-enabled では、既定のセットアップに適した言語はあるものの、GitHub Advanced Security が有効になっていないリポジトリが示されます。 これらのリポジトリに対して GitHub Advanced Security を有効にすると、既定のセットアップに追加することもできます。
    • code-scanning-default-setup:not-eligible には、次のいずれかの理由により、大規模なデフォルトセットアップを有効にできないリポジトリが表示されます。
      • リポジトリには、高度なセットアップの既存の構成が既に存在しています。
      • リポジトリには、既定のセットアップでは分析不可の言語のみが含まれています。
      • リポジトリで GitHub Advanced Security を有効にすることができません。

表示されているすべてのリポジトリまたはそれらのサブセットを選び、それらすべてに対して code scanning の既定のセットアップを同時に有効または無効にできます。 詳細については、「Organization 内の複数のリポジトリに対して大規模な既定のセットアップを構成する」の手順 5 を参照してください。

Organization 内の複数のリポジトリに対する大規模な既定のセットアップの構成

  1. GitHub で、organization のメイン ページに移動します。

  2. 組織名の下で、 [ セキュリティ] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 盾のアイコンと [セキュリティ] というラベルのタブが、濃いオレンジ色の枠線で囲まれています。

  3. サイドバーの [カバレッジ] をクリックして、[セキュリティ カバレッジ] ビューを表示します。

    [セキュリティ カバレッジ] ビューのスクリーンショット。

  4. 検索バーを使い、名前またはセキュリティ機能の有効化状態に基づいて、[セキュリティ カバレッジ] ビューに表示されるリポジトリを絞り込むことができます。 たとえば、既定のセットアップの対象であり、現在既定のセットアップが有効になっていないリポジトリをフィルター処理するには、code-scanning-default-setup:eligible を検索します。

  5. リポジトリの一覧で、code scanning を有効にする各リポジトリを選択します。

    • ページ上のすべてのリポジトリに対する code scanning の有効化を確認するには、[<数> 個がアクティブ] の隣にあるチェックボックスを選択してください。
    • 現在の検索に一致するすべてのリポジトリに対してcode scanningを有効にするには、 [<数> 個がアクティブ] の横にあるチェック ボックスをオンにしてから、 [<数> 個のリポジトリをすべて選択] をクリックします。
  6. [<数> 個選択済み] の横にある [セキュリティ設定] をクリックします。

  7. サイド パネルの [CodeQL Default Setup] セクションで、[変更なし] を選択し、[有効] をクリックします。

  8. 必要に応じて、Organization の既定のクエリ スイートとは異なるクエリ スイートを選択する場合、[クエリ スイート: SUITE NAME] を選択し、既定のセットアップの構成で使用するクエリ スイートをクリックします。 詳しくは、「CodeQL クエリ スイート」をご覧ください。

  9. 選択したリポジトリに対する code scanning の有効化を確認するには、[変更の適用 <数>] をクリックします。 または、code scanning 有効化のリポジトリをさらに選択または選択解除するには、[] をクリックして、変更を適用せずにパネルを閉じます。

Note

セキュリティの概要を使って organization 内の複数のリポジトリに対して code scanning を有効にすると、選んだリポジトリの既存の code scanning 構成が、以前のクエリ スイートの選択や高度なセットアップのワークフローを含めて、すべてオーバーライドされます。

サイド パネルが開いている [セキュリティ カバレッジ] ビューのスクリーンショット。 [変更の適用] ボタンが濃いオレンジ色の枠線で強調されています。

Enterprise ポリシーによりcode scanningを有効にできない場合でも、[セキュリティ カバレッジ] ビューで影響を受けるリポジトリを表示して、 [セキュリティ設定] ボタンからサイド パネルにアクセスできます。 ただし、選択したリポジトリに対して code scanning を有効にできないことを示すメッセージがサイド パネルに表示されます。 Enterprise ポリシーについて詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」をご覧ください。