Сведения о частной сети Azure для GitHubразмещенных в runners
Вы можете использовать GitHubразмещенных в виртуальной сети Azure. Это позволяет использовать GitHubуправляемой инфраструктурой для CI/CD, обеспечивая полный контроль над сетевыми политиками запуска. Дополнительные сведения о виртуальной сети Azure см. в статье "Что такое Azure виртуальная сеть?" в документации По Azure.
Вы можете подключить несколько подсетей виртуальной сети к GitHub и управлять доступом к частным ресурсам для пользователей с помощью групп runner. Дополнительные сведения о группах runner см. в разделе "Управление доступом к крупным средствам выполнения".
Использование GitHubразмещенных в виртуальной сети Azure средств выполнения позволяет выполнять следующие действия.
- При частном подключении средства выполнения к ресурсам в виртуальной сети Azure без открытия интернет-портов, включая локальные ресурсы, доступные из виртуальной сети Azure.
- Ограничьте доступ или подключение пользователей с помощью GitHub, размещенных в среде runner, с полным контролем над политиками исходящей сети.
- Отслеживайте сетевые журналы для GitHubразмещенных в среде runner и просматривайте все подключения к средству выполнения и из нее.
Сведения об использовании более крупных модулей выполнения с виртуальной сетью Azure
С виртуальной сетью Azure поддерживаются 2-64 виртуальных ЦП Ubuntu и Windows. Дополнительные сведения об этих типах runner см. в разделе "О более крупных бегунах".
Частная сеть для GitHubразмещенных в среде runners не поддерживает статические IP-адреса для более крупных модулей выполнения. Необходимо использовать динамические IP-адреса, которые являются конфигурацией по умолчанию для более крупных модулей выполнения. Дополнительные сведения о сети для крупных runners см. в разделе "О более крупных бегунах".
Сведения о сетевом обмене данными
Чтобы упростить обмен данными между сетями GitHub и виртуальной сетью, развертывается сетевой интерфейс карта (сетевой адаптер) в виртуальной сети Azure с помощью .
Так как сетевой адаптер находится в виртуальной сети, GitHub не может блокировать входящие подключения. По умолчанию виртуальные машины Azure будут принимать входящие подключения из той же виртуальной сети. Дополнительные сведения см AllowVNetInBound
. в Microsoft Learn. Рекомендуется явно блокировать все входящие подключения к средствам выполнения. GitHub никогда не требует входящих подключений к этим компьютерам.
Сетевой адаптер позволяет виртуальной машине Azure взаимодействовать с Интернетом, Azure и локальными ресурсами. Таким образом, все обмен данными остается закрытым в пределах сети, а политики сети, применяемые к виртуальной сети, также применяются к средству выполнения. Дополнительные сведения об управлении сетевым интерфейсом см. в разделе "Изменение параметров сетевого интерфейса" в Microsoft Learn.
Note
Несколько сетевых адаптеров могут отображаться для одного задания в подписке, так как служба GitHub Actions переопределила ресурсы для выполнения заданий. После простоя средство запуска GitHub Actions автоматически отменяет подготовку ресурса и удаляет соответствующий сетевой адаптер.
- Активируется рабочий процесс GitHub Actions .
- Служба GitHub Actions создает средство выполнения.
- Служба runner развертывает сетевой интерфейс карта сетевого интерфейса карта (сетевой адаптер) виртуальной сети Azure в GitHub.
- Агент runner выбирает задание рабочего процесса. Служба GitHub Actions очереди задания.
- Средство выполнения отправляет журналы обратно в службу GitHub Actions .
- Сетевой адаптер обращается к локальным ресурсам.
Сведения о поддерживаемых регионах
Служба GitHub Actions поддерживает подмножество всех регионов, которые предоставляет Azure. Чтобы упростить взаимодействие между службой GitHub Actions и подсетью, подсеть должна находиться в одном из поддерживаемых регионов.
Note
Если вы используете Место расположения данных для GHE.com, поддерживаемые регионы отличаются. См. раздел "Сведения о сети для GHE.com".
Следующие регионы поддерживаются в GitHub.com.
EastUs
EastUs2
WestUs2
WestUs3
CentralUs
NorthCentralUs
AustraliaEast
JapanEast
FranceCentral
GermanyWestCentral
NorthEurope
NorwayEast
SwedenCentral
SwitzerlandNorth
UkSouth
SoutheastAsia
KoreaCentral
Частная сеть Azure поддерживает запуски GPU в следующих регионах.
EastUs
WestUs
NorthCentralUs
Частная сеть Azure поддерживает запуски Arm64 в следующих регионах.
EastUs
EastUs2
WestUs2
WestUs3
NorthCentralUs
Если нужный регион не поддерживается, отправьте запрос на доступность нового региона в этой форме GitHub. Для подключения виртуальных сетей между регионами Azure также можно использовать пиринг глобальной виртуальной сети. Дополнительные сведения см. в документации по Azure.
Сведения о разрешениях службы GitHub Actions
Чтобы успешно развернуть сетевой адаптер и присоединить сетевой адаптер к подсети, служба GitHub Actions поддерживает следующие разрешения управления доступом на основе ролей Azure (RBAC) в подписке Azure. Дополнительные сведения об точном управлении доступом к ресурсам Azure см . в документации по Azure RBAC .
GitHub.Network/operations/read
GitHub.Network/networkSettings/read
GitHub.Network/networkSettings/write
GitHub.Network/networkSettings/delete
GitHub.Network/RegisteredSubscriptions/read
Microsoft.Network/locations/operations/read
Microsoft.Network/locations/operationResults/read
Microsoft.Network/locations/usages/read
Microsoft.Network/networkInterfaces/read
Microsoft.Network/networkInterfaces/write
Microsoft.Network/networkInterfaces/delete
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/publicIpAddresses/read
Microsoft.Network/publicIpAddresses/write
Microsoft.Network/publicIPAddresses/join/action
Microsoft.Network/routeTables/join/action
Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/join/action
Microsoft.Network/virtualNetworks/subnets/read
Microsoft.Network/virtualNetworks/subnets/write
Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/delete
Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/read
Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/write
Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/details/read
Microsoft.Network/virtualNetworks/subnets/serviceAssociationLinks/validate/action
Microsoft.Resources/subscriptions/resourceGroups/read
Microsoft.Resources/subscriptions/resourcegroups/deployments/read
Microsoft.Resources/subscriptions/resourcegroups/deployments/write
Microsoft.Resources/subscriptions/resourcegroups/deployments/operations/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/deployments/operationStatuses/read
Следующие разрешения будут представлены в двух корпоративных приложениях в клиенте Azure. После настройки частной сети Azure вы увидите корпоративные приложения клиента Azure.
GitHub CPS Network Service
идентификатор:85c49807-809d-4249-86e7-192762525474
GitHub Actions API
идентификатор:4435c199-c3da-46b9-a61d-76de3f2c9f82
Использование политик сети виртуальной сети
Так как сетевая карта runner, размещенная на основе GitHub, развертывается в виртуальной сети Azure, политики сети, применяемые к виртуальной сети, также применяются к средству выполнения.
Например, если виртуальная сеть настроена с помощью Azure ExpressRoute для предоставления доступа к локальным ресурсам (например, Artifactory) или подключена к VPN-туннелю для предоставления доступа к другим облачным ресурсам, эти политики доступа также применяются к модулям выполнения. Кроме того, применяются все правила исходящего трафика, применяемые к группе безопасности сети (NSG) виртуальной сети, что позволяет управлять исходящим доступом для пользователей.
Если вы включили мониторинг сетевых журналов для виртуальной сети, вы также можете отслеживать сетевой трафик для выполнения.
GitHubразмещенные в среде runners используют любой исходящий контроль, используемый вашей сетью. Если сеть использует исходящий доступ Azure по умолчанию, IP-адреса не прогнозируются и не могут быть добавлены в список разрешений IP-адресов GitHub. Рекомендации по использованию стабильного исходящего IP-адреса см. в документации Azure по умолчанию.
Использование командлетов GitHub, размещенных в runners с виртуальной сетью Azure
Чтобы использовать GitHubразмещенных в среде runners с виртуальной сетью Azure, необходимо настроить ресурсы Azure, а затем создать сетевую конфигурацию в GitHub.
Процедуры настройки частных сетей Azure на уровне организации см. в разделе "Настройка частной сети для размещенных в GitHub runners в организации".