Skip to main content

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

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

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

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

Code scanning は、次のリポジトリに使用できます:

  • GitHub.com 上のパブリックリポジトリ
  • GitHub Advanced Security が有効になっている GitHub Enterprise Cloud の組織所有リポジトリ

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

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

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

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

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

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

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

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

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

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

  • code scanning の詳細設定がまだ有効になっていません。
  • GitHub Actions が有効になっています。
  • 一般に公開されているか、GitHub Advanced Security が有効になっています。 

将来、リポジトリに少なくとも 1 つの CodeQL でサポートされる言語が含まれる可能性がある場合は、対象となるリポジトリの既定のセットアップを有効にすることがおすすめです。 CodeQL でサポートされている言語が含まれていないリポジトリで既定のセットアップを有効にした場合、既定のセットアップではスキャンが実行されず、GitHub Actions 分も使用されません。 CodeQL でサポートされている言語がリポジトリに追加された場合、既定のセットアップでは、CodeQL でサポートされている言語のスキャンが自動的に開始し、GitHub Actions 分が使用されます。 CodeQL の対応言語について詳しくは、「CodeQL によるコード スキャンについて」をご覧ください。

Note

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

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

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

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

組織内のすべての対象リポジトリに対して既定のセットアップを有効にできます。 詳しくは、「大規模なセキュリティ機能の有効化について」をご覧ください。

既定のセットアップでの CodeQL カバレッジの拡張

組織のセキュリティ設定ページで、組織内のすべての対象リポジトリに対して、モデル パックを使用して既定の適用範囲を拡張できます。 詳しくは、「既定のセットアップの構成を編集する」をご覧ください。

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

既定のセットアップを構成する特定のリポジトリをフィルター処理ができます。 詳しくは、「カスタム セキュリティ構成の適用」をご覧ください。

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

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

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

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

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

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

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

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

    • code-scanning-default-setup:eligible is:public には、一般公開されており、GitHub Actions が有効になっているため、既定のセットアップの対象となるリポジトリが表示されます。
    • code-scanning-default-setup:eligible advanced-security:enabled では、GitHub Advanced SecurityとGitHub Actionsの両方が有効になっているため、デフォルト設定の対象となるプライベートまたは内部リポジトリが示されます。
    • code-scanning-default-setup:not-eligible には、次のいずれかの理由により、大規模なデフォルトセットアップを有効にできないリポジトリが表示されます。
      • リポジトリには、高度なセットアップの既存の構成が既に存在しています。
      • リポジトリでは GitHub Actions を有効にすることができません。
      • リポジトリはプライベートまたは内部であり、GitHub Advanced Security を有効にすることができません。

組織内のすべてのリポジトリのマージ保護の構成

ルールセットを使用すると、次のいずれかの条件が満たされたときにプル要求がマージされないようにできます。

  • 必要なツールで、ルール セットで定義している重大度の code scanning アラートが見つかりました。

  • 必要な code scanning ツールはまだ分析中です。

  • 必要な code scanning ツールはリポジトリ用に構成されていません。

詳しくは、「コード スキャンのマージ保護を設定します」をご覧ください。 ルールセットの一般的な情報については、「ルールセットについて」を参照してください。