Sobre a rede privada do Azure para executores hospedados em GitHub
Você pode usar executores hospedados no GitHub em uma VNET do Azure. Isso permite usar a infraestrutura gerenciada pela GitHub para CI/CD e, ao mesmo tempo, fornece controle total sobre as políticas de rede dos seus executores. Para obter mais informações sobre VNETs do Azure, consulte O que é uma Rede Virtual do Azure?, na documentação do Azure.
Você pode conectar várias sub-redes VNET ao GitHub e gerenciar o acesso aos recursos privados para seus executores por meio de grupos de executores. Para obter mais informações sobre os grupos de executores, confira Como controlar o acesso a executores maiores.
O uso de executores hospedados em GitHub na VNET do Azure permite que você execute as seguintes ações.
- Conectar um executor de forma privada a recursos dentro de uma VNET do Azure sem abrir portas da Internet, incluindo recursos locais acessíveis a partir da VNET do Azure.
- Restrinja o que os executores hospedados em GitHub podem acessar ou se conectar com controle total sobre as políticas de rede de saída.
- Monitore os logs de rede dos executores hospedados em GitHub e exiba toda a conectividade de e para um executor.
Sobre o uso de executores avançados com a VNET do Azure
2 executores de 64 vCPU, Ubuntu e Windows têm suporte com o Azure VNET. Para obter mais informações sobre esses tipos de executores, confira Executores avançados.
A rede privada para executores hospedados pela GitHub não oferece suporte para endereços IP estáticos para executores avançados. Você deve usar endereços IP dinâmicos, que é a configuração padrão de executores avançados. Para saber mais sobre redes para executores maiores, confira Executores avançados.
Sobre a comunicação em rede
Para facilitar a comunicação entre as redes do GitHub e sua VNET, uma placa de interface de rede (NIC) do executor hospedado pela GitHub é implantada na VNET do Azure.
Como a NIC vive dentro da sua VNET, a GitHub não pode bloquear conexões de entrada. Por padrão, as máquinas virtuais do Azure aceitarão conexões de entrada da mesma VNET. Para obter mais informações, confira AllowVNetInBound no Microsoft Learn. Recomenda-se bloquear explicitamente todas as conexões de entrada para os corredores. O GitHub nunca exigirá conexões de entrada para essas máquinas.
Uma NIC permite que uma VM (máquina virtual) do Azure comunique-se com a Internet, com o Azure e com recursos locais. Dessa forma, toda a comunicação é mantida privada dentro dos limites da rede, e as políticas de rede aplicadas à VNET também se aplicam ao executor. Para obter mais informações sobre como gerenciar uma interface de rede, consulte Alterar configurações da interface de rede no Microsoft Learn.
Observação
Em breve, as NICs criadas pelo serviço GitHub Actions não aparecerão mais em suas assinaturas de Azure. Doravante, as placas de rede serão provisionadas em uma assinatura de serviço e receberão endereços IP da sua sub-rede.

