セキュリティおよび分析設定の管理について
GitHub は、Organization のリポジトリを保護するのに役立つ場合があります。 Organization でメンバーが作成する既存または新規のリポジトリすべてについて、セキュリティおよび分析機能を管理できます。 GitHub Advanced Security のライセンスを持っている場合は、これらの機能へのアクセスを管理することもできます。 詳しくは、「GitHub Advanced Security について」を参照してください。
注: パブリックリポジトリにデフォルトで有効化されているセキュリティ及び分析の機能の中には、無効化できないものがあります。
セキュリティ機能と分析機能を有効にした場合、GitHub はリポジトリで読み取り専用分析を実行します。
セキュリティと分析の設定を表示する
-
GitHub.com の右上隅にあるプロファイル写真をクリックし、 [自分の Organization] をクリックします。
-
組織の隣の [設定] をクリックします。
-
サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。
表示されるページでは、Organization 内のリポジトリのすべてのセキュリティおよび分析機能を有効化または無効化にできます。
Organization が GitHub Advanced Security のライセンスを持つ Enterprise に属している場合、ページには Advanced Security 機能を有効化または無効化するオプションも含まれます。 GitHub Advanced Security を使用するリポジトリは、ページの下部に一覧表示されます。
既存のすべてのリポジトリの機能を有効または無効にする
すべてのリポジトリの機能を有効化または無効化できます。 変更が Organization 内のリポジトリに与える影響は、リポジトリの可視性によって決まります。
- プライベート脆弱性レポート - 変更はパブリック リポジトリにのみ影響します。
- 依存関係グラフ - この機能はパブリック リポジトリに対して常に有効になっているため、変更はプライベート リポジトリにのみ影響します。
- Dependabot alerts - 変更はすべてのリポジトリに影響します。
- Dependabot security updates - 変更はすべてのリポジトリに影響します。
- GitHub Advanced Security - GitHub Advanced Security および関連機能は常にパブリック リポジトリに対して有効になっているため、変更はプライベート リポジトリにのみ影響します。
- Secret scanning - 変更は、GitHub Advanced Security が有効なパブリック リポジトリ、プライベートまたは内部リポジトリに影響します。このオプションは、ユーザーに対するシークレット スキャン アラート が有効かどうかを制御します。 パートナーに対するシークレット スキャン アラート は常にすべてのパブリック リポジトリ上で実行されます。
- Code scanning - 変更は、パブリック リポジトリと、GitHub Advanced Security が有効になっているプライベートまたは内部リポジトリに影響します。 対象となるリポジトリについては、「大規模なコード スキャンの既定のセットアップを構成する」を参照してください。既定のセットアップの対象ではないリポジトリの場合は、リポジトリ レベルで詳細セットアップを構成できます。 詳しくは、「Managing security and analysis settings for your organization」を参照してください。
セキュリティの概要を使って一連のリポジトリを検索し、それらすべてに対するセキュリティ機能を同時に有効または無効にできます。 詳しくは、「複数のリポジトリでセキュリティ機能を有効にする」を参照してください。
注: GitHub Advanced Security を有効にした場合、これらのリポジトリに対するアクティブなコミッターは、GitHub Advanced Security のライセンスを使います。 ライセンスの容量を超えた場合、このオプションは非アクティブになります。 詳細については、「GitHub Advanced Security の課金について」を参照してください。
注: "Organization のポリシー設定が原因で、GitHub Advanced Security を有効にできません" というエラーが発生した場合は、Enterprise 管理者に問い合わせて、Enterprise の GitHub Advanced Security ポリシーを変更するように依頼してください。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。
注: エンタープライズ レベルで Dependabot alerts を有効または無効にすると、Dependabot alerts の組織レベルの設定はオーバーライドされます。 詳しくは、「Dependabot アラートの構成」を参照してください。
-
組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
-
[コードのセキュリティと分析] の下で、機能の右にある [すべて無効] または [すべて有効] をクリックして構成ダイアログ ボックスを表示します。 [GitHub Advanced Security] のコントロールが無効になるのは、GitHub Advanced Security に使用できるライセンスがない場合です。
-
ダイアログ ボックスの情報を確認します。
-
必要に応じて、機能を有効にする場合は、 [新しいプライベート リポジトリに対して既定で有効にする] をオンにします。
-
変更を行う準備ができたら、 [機能の無効化] または [機能の有効化] をクリックして、Organization 内のすべてのリポジトリの機能を無効または有効にします。
注: - すべてのリポジトリで CodeQL code scanning を無効にした場合、この変更は Organization のセキュリティの概要で示されるカバレッジ情報に反映されません。 リポジトリでは引き続き、この [セキュリティ カバレッジ] ビューでcode scanningが有効になっているように見えます。 - Organization 内のすべての対象リポジトリに対して code scanning を有効にすると、既存の code scanning 構成はオーバーライドされません。 特定のリポジトリに対して異なる設定を使用して既定のセットアップを構成する方法については、「コード スキャンの既定セットアップの構成」および「大規模なコード スキャンの既定のセットアップを構成する」をご覧ください。
既存のリポジトリで1つ以上のセキュリティ及び分析機能を有効化すると、数分のうちにGitHub上に結果が表示されます。
- 既存のすべてのリポジトリは、選択された設定を持ちます。
- 新しいリポジトリのチェックボックスをオンにした場合、新しいリポジトリは選択した構成に従います。
- 関連するサービスに適用するマニフェストファイルをスキャンするために権限を使用します。
- 有効化すると、依存関係グラフに依存関係情報が表示されます。
- 有効化すると、GitHub により、脆弱な依存関係またはマルウェアに対して Dependabot alertsが生成されます。
- 有効化すると、Dependabot セキュリティ更新プログラムは、Dependabot alerts がトリガーされたときに、脆弱な依存関係をアップグレードするための pull request を作成します。
新しいリポジトリが追加されたときに機能を自動的に有効化または無効化する
- 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
- [コードのセキュリティと分析] で機能を見つけて、組織の新しいリポジトリまたはすべての新しいプライベート リポジトリに対して既定でこの機能を有効または無効にします。
Dependabot のプライベート依存関係へのアクセスを許可する
Dependabot は、プロジェクト内の古い依存関係参照をチェックし、それらを更新するためのプルリクエストを自動的に生成できます。 これを行うには、Dependabot がすべてのターゲット依存関係ファイルにアクセスできる必要があります。 通常、1 つ以上の依存関係にアクセスできない場合、バージョン更新は失敗します。 詳しくは、「GitHub Dependabot のバージョンアップデートについて」を参照してください。
デフォルトでは、Dependabot はプライベートリポジトリまたはプライベートパッケージレジストリにある依存関係を更新できません。 ただし、依存関係が、その依存関係を使用するプロジェクトと同じ Organization 内のプライベート GitHub リポジトリにある場合は、ホストリポジトリへのアクセスを許可することで、Dependabot がバージョンを正常に更新できるようにすることができます。
コードがプライベートレジストリ内のパッケージに依存している場合は、リポジトリレベルでこれを設定することにより、Dependabot がこれらの依存関係のバージョンを更新できるようにすることができます。 これを行うには、リポジトリの dependabot.yml
ファイルに認証の詳細を追加します。 詳しくは、「dependabot.yml ファイルの構成オプション」を参照してください。
Dependabot がプライベート GitHub リポジトリにアクセスできるようにするには:
-
組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
-
[Dependabot にプライベート リポジトリへのアクセスを許可する] で、 [プライベート リポジトリの追加] または [内部およびプライベート リポジトリの追加] をクリックして、リポジトリの検索フィールドを表示します。
-
Dependabot アクセス権を付与するリポジトリの名前の入力を開始します。
-
Organization 内の一致するリポジトリのリストが表示され、アクセスを許可するリポジトリをクリックすると、許可リストにリポジトリが追加されます。
-
あるいは、リストからリポジトリを差k除するには、リポジトリの右のをクリックします。
組織内のパートナー パターンの有効性チェックの許可
注: パートナー パターンの有効性チェックは現在ベータ版であり、変更される可能性があります。
関連するパートナーに送信することで、secret scanning にシークレットの有効性を自動的に確認させることができます。 組織の設定でチェック ボックスを選択すると、組織内のすべてのリポジトリに対して機能が有効になります。 また、1 つのリポジトリまたはエンタープライズ レベルで有効性チェックを有効にすることもできます。 詳細については、「リポジトリ内のパートナー パターンの有効性チェックを許可する」と「Enterprise 用の GitHub Advanced Security 機能の管理」を参照してください。
- 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
- Secret scanning で、「関連するパートナーに送信することでシークレットが有効かどうかを自動的に検証する」の横のチェックボックスをオンにします。
Organization 内の個々のリポジトリから GitHub Advanced Security へのアクセスを削除する
[設定] タブから、リポジトリの GitHub Advanced Security 機能へのアクセスを管理できます。詳細については、「リポジトリのセキュリティと分析設定を管理する」を参照してください。 ただし、Organization の [Settings] タブから、リポジトリの GitHub Advanced Security 機能を無効にすることもできます。
- 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
- GitHub Advanced Security が有効になっている Organization 内のすべてのリポジトリのリストを表示するには、「GitHub Advanced Security リポジトリ」セクションまでスクロールします。
テーブルには、リポジトリごとの一意のコミッターの数が一覧表示されます。 これは GitHub Advanced Security へのアクセスを削除することによって解放できる ライセンス の数です。 詳しくは、「GitHub Advanced Security の課金について」を参照してください。
- あるリポジトリから GitHub Advanced Security へのアクセスを削除し、そのリポジトリに固有のアクティブ コミッターによって使用されている ライセンス を解放するには、隣にある をクリックします。
- 確認ダイアログで、 [リポジトリの削除] をクリックして、GitHub Advanced Security の機能へのアクセスを削除します。
注: リポジトリの GitHub Advanced Security へのアクセスを削除する場合は、影響を受ける開発チームと連絡を取り、変更が意図されたものかを確認する必要があります。 これにより、失敗したコードスキャンの実行をデバッグすることに時間を費すことがなくなります。