依存関係のレビューについて
依存関係レビューを使うと、すべてのPull Reqeustにおける以下の変更による依存関係の変化とセキュリティについての影響を理解しやすくなります。 Pull Requestの"Files Changed(変更されたファイル)"タブ上のリッチdiffで、依存関係の変化を理解しやすく可視化します。 依存関係レビューは、以下のことを知らせます:
- リリース日と合わせて、追加、削除、更新された依存関係。
- これらのコンポーネントを使うプロジェクトの数。
- これらの依存関係に関する脆弱性のデータ。
詳しい情報については「依存関係レビューについて」及び「Pull Request中での依存関係の変化のレビュー」を参照してください。
依存関係レビューの設定について
依存関係レビューは、パブリックリポジトリに対してGitHub Enterprise Cloudに含まれています。 依存関係レビューをOrganizationが所有するプライベートリポジトリで使うには、GitHub Advanced Securityを持っていることと、依存関係グラフが有効化されていることが必要です。
リポジトリ管理者は、プライベートリポジトリに対して依存関係グラフを有効または無効にすることができます。
ユーザアカウントまたは Organization が所有するすべてのリポジトリの依存関係グラフを有効または無効にすることもできます。 For more information, see "Configuring the dependency graph."
-
GitHub.comで、リポジトリのメインページにアクセスしてください。
-
リポジトリ名の下で Settings(設定)をクリックしてください。
-
In the "Security" section of the sidebar, click Code security and analysis.
-
リポジトリ データへの読み取りアクセスを GitHub Enterprise Cloud に許可して依存関係グラフを有効にすることに関するメッセージを読んだうえで、[Dependency Graph] の隣にある [Enable] をクリックします。
You can disable the dependency graph at any time by clicking Disable next to "Dependency Graph" on the settings page for "Code security and analysis."
-
"GitHub Advanced Security"が有効化されていない場合、その隣のEnable(有効化)をクリックしてください。
Dependency Review GitHub Actionの設定
Note: The Dependency Review GitHub Action is currently in public beta and subject to change.
For more information about the action and the API endpoint, see "About dependency review," and "Dependency review" in the API documentation, respectively.
以下の設定オプションが利用できます。
オプション | 必須 | 使い方 |
---|---|---|
fail-on-severity | 任意 | 重要度(low 、moderate 、high 、critical )の閾値を定義します。指定された重要度以上の脆弱性を導入するPull Requestについて、このアクションは失敗します。 |
allow-licenses | 任意 | 許可されているライセンスのリストを含みます。 このパラメータで利用できる値は、APIドキュメンテーションのLicensesページにあります。 このリストにマッチしないライセンスを持つ依存関係を導入するPull Requestについて、このアクションは失敗します。 |
deny-licenses | 任意 | 禁じられているライセンスのリストを含みます。 このパラメータで利用できる値は、APIドキュメンテーションのLicensesページにあります。 このリストにマッチするライセンスを持つ依存関係を導入するPull Requestについて、このアクションは失敗します。 |
参考: allow-licenses
及びdeny-licenses
オプションは、相互排他です。
このDependency Review GitHub Actionのサンプルファイルは、これらの設定オプションの使い方を示しています。
name: 'Dependency Review'
on: [pull_request]
permissions:
contents: read
jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v3
- name: Dependency Review
uses: actions/dependency-review-action@v2
with:
# 取り得る値: "critical", "high", "moderate", "low"
fail-on-severity: critical
# この2つの選択肢のいずれかだけを含めることができる: `allow-licenses` and `deny-licences`
# ([String]). これらのライセンスだけを許可 (オプション)
# 取り得る値: https://docs.github.com/en/rest/licensesからの任意の`spdx_id`値
# 許可ライセンス: GPL-3.0, BSD-3-Clause, MIT
# ([String]). これらのライセンスでPull Requestはブロック (オプション)
# 取り得る値: https://docs.github.com/en/rest/licensesからの任意の`spdx_id`値
# 拒否ライセンス: LGPL-2.0, BSD-2-Clause
これらの設定オプションに関する詳細についてはdependency-review-action
を参照してください。