[前提条件]
依存関係の自動送信を有効にするには、リポジトリに対して依存関係グラフを有効にする必要があります。
自動依存関係の送信を使用するには、リポジトリの GitHub Actions も有効にする必要があります。 詳しくは、「リポジトリのGitHub Actions設定の管理」をご覧ください。
メモ
Dependabot グラフ ジョブをサポートするエコシステムでは、依存関係の自動送信を有効にする必要はありません。
Dependabot グラフ ジョブは、リポジトリに対して依存関係グラフが有効になっているときに自動的に実行され、自動依存関係の送信よりも優先されます。 「[AUTOTITLE](/code-security/concepts/supply-chain-security/dependency-graph-data#dependabot-graph-jobs)」を参照してください。
依存関係の自動送信を有効にする
リポジトリ管理者は、この手順で説明されている手順に従って、リポジトリの依存関係の自動送信を有効または無効にできます。
組織の所有者は、セキュリティ構成を使用して、複数のリポジトリの依存関係の自動送信を有効にすることができます。 詳しくは、「カスタム セキュリティ構成を作成する」をご覧ください。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
![タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。](/assets/cb-28260/images/help/repository/repo-actions-settings.png)
-
サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。
-
[依存関係グラフ] で、[依存関係の自動送信] の横にあるドロップダウン メニューをクリックし、[有効] を選択します。
リポジトリの自動依存関係の送信を有効にすると、 GitHub は次のようになります。
- リポジトリへのプッシュを監視します。
- リポジトリ内のすべてのマニフェストについて、パッケージ エコシステムに関連付けられた依存関係グラフ ビルド アクションを実行します。
- 結果を使用して依存関係の自動送信を実行します。
リポジトリの [アクション] タブを表示すると、自動ワークフローの実行に関する詳細を確認できます。
メモ
依存関係の自動送信を有効にすると、アクションの実行が自動的にトリガーされます。 有効にすると、既定のブランチへのコミットによってマニフェストが更新されるたびに実行されます。
プライベート レジストリへのアクセス
Dependabot シークレットの使用
Dependabotグラフ ジョブをサポートするエコシステムの場合は、組織またはリポジトリ レベルでDependabotシークレットを使用してプライベート レジストリへのアクセスを構成できます。
Dependabotグラフ ジョブで、構成されたシークレットを介してアクセスできないプライベート パッケージが検出されると、それらのパッケージはエラーを引き起こすことなく、依存関係グラフから適切に省略されます。
プライベート レジストリ アクセスの構成の詳細については、 Dependabot のプライベート レジストリへのアクセスの構成 を参照してください。
セルフホステッドランナーの使用
**
** インフラストラクチャを使用する代わりに、自動依存関係送信ジョブを実行するようにGitHub Actionsを構成できます。 これは、 Dependabot グラフ ジョブをサポートしていないエコシステム、またはレジストリがネットワーク内からのみ到達可能な場合に、プライベート レジストリにアクセスするために必要です。 セルフホステッド ランナーは Linux または macOS 上で動作している必要があります。 .NETおよびPython自動送信の場合、最新のコンポーネント検出リリースをダウンロードするには、パブリック インターネットにアクセスできる必要があります。
- リポジトリ レベルまたは Organization レベルで、1 つ以上のセルフホステッド ランナーをプロビジョニングします。 詳細については、「セルフホステッド ランナー」および「自己ホストランナーの追加」を参照してください。
- 依存関係の自動送信を使用する各ランナーに
dependency-submissionラベルを割り当てます。 詳しくは、「セルフホストランナーとのラベルの利用」をご覧ください。 - サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。
- [依存関係グラフ] で、[自動依存関係の送信] の横にあるドロップダウン メニューをクリックし、 ラベル付きランナーに対して [有効] を選択します。
有効にすると、次の場合を除き、依存関係の自動送信ジョブはセルフホステッド ランナーで実行されます。
- セルフホステッド ランナーを利用できない場合。
dependency-submissionラベルが付いたランナー グループが存在しない場合。
メモ
プライベート Maven レジストリを使用するセルフホステッド ランナーを使用する Maven または Gradle プロジェクトでは、依存関係送信ワークフローがレジストリに接続できるように、Maven サーバー設定ファイルを変更する必要があります。 Maven サーバー設定ファイルの詳細については、Maven ドキュメントの「Security and Deployment Settings」を参照してください。
ネットワーク許可リストの URL、より大きなランナー構成、トラブルシューティングの詳細、パッケージ エコシステム固有の情報については、 依存関係の自動送信 を参照してください。