GitHub.com アクションへの自動アクセスについて
既定では、GitHub AE の GitHub Actions ワークフローでは、GitHub.com または GitHub Marketplace から直接アクションを使用することはできません。 GitHub.com のすべてのアクションをエンタープライズ インスタンスで使用できるようにするには、GitHub Connect を使用して、GitHub AE と GitHub Enterprise Cloud を統合できます。
GitHub.com からのアクションを使うには、セルフホステッド ランナーが、GitHub.com へのアウトバウンド接続を行える必要があります。 GitHub.com からの受信接続は必要ありません。 詳しくは、 詳しくは、「セルフホステッド ランナーの概要」を参照してください。
または、エンタープライズで許可されるアクションをより厳密に制御する場合は、actions-sync
ツールを使用してアクションを手動でダウンロードしてエンタープライズ インスタンスに同期できます。 詳しくは、「GitHub.com からアクションを手動で同期する」を参照してください。
GitHub Connect を使用したアクションの解決について
ワークフローが、アクションが格納されているリポジトリを参照してアクションを使用する場合、GitHub Actions は最初に ご自分のエンタープライズ でリポジトリを検索します。 リポジトリが ご自分のエンタープライズ に存在せず、GitHub.com への自動アクセスが有効になっている場合、GitHub Actions は GitHub.com でリポジトリを検索します。
ユーザーが GitHub.com の組織とリポジトリ名に一致する組織とリポジトリを既にエンタープライズに作成している場合は、GitHub.com リポジトリの代わりに、エンタープライズ上のリポジトリが使用されます。 悪意のあるユーザーがこの動作を利用して、ワークフローの一部としてコードを実行する可能性があります。
すべての GitHub.com アクションへの自動アクセスを有効化する
エンタープライズの GitHub.com からのすべてのアクションへのアクセスを有効にする前に、次を実行する必要があります。 を有効にする必要があります。 詳しくは、「GitHub Connect の管理」を参照してください。
-
GitHub AE の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。
-
[Enterprise アカウント] サイドバーで、 [GitHub Connect] をクリックします。
-
[ユーザーはワークフローの実行で GitHub.com のアクションを利用できます] で、ドロップダウン メニューを使用して [有効] を選択します。
-
GitHub Connectを有効化した後は、Enterprise内のリポジトリでどのパブリックなアクションが使えるかを制限するポリシーが利用できます。 詳しくは、「エンタープライズで GitHub Actions のポリシーを適用する」を参照してください。
GitHub.com でアクセスされたアクションの名前空間の自動廃止
GitHub Connect を有効にすると、GitHub Actions は各アクションの ご自分のエンタープライズを検索してから GitHub.com にフォールバックするため、ユーザーから見た既存のワークフローの動作は変わりません。 これにより、エンタープライズが作成したアクションのカスタム バージョンが、GitHub.com の対応するアクションに優先して使用されるようになります。
GitHub.com でアクセスされるアクションの名前空間が自動的に廃止されると、ご自分のエンタープライズにアクセスできる悪意のあるユーザーによる中間者攻撃の可能性がブロックされます。 GitHub.com に対するアクションが初めて使用されると、その名前空間は ご自分のエンタープライズで廃止されます。 これにより、GitHub.com の組織とリポジトリ名に一致する組織とリポジトリをエンタープライズ内に作成しているすべてのユーザーがブロックされます。 これにより、ワークフローの実行時に、意図したアクションが常に実行されるようになります。
GitHub.com からのアクションを使用した後、同じ名前の ご自分のエンタープライズにアクションを作成する場合は、まず、その組織とリポジトリの名前空間を使用できるようにする必要があります。
-
GitHub AE の管理アカウントから、任意のページの右上隅で をクリックします。
-
[サイト管理者] ページにまだ表示されていない場合は、左上隅の [サイト管理者] をクリックします。
-
左側のサイドバーの [サイト管理者] で、 [廃止された名前空間] をクリックします。
-
ご自分のエンタープライズで使用する名前空間の右の [廃止の取り消し] をクリックします。
-
関連する組織に移動し、新しいリポジトリを作成します。
ヒント: 名前空間の廃止を取り消す場合は、できるだけ早くその名前の新しいリポジトリを必ず作成してください。 ローカル リポジトリを作成する前に、ワークフローが GitHub.com に関連付けられたアクションを呼び出した場合、名前空間は再び廃止されます。 頻繁に実行されるワークフローで使用されるアクションの場合、ローカル リポジトリを作成する前に名前空間が再び廃止される場合があります。 この場合、新しいリポジトリを作成するまで、関連するワークフローを一時的に無効にすることができます。