- Um fluxo de trabalho do GitHub Actions é acionado.
- O serviço GitHub Actions cria um executor.
- O serviço do executor implanta a placa de interface de rede (NIC) do executor hospedado pelo GitHub em sua VNET do Azure.
- O agente de execução seleciona o trabalho de fluxo de trabalho. O serviço GitHub Actions coloca o trabalho na fila.
- O executor envia os registros de volta para o serviço GitHub Actions.
- A NIC acessa recursos no local.
Sobre regiões com suporte
O GitHub Actions serviço dá suporte a um subconjunto de todas as regiões fornecidas pelo Azure. Para facilitar a comunicação entre o GitHub Actions serviço e sua sub-rede, sua sub-rede deve estar em uma das regiões com suporte.
Observação
Se você usar residência de dados em GHE.com, as regiões com suporte serão diferentes. Confira Detalhes de rede do GHE.com.
Há suporte para as seguintes regiões GitHub.com.
AustraliaEastBrazilSouthCanadaCentralCanadaEastCentralUsEastAsiaEastUsEastUs2FranceCentralGermanyWestCentralJapanWestKoreaCentralNorthCentralUsNorthEuropeNorwayEastSouthCentralUsSoutheastAsiaSouthIndiaSwedenCentralSwitzerlandNorthUkSouthUkWestWestUsWestUs2WestUs3
A rede privada do Azure oferece suporte a executores de GPU nas seguintes regiões.
EastUsNorthCentralUsSouthCentralUsWestUs
A rede privada do Azure oferece suporte a executores de arm64 nas regiões a seguir.
CentralUsEastUsEastUs2NorthCentralUsSouthCentralUsWestUsWestUs2WestUs3
Iniciaremos um processo para solicitar suporte para novas regiões em breve. Você também pode usar emparelhamento de rede virtual global para conectar redes virtuais em diferentes regiões do Azure. Para obter mais informações, consulte Emparelhamento de Rede Virtual na documentação do Azure.
Sobre as permissões do serviço GitHub Actions
Para implantar com êxito uma NIC e ingressar uma NIC em uma sub-rede, o serviço GitHub Actions mantém as seguintes permissões de controle de acesso baseado em função (RBAC) do Azure na sua assinatura do Azure. Para obter mais informações sobre o gerenciamento de acesso refinado de recursos do Azure, consulte RBAC do Azure na documentação do Azure.
GitHub.Network/operations/readGitHub.Network/networkSettings/readGitHub.Network/networkSettings/writeGitHub.Network/networkSettings/deleteGitHub.Network/RegisteredSubscriptions/readMicrosoft.Network/locations/operations/readMicrosoft.Network/locations/operationResults/readMicrosoft.Network/locations/usages/readMicrosoft.Network/networkInterfaces/readMicrosoft.Network/networkInterfaces/writeMicrosoft.Network/networkInterfaces/deleteMicrosoft.Network/networkInterfaces/join/actionMicrosoft.Network/networkSecurityGroups/join/actionMicrosoft.Network/networkSecurityGroups/readMicrosoft.Network/publicIpAddresses/readMicrosoft.Network/publicIpAddresses/writeMicrosoft.Network/publicIPAddresses/join/actionMicrosoft.Network/routeTables/join/actionMicrosoft.Network/virtualNetworks/readMicrosoft.Network/virtualNetworks/subnets/join/actionMicrosoft.Network/virtualNetworks/subnets/readMicrosoft.Network/virtualNetworks/subnets/writeMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/deleteMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/readMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/writeMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/details/readMicrosoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/actionMicrosoft.Resources/subscriptions/resourceGroups/readMicrosoft.Resources/subscriptions/resourcegroups/deployments/readMicrosoft.Resources/subscriptions/resourcegroups/deployments/writeMicrosoft.Resources/subscriptions/resourcegroups/deployments/operations/readMicrosoft.Resources/deployments/readMicrosoft.Resources/deployments/writeMicrosoft.Resources/deployments/operationStatuses/read
As permissões a seguir estarão presentes em dois aplicativos empresariais em seu locatário do Azure. Você verá os aplicativos empresariais do seu locatário do Azure depois de configurar a rede privada do Azure.
- id do
GitHub CPS Network Service:85c49807-809d-4249-86e7-192762525474 - id do
GitHub Actions API:4435c199-c3da-46b9-a61d-76de3f2c9f82
Usando políticas de rede da sua VNET
Como a NIC do executor hospedado no GitHub é implantada em sua VNET do Azure, as políticas de rede aplicadas à VNET também se aplicam ao executor.
Por exemplo, se a sua VNET estiver configurada com um Azure ExpressRoute para fornecer acesso a recursos locais (por exemplo, Artifactory) ou conectada a um túnel VPN para fornecer acesso a outros recursos baseados em nuvem, essas políticas de acesso também se aplicarão aos seus executores. Além disso, todas as regras de saída aplicadas ao grupo de segurança de rede (NSG) da VNET também se aplicam, o que lhe dá a capacidade de controlar o acesso de saída dos seus executores.
Se você tiver ativado qualquer monitoramento de logs de rede para a VNET, também poderá monitorar o tráfego de rede para seus executores.
Os executores hospedados pelo GitHub usam qualquer controle de saída que sua rede esteja usando. Se sua rede depender do acesso de saída padrão do Azure, os IPs não serão previsíveis e não poderão ser adicionados à lista de permissões de IP do GitHub. Para obter recomendações sobre como usar um IP de saída estável, consulte Acesso de saída padrão na documentação do Azure.
Sobre o failover da VNET
Observação
O failover da VNET está em versão prévia pública e está sujeito a alterações.
Você pode configurar uma rede de contingência para sua configuração de rede. Uma rede de failover é uma sub-rede secundária da Rede Virtual do Azure, que pode estar em uma região diferente do Azure da sua sub-rede primária. Se sua sub-rede primária ficar indisponível devido a uma falha regional ou outra interrupção, você poderá habilitar a rede de contingência para rotear o tráfego do runner por meio da sub-rede secundária, mantendo a continuidade para seus GitHub Actions fluxos de trabalho.
Principais pontos sobre o failover da VNET:
- A sub-rede de failover pode residir em uma região do Azure diferente da sub-rede primária.
- Alternar entre sub-redes primárias e de failover é um processo manual. Você habilita ou desabilita a rede de failover a seu critério.
- As sub-redes primárias e de failover devem ser configuradas com os recursos necessários do Azure (VNET/sub-rede, configurações de rede, etc.) antes que você possa usar o failover.
- A sub-rede de contingência deve estar em uma região com suporte.
Para obter mais informações sobre como configurar uma rede de failover, consulte Configurando a rede privada para executores hospedados por GitHub em sua empresa.
Gerenciar políticas de configuração de rede para organizações em sua empresa
Você pode dar aos proprietários da organização em sua empresa a capacidade de configurar e manter configurações de rede no nível da organização para executores hospedados em GitHub.
Para saber mais, confira Configurando a rede privada para executores hospedados por GitHub em sua empresa.
Usando executores hospedados em GitHub com uma VNET do Azure
Para usar executores hospedados em GitHub com uma VNET do Azure, você precisará configurar seus recursos do Azure e criar uma configuração de rede em GitHub.
Por padrão, as organizações em uma empresa não podem criar novas configurações de rede e apenas herdar configurações de rede de nível empresarial. Os proprietários da empresa podem definir uma política que permita que as organizações na empresa criem configurações de rede independentes da empresa. Para saber mais, confira Configurando a rede privada para executores hospedados por GitHub em sua empresa.
Para obter procedimentos para configurar a rede privada do Azure no nível corporativo, confira Configurando a rede privada para executores hospedados por GitHub em sua empresa.
Para obter procedimentos para configurar a rede privada do Azure no nível da organização, confira Configurando rede privada para executores hospedados no GitHub na sua organização.