リポジトリの Dependabot security updates を管理する
個人アカウントまたは Organization が所有するすべての対象のリポジトリの Dependabot security updates を有効または無効にすることができます。 詳細については、「セキュリティと分析機能の管理」または「組織のセキュリティおよび分析設定を管理する」を参照してください。
個別のリポジトリに対して Dependabot security updates を有効または無効にすることもできます。
個別のリポジトリに対して Dependabot security updates を有効または無効にする
-
GitHub で、リポジトリのメイン ページに移動します。1. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
1. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
[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 を有効または無効にする
-
GitHub で、リポジトリのメイン ページに移動します。1. リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
1. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
[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 をカスタマイズする」をご覧ください。
# 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*"
# 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)