Skip to main content

Enterprise Server 3.20 は、現在リリース候補として使用できます。

Dependabot セキュリティの更新の構成

Dependabot security updates または手動のプルリクエストを使用して、脆弱性のある依存関係を簡単に更新できます。

この機能を使用できるユーザーについて

Users with write access

メモ

この機能を使用するには、サイト管理者が お使いの GitHub Enterprise Server インスタンスの Dependabot updatesを設定する必要があります。 詳細については、「エンタープライズ向けの Dependabot の有効化」を参照してください。

Enterprise 所有者が Enterprise レベルでポリシーを設定している場合、Dependabot updates を有効または無効にできない場合があります。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」をご覧ください。

リポジトリの Dependabot security updates を管理する

個人アカウントまたは Organization が所有するすべての対象のリポジトリの Dependabot security updates を有効または無効にすることができます。 詳細については、「セキュリティと分析機能の管理」または「組織のセキュリティおよび分析設定を管理する」を参照してください。

個別のリポジトリに対して Dependabot security updates を有効または無効にすることもできます。

個別のリポジトリに対して Dependabot security updates を有効または無効にする

  1. GitHub で、リポジトリのメイン ページに移動します。1. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。
    1. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。

  2. [Dependabot セキュリティ更新プログラム] の右側にある [有効] または [無効] をクリックして、機能を有効または無効にします。

Dependabot security updates を 1 つの pull request にグループ化する

グループ化されたセキュリティ更新プログラムを使用するには、まず次の機能を有効にする必要があります。

  •         **依存関係グラフ**。 詳しくは、「[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph)」をご覧ください。
    
  •         **Dependabot alerts**。 詳しくは、「[AUTOTITLE](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts)」をご覧ください。
    
  •         **Dependabot security updates**。 詳しくは、「[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates)」をご覧ください。
    

メモ

グループ化されたセキュリティ更新プログラムを最初に有効にすると、Dependabot はすぐにグループ化された pull request の作成を試みます。 Dependabot が古い pull request を閉じ、新しい pull request を開くことに気付く場合があります。

Dependabot security updates のグループ化された pull request は、以下の方法のいずれかまたは両方で有効にすることができます。

  • 使用できるセキュリティ更新プログラムをディレクトリ間やエコシステムごとにできるだけ多くグループ化するには、リポジトリ、または organization の [Advanced Security] の [Global settings] の [Advanced Security] 設定でグループ化を有効にします。
  • パッケージ名、開発と運用の依存関係、SemVer レベル、複数のディレクトリにわたるエコシステムごとによるグループ化など、グループ化をより細かく制御するには、リポジトリの dependabot.yml 構成ファイルに構成オプションを追加します。> [!NOTE]

dependabot.yml ファイル内で Dependabot security updates のグループルールを構成した場合、使用できるすべての更新は、指定したルールに従ってグループ化されます。 Dependabot は、Organization またはリポジトリ レベルでグループ化されたセキュリティ アップデートの設定も有効になっている場合、dependabot.yml で構成されていないディレクトリ間でのみグループ化されます。

個別のリポジトリに対して、グループ化された Dependabot security updates を有効または無効にする

  1. GitHub で、リポジトリのメイン ページに移動します。1. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。
    1. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。

  2. [Dependabot] で、[グループ化されたセキュリティ更新プログラム] の右側にある [有効化] をクリックして機能を有効にするか、[無効化] をクリックして無効にします。

Organization に対して、グループ化された Dependabot security updates を有効または無効にする

グループ化された Dependabot security updates を 1 つの pull request に有効にすることができます。 詳しくは、「組織のグローバル セキュリティ設定の構成」をご覧ください。

構成ファイルを使用した既定の動作のオーバーライド

リポジトリに dependabot.yml ファイルを追加することで、Dependabot security updates の既定の動作をオーバーライドできます。 dependabot.yml ファイルを使用すると、グループ化をより細かく制御し、Dependabot security updates 設定の既定の動作をオーバーライドできます。

          `groups` オプションを `applies-to: security-updates` キーを指定して使って (パッケージ マネージャーごとに) 依存関係のセットを作成し、Dependabot が 1 つの pull request を開いて複数の依存関係を同時に更新できるようにします。 パッケージ名 (`patterns` や `exclude-patterns` キー)、依存関係の種類 (`dependency-type` キー)、SemVer (`update-types` キー) でグループを定義できます。

Dependabot は、dependabot.yml ファイルに表示される順序でグループを作成します。 依存関係の更新が複数のグループに属している可能性がある場合、一致する最初のグループにのみ割り当てられます。

          _セキュリティ_更新プログラムのみを必要とし、_バージョン_更新プログラムを除外する場合は、特定の `open-pull-requests-limit` のバージョン更新プログラムを防ぐために `0` を `package-ecosystem` に設定できます。

セキュリティ更新プログラムで使用可能な構成オプションについて詳しくは、「Dependabot セキュリティ更新プログラム用に pull request をカスタマイズする」をご覧ください。

YAML
# Example configuration file that:
#  - Has a private registry
#  - Ignores lodash dependency
#  - Disables version-updates
#  - Defines a group by package name, for security updates for golang dependencies

version: 2
registries:
  example:
    type: npm-registry
    url: https://example.com
    token: ${{secrets.NPM_TOKEN}}
updates:
  - package-ecosystem: "npm"
    directory: "/src/npm-project"
    schedule:
      interval: "daily"
    # For Lodash, ignore all updates
    ignore:
      - dependency-name: "lodash"
    # Disable version updates for npm dependencies
    open-pull-requests-limit: 0
    registries:
      - example
  - package-ecosystem: "gomod"
    groups:
      golang:
        applies-to: security-updates
        patterns:
          - "golang.org*"

メモ

Dependabot でセキュリティ更新プログラムにこの構成を使用するには、directory をマニフェスト ファイルへのパスにする必要があります。target-branch は指定しないでください。

詳細については、次を参照してください。

  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/about-dependabot-alerts)
    
  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)