Skip to main content

リポジトリを保護する

リポジトリをセキュアに保つために、いくつものGitHubの機能が利用できます。

Who can use this feature

Repository administrators and organization owners can configure repository security settings.

はじめに

このガイドは、リポジトリでのセキュリティ機能の設定方法を紹介します。 リポジトリのセキュリティ設定を構成するには、リポジトリ管理者かOrganizationのオーナーでなければなりません。

セキュリティの要件はリポジトリに固有のものなので、リポジトリですべての機能を有効化する必要はないかもしれません。 詳細については、「GitHub セキュリティ機能」を参照してください。

一部の機能は、すべてのリポジトリに使用できます。 その他の機能は、GitHub Advanced Security を使うエンタープライズに使用できます。 詳細については、「GitHub Advanced Security について」を参照してください。

リポジトリへのアクセスの管理

リポジトリを保護するための最初の手順は、誰がコードを表示および変更できるかを確立することです。 詳細については、「リポジトリ設定の管理」を参照してください。

リポジトリのメイン ページから、 [設定] をクリックし、[危険区域] まで下にスクロールします。

依存関係グラフの管理

Enterprise の所有者は、エンタープライズの依存関係グラフと Dependabot alerts を構成できます。 詳細については、「エンタープライズの依存関係グラフの有効化」および「エンタープライズの Dependabot の有効化」を参照してください。

詳細については、「ポジトリの依存関係を調べる」を参照してください。

Dependabot alertsの管理

GitHub によって脆弱性のある依存関係が依存関係グラフで特定されたときに、Dependabot alerts が生成されます。

Enterprise の所有者は、エンタープライズの依存関係グラフと Dependabot alerts を構成できます。 詳細については、「エンタープライズの依存関係グラフの有効化」および「エンタープライズの Dependabot の有効化」を参照してください。

詳細については、「Dependabot alerts について」を参照してください。

依存関係レビューの管理

依存関係レビューを使うと、Pull Requestがリポジトリにマージされる前に、Pull Request内での依存関係の変化を可視化できます。 詳細については、「依存関係レビューについて」を参照してください。

依存関係レビューは GitHub Advanced Security 機能です。 リポジトリに対して依存関係レビューを有効にするには、依存関係グラフが有効になっていることを確かめ、GitHub Advanced Security を有効にします。

  1. リポジトリのメイン ページから、 [設定] をクリックします。
  2. [セキュリティと分析] をクリックします。
  3. 依存関係グラフが Enterprise 用に構成されていることを確認します。
  4. まだ GitHub Advanced Security が有効になっていない場合は、 [有効化] をクリックします。

Dependabot security updatesの管理

Dependabot alertsを使用するリポジトリでは、Dependabot security updatesを有効化して脆弱性が検出された際にセキュリティ更新でPull Requestを発行させることができます。

  1. リポジトリのメイン ページから、 [設定] をクリックします。
  2. [セキュリティと分析] をクリックします。
  3. Dependabot security updates の横にある [有効化] をクリックします。

詳細については、「Dependabot security updates について」と「Dependabot security updates の構成」を参照してください。

Dependabot version updatesの管理

Dependabotを有効化して、依存関係を最新の状態に保つためのPull Requestを自動的に発行するようにできます。 詳細については、「Dependabot version updates について」を参照してください。

Dependabot version updates を有効にするには、dependabot.yml 構成ファイルを作成する必要があります。 詳細については、「Dependabot バージョンの更新の構成」を参照してください。

code scanning の構成

CodeQL analysis workflow またはサードパーティ製ツールを使用して、リポジトリに格納されているコードの脆弱性とエラーを自動的に特定するように code scanning を構成できます。 詳細については、「リポジトリの code scanning の構成」を参照してください。

Code scanning は、を Enterprise で使用する場合は Organization 所有のリポジトリ に対するライセンスを持つ Enterprise の一部である Organization が所有するプライベート リポジトリで使用可能です。

secret scanningの設定

Secret scanning は、を Enterprise で使用する場合は Organization 所有のリポジトリ に対するライセンスを持つ Enterprise の一部である Organization が所有するプライベート リポジトリで使用可能です。 組織の設定によっては、リポジトリに対して Secret scanning が既に有効になっている場合があります。

  1. リポジトリのメイン ページから、 [設定] をクリックします。
  2. [セキュリティと分析] をクリックします。
  3. まだ GitHub Advanced Security が有効になっていない場合は、 [有効化] をクリックします。
  4. Secret scanning の横にある [有効化] をクリックします。

セキュリティポリシーの設定

リポジトリの保守管理者であれば、リポジトリに SECURITY.md という名前のファイルを作成して、リポジトリのセキュリティ ポリシーを指定することをお勧めします。 このファイルは、ユーザーがリポジトリのセキュリティ脆弱性を報告したいときに、リポジトリの保守管理者と連絡を取って共同作業を行うにはどうすれば一番良いかを指示します。 リポジトリのセキュリティ ポリシーは、リポジトリの [Security] タブから確認できます。

  1. リポジトリのメイン ページから、 [セキュリティ] をクリックします。
  2. [セキュリティ ポリシー] をクリックします。
  3. [Start setup] (セットアップの開始) をクリックします。
  4. プロジェクトのサポートされているバージョンに関する情報と、脆弱性の報告方法に関する情報を追加してください。

詳細については、「リポジトリへのセキュリティ ポリシーの追加」を参照してください。

次の手順

セキュリティの機能からのアラートを表示及び管理して、コード中の依存関係と脆弱性に対処できます。 詳しくは、「Dependabot alerts の表示と更新」、「依存関係の更新に関する Pull Request を管理する」、「リポジトリの code scanning を管理する」、「secret scanning からのアラートを管理する」をご覧ください。