セキュリティおよび分析設定の管理について
GitHub は、組織のリポジトリを保護するのに役立つ場合があります。 組織でメンバーが作成する既存または新規のリポジトリすべてについて、セキュリティおよび分析機能を管理できます。
GitHub Advanced Securityのライセンスを持った企業が組織を所有している場合、セキュリティ管理および分析設定の追加オプションを利用できます。 詳しくは、「Enterprise 用の GitHub Advanced Security 機能の管理」をご覧ください。
セキュリティと分析の設定を表示する
- GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
- 組織の隣の [設定] をクリックします。
- サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。
表示されるページでは、組織内のリポジトリのすべてのセキュリティおよび分析機能を有効化または無効化にできます。
GitHub Advanced Security のライセンスを持っている場合、ページには Advanced Security 機能を有効または無効するオプションも含まれます。 GitHub Advanced Security を使用するリポジトリは、ページの下部にリストされます。
既存のすべてのリポジトリの機能を有効または無効にする
すべてのリポジトリの機能を有効化または無効化できます。
セキュリティの概要を使って一連のリポジトリを検索し、それらすべてに対するセキュリティ機能を同時に有効または無効にできます。 詳しくは、「複数のリポジトリでセキュリティ機能を有効にする」を参照してください。
Note
GitHub Advanced Security を有効にした場合、これらのリポジトリに対するアクティブなコミッターは、GitHub Advanced Security のライセンスを使うようになります。 ライセンスの容量を超えた場合、このオプションは非アクティブになります。
Note
"GitHub Advanced Security cannot be enabled because of a policy setting for the organization" というエラーが発生した場合は、Enterprise 管理者に問い合わせて、Enterprise の GitHub Advanced Security ポリシーを変更するように依頼してください。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」を参照してください。
-
組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
-
[コードのセキュリティと分析] の下で、機能の右にある [すべて無効] または [すべて有効] をクリックして構成ダイアログ ボックスを表示します。 GitHub Advanced Security に使用できる ライセンス がない場合、「GitHub Advanced Security」の管理が無効になります。
-
ダイアログ ボックスの情報を確認します。
-
必要に応じて、プライベート脆弱性レポート、依存関係グラフ、Dependabot を有効にする場合、[既定で新しいレポジトリの有効化] を選択します。
-
変更を行う準備ができたら、 [機能の無効化] または [機能の有効化] をクリックして、組織内のすべてのリポジトリの機能を無効または有効にします。
-
必要に応じて、セキュリティと分析設定の機能セクションで、追加の有効化設定を選択します。 追加の有効化設定には、次のものが含まれる場合があります。
-
特定の種類のリポジトリの自動有効化
-
組織全体でのcode scanningの既定のセットアップに対する拡張クエリ スイートの推奨、またはsecret scanningの自動シークレット検証などの機能固有の設定
Note
- すべてのリポジトリで 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除するには、リポジトリの右のをクリックします。
組織内の個々のリポジトリから GitHub Advanced Security へのアクセスを削除する
[設定] タブから、リポジトリの GitHub Advanced Security 機能へのアクセスを管理できます。詳細については、「リポジトリのセキュリティと分析設定を管理する」を参照してください。 ただし、組織の [Settings] タブから、リポジトリの GitHub Advanced Security 機能を無効にすることもできます。
- 組織のセキュリティと分析の設定に移動します。 詳細については、「セキュリティと分析の設定を表示する」を参照してください。
- GitHub Advanced Security が有効になっている組織内のすべてのリポジトリのリストを表示するには、「GitHub Advanced Security リポジトリ」セクションまでスクロールします。
テーブルには、リポジトリごとの一意のコミッターの数が一覧表示されます。 これは GitHub Advanced Security へのアクセスを削除することによって解放できる ライセンス の数です。 詳しくは、「GitHub Advanced Security の課金について」を参照してください。
- あるリポジトリから GitHub Advanced Security へのアクセスを削除し、そのリポジトリに固有のアクティブ コミッターによって使用されている ライセンス を解放するには、隣にある をクリックします。
- 確認ダイアログで、 [リポジトリの削除] をクリックして、GitHub Advanced Security の機能へのアクセスを削除します。
Note
リポジトリの GitHub Advanced Security へのアクセスを削除する場合は、影響を受ける開発チームと連絡を取り、変更が意図されたものかを確認する必要があります。 これにより、失敗したコードスキャンの実行をデバッグすることに時間を費すことがなくなります。