Skip to main content

リポジトリの依存関係の自動送信を構成する

依存関係の自動送信を使用して、リポジトリ内の推移的依存関係データを送信できます。 これにより、依存関係グラフを使用してこれらの推移的依存関係を分析できます。

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

リポジトリの所有者、組織の所有者、セキュリティ マネージャー、および 管理者 ロールを持つユーザー

[前提条件]

依存関係の自動送信を有効にするには、リポジトリに対して依存関係グラフを有効にする必要があります。

また、依存関係の自動送信を使用するには、リポジトリに対して GitHub Actions を有効にする必要があります。 詳しくは、「リポジトリのGitHub Actions設定の管理」をご覧ください。

依存関係の自動送信を有効にする

リポジトリ管理者は、この手順で説明されている手順に従って、リポジトリの依存関係の自動送信を有効または無効にできます。

組織の所有者は、セキュリティ構成を使用して、複数のリポジトリの依存関係の自動送信を有効にすることができます。 詳しくは、「カスタム セキュリティ構成を作成する」をご覧ください。

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

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

  2. [依存関係グラフ] で、[依存関係の自動送信] の横にあるドロップダウン メニューをクリックし、[有効] を選択します。

リポジトリの依存関係の自動送信を有効にすると、GitHub は次の処理を行います。

  • リポジトリへのプッシュを監視します。
  • リポジトリ内のすべてのマニフェストについて、パッケージ エコシステムに関連付けられた依存関係グラフ ビルド アクションを実行します。
  • 結果を使用して依存関係の自動送信を実行します。

リポジトリの [アクション] タブを表示すると、自動ワークフローの実行に関する詳細を確認できます。

メモ

依存関係の自動送信を有効にすると、アクションの実行が自動的にトリガーされます。 有効にすると、既定のブランチへのコミットによってマニフェストが更新されるたびに実行されます。

セルフホステッド ランナーによるプライベート レジストリへのアクセス

GitHub Actions インフラストラクチャを使用する代わりに、依存関係の自動送信ジョブを実行するようにセルフホステッド ランナーを構成できます。 これは、プライベート Maven レジストリにアクセスするために必要です。 セルフホステッド ランナーは Linux または macOS 上で動作している必要があります。 .NETおよびPython自動送信の場合、最新のコンポーネント検出リリースをダウンロードするには、パブリック インターネットにアクセスできる必要があります。

  1. リポジトリ レベルまたは Organization レベルで、1 つ以上のセルフホステッド ランナーをプロビジョニングします。 詳細については、「セルフホステッド ランナー」および「自己ホストランナーの追加」を参照してください。
  2. 依存関係の自動送信を使用する各ランナーに dependency-submission ラベルを割り当てます。 詳しくは、「セルフホストランナーでラベルを使用する」をご覧ください。
  3. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。
  4. [依存関係グラフ] で、[依存関係の自動送信] の横にあるドロップダウン メニューを選択し、[ラベル付きランナーで有効] を選びます。

有効にすると、次の場合を除き、依存関係の自動送信ジョブはセルフホステッド ランナーで実行されます。

  • セルフホステッド ランナーを利用できない場合。
  •         `dependency-submission` ラベルが付いたランナー グループが存在しない場合。
    

メモ

プライベート Maven レジストリを使用するセルフホステッド ランナーを使用する Maven または Gradle プロジェクトでは、依存関係送信ワークフローがレジストリに接続できるように、Maven サーバー設定ファイルを変更する必要があります。 Maven サーバー設定ファイルの詳細については、Maven ドキュメントの「Security and Deployment Settings」を参照してください。

ネットワーク許可リストの URL、より大きなランナー構成、トラブルシューティングの詳細、パッケージ エコシステム固有の情報については、 依存関係の自動送信 を参照してください。

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

  •         [AUTOTITLE](/code-security/reference/supply-chain-security/automatic-dependency-submission)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api)