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