大規模な既定のセットアップの構成について
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 によるコード スキャンについて」をご覧ください。
注: Organization の設定ページ を使用して Organization 内のすべてのリポジトリの既定のセットアップを構成すると、既定のセットアップの既存の構成はオーバーライドされません 。 ただし、セキュリティの概要 を使用して Organization 内のリポジトリのサブセットに対して既定のセットアップを構成すると、それらのリポジトリの既定のセットアップの既存の構成がオーバーライドされます 。
既存の既定のセットアップ構成に言語を追加する方法について
リポジトリ内のコードが CodeQL がサポートする言語を含むように変更された場合、GitHub は自動的に code scanning 構成を更新して新しい言語を含めます。 新しい構成で code scanning が失敗した場合、GitHub は以前の構成を自動的に再開するため、リポジトリは code scanning のカバレッジを失いません。
Organization 内のすべての対象リポジトリの既定のセットアップの構成
組織内のすべての対象リポジトリに対して既定のセットアップを有効にできます。 詳しくは、「組織での GitHub で推奨されるセキュリティ構成の適用」を参照してください。
既定のセットアップでの CodeQL カバレッジの拡張
組織のセキュリティ設定ページで、組織内のすべての対象リポジトリに対して、モデル パックを使用して既定の適用範囲を拡張できます。 詳しくは、「既定のセットアップの構成を編集する」を参照してください。
Organization 内のリポジトリのサブセットの既定セットアップを構成する
既定のセットアップを構成する特定のリポジトリをフィルター処理ができます。 詳しくは、「カスタム セキュリティ構成の適用」を参照してください。
Organization のセキュリティの概要を通じて、既定のセットアップの対象となるリポジトリを見つけ、それらの各リポジトリで同時に既定のセットアップを有効にすることができます。 リポジトリの適格性の詳細については、「CodeQL の既定の セットアップにおける大規模なリポジトリの適格性」を参照してください。
既定のセットアップの対象となるリポジトリの検索
-
GitHub で、organization のメイン ページに移動します。
-
組織名の下で、 [ セキュリティ] をクリックします。
-
サイドバーの [カバレッジ] をクリックして、[セキュリティ カバレッジ] ビューを表示します。
-
検索バーに、次のいずれかのクエリを入力します。
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 ツールはリポジトリ用に構成されていません。
詳しくは、「コード スキャンのマージ保護を設定します」を参照してください。 ルールセットについて一般的な情報は、「ルールセットについて」をご覧ください。