Acerca de la red privada de Azure para los ejecutores hospedados en GitHub
Para usar ejecutores hospedados en GitHub con VNET de Azure, primero configure los recursos de Azure. A continuación, cree una configuración de red privada en GitHub.
Los siguientes procedimientos le guiarán a través de ambos pasos.
Para más información sobre cómo solucionar problemas comunes con el uso de ejecutores hospedados en GitHub con VNET de Azure, consulta "Solución de problemas de configuraciones de red privada de Azure para ejecutores hospedados en GitHub en su empresa.".
Configuración de recursos de Azure
Usará un script para automatizar la configuración de los recursos de Azure.
Requisitos previos
-
Use una cuenta de Azure con el rol de colaborador de la suscripción y el rol de colaborador de red. Estos roles permiten registrar el proveedor de recursos
GitHub.Network
y delegar la subred. Para más información, consulta Roles integrados de Azure en Microsoft Learn. -
Para asociar correctamente las subredes con el usuario adecuado, los recursos de
NetworkSettings
de Azure se deben crear en las mismas suscripciones en las que se crean las redes virtuales. -
Para garantizar la disponibilidad de recursos o la residencia de datos, los recursos deben crearse en la misma región de Azure.
-
Guarde el siguiente archivo
.bicep
. Asigna al archivo el nombreactions-nsg-deployment.bicep
.El archivo
.bicep
que proporcionamos contiene el conjunto mínimo de reglas para usar ejecutores hospedados en GitHub con red virtual de Azure. Es posible que tenga que agregar reglas para su caso de uso específico.Si usas Nube de GitHub Enterprise con residencia de datos, en la sección
AllowOutBoundGitHub
, también debes incluir los intervalos IP de salida para GHE.com. Consulte "Detalles de red para GHE.com".Note
Como alternativa al uso del siguiente archivo, para permitir que GitHub Actions se comunique con los ejecutores, puedes permitir los mismos dominios de firewall necesarios para la comunicación entre los ejecutores auto-hospedados y GitHub Enterprise Cloud. Para obtener más información, vea «Acerca de los ejecutores autohospedados». Para determinar el intervalo de direcciones IP de subred adecuado, se recomienda agregar un búfer del 30 % superior a la simultaneidad máxima del trabajo previsto. Por ejemplo, si los ejecutores de la configuración de red se establecen en una simultaneidad de trabajo máxima de 300, se recomienda usar un intervalo de direcciones IP de subred que pueda contener al menos 390 ejecutores. Este búfer ayuda a garantizar que la red pueda controlar los aumentos inesperados de las máquinas virtuales para satisfacer la simultaneidad del trabajo sin que se le agoten las direcciones IP.
Bicep @description('NSG for outbound rules') param location string param nsgName string = 'actions_NSG' resource actions_NSG 'Microsoft.Network/networkSecurityGroups@2017-06-01' = { name: nsgName location: location properties: { securityRules: [ { name: 'AllowVnetOutBoundOverwrite' properties: { protocol: 'TCP' sourcePortRange: '*' destinationPortRange: '443' sourceAddressPrefix: '*' destinationAddressPrefix: 'VirtualNetwork' access: 'Allow' priority: 200 direction: 'Outbound' destinationAddressPrefixes: [] } } { name: 'AllowOutBoundActions' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 210 direction: 'Outbound' destinationAddressPrefixes: [ '4.175.114.51/32' '20.102.35.120/32' '4.175.114.43/32' '20.72.125.48/32' '20.19.5.100/32' '20.7.92.46/32' '20.232.252.48/32' '52.186.44.51/32' '20.22.98.201/32' '20.246.184.240/32' '20.96.133.71/32' '20.253.2.203/32' '20.102.39.220/32' '20.81.127.181/32' '52.148.30.208/32' '20.14.42.190/32' '20.85.159.192/32' '52.224.205.173/32' '20.118.176.156/32' '20.236.207.188/32' '20.242.161.191/32' '20.166.216.139/32' '20.253.126.26/32' '52.152.245.137/32' '40.118.236.116/32' '20.185.75.138/32' '20.96.226.211/32' '52.167.78.33/32' '20.105.13.142/32' '20.253.95.3/32' '20.221.96.90/32' '51.138.235.85/32' '52.186.47.208/32' '20.7.220.66/32' '20.75.4.210/32' '20.120.75.171/32' '20.98.183.48/32' '20.84.200.15/32' '20.14.235.135/32' '20.10.226.54/32' '20.22.166.15/32' '20.65.21.88/32' '20.102.36.236/32' '20.124.56.57/32' '20.94.100.174/32' '20.102.166.33/32' '20.31.193.160/32' '20.232.77.7/32' '20.102.38.122/32' '20.102.39.57/32' '20.85.108.33/32' '40.88.240.168/32' '20.69.187.19/32' '20.246.192.124/32' '20.4.161.108/32' '20.22.22.84/32' '20.1.250.47/32' '20.237.33.78/32' '20.242.179.206/32' '40.88.239.133/32' '20.121.247.125/32' '20.106.107.180/32' '20.22.118.40/32' '20.15.240.48/32' '20.84.218.150/32' ] } } { name: 'AllowOutBoundGitHub' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 220 direction: 'Outbound' destinationAddressPrefixes: [ '140.82.112.0/20' '143.55.64.0/20' '185.199.108.0/22' '192.30.252.0/22' '20.175.192.146/32' '20.175.192.147/32' '20.175.192.149/32' '20.175.192.150/32' '20.199.39.227/32' '20.199.39.228/32' '20.199.39.231/32' '20.199.39.232/32' '20.200.245.241/32' '20.200.245.245/32' '20.200.245.246/32' '20.200.245.247/32' '20.200.245.248/32' '20.201.28.144/32' '20.201.28.148/32' '20.201.28.149/32' '20.201.28.151/32' '20.201.28.152/32' '20.205.243.160/32' '20.205.243.164/32' '20.205.243.165/32' '20.205.243.166/32' '20.205.243.168/32' '20.207.73.82/32' '20.207.73.83/32' '20.207.73.85/32' '20.207.73.86/32' '20.207.73.88/32' '20.217.135.1/32' '20.233.83.145/32' '20.233.83.146/32' '20.233.83.147/32' '20.233.83.149/32' '20.233.83.150/32' '20.248.137.48/32' '20.248.137.49/32' '20.248.137.50/32' '20.248.137.52/32' '20.248.137.55/32' '20.26.156.215/32' '20.26.156.216/32' '20.26.156.211/32' '20.27.177.113/32' '20.27.177.114/32' '20.27.177.116/32' '20.27.177.117/32' '20.27.177.118/32' '20.29.134.17/32' '20.29.134.18/32' '20.29.134.19/32' '20.29.134.23/32' '20.29.134.24/32' '20.87.245.0/32' '20.87.245.1/32' '20.87.245.4/32' '20.87.245.6/32' '20.87.245.7/32' '4.208.26.196/32' '4.208.26.197/32' '4.208.26.198/32' '4.208.26.199/32' '4.208.26.200/32' '4.225.11.196/32' '4.237.22.32/32' ] } } { name: 'AllowStorageOutbound' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' destinationAddressPrefix: 'Storage' access: 'Allow' priority: 230 direction: 'Outbound' destinationAddressPrefixes: [] } } ] } }
@description('NSG for outbound rules') param location string param nsgName string = 'actions_NSG' resource actions_NSG 'Microsoft.Network/networkSecurityGroups@2017-06-01' = { name: nsgName location: location properties: { securityRules: [ { name: 'AllowVnetOutBoundOverwrite' properties: { protocol: 'TCP' sourcePortRange: '*' destinationPortRange: '443' sourceAddressPrefix: '*' destinationAddressPrefix: 'VirtualNetwork' access: 'Allow' priority: 200 direction: 'Outbound' destinationAddressPrefixes: [] } } { name: 'AllowOutBoundActions' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 210 direction: 'Outbound' destinationAddressPrefixes: [ '4.175.114.51/32' '20.102.35.120/32' '4.175.114.43/32' '20.72.125.48/32' '20.19.5.100/32' '20.7.92.46/32' '20.232.252.48/32' '52.186.44.51/32' '20.22.98.201/32' '20.246.184.240/32' '20.96.133.71/32' '20.253.2.203/32' '20.102.39.220/32' '20.81.127.181/32' '52.148.30.208/32' '20.14.42.190/32' '20.85.159.192/32' '52.224.205.173/32' '20.118.176.156/32' '20.236.207.188/32' '20.242.161.191/32' '20.166.216.139/32' '20.253.126.26/32' '52.152.245.137/32' '40.118.236.116/32' '20.185.75.138/32' '20.96.226.211/32' '52.167.78.33/32' '20.105.13.142/32' '20.253.95.3/32' '20.221.96.90/32' '51.138.235.85/32' '52.186.47.208/32' '20.7.220.66/32' '20.75.4.210/32' '20.120.75.171/32' '20.98.183.48/32' '20.84.200.15/32' '20.14.235.135/32' '20.10.226.54/32' '20.22.166.15/32' '20.65.21.88/32' '20.102.36.236/32' '20.124.56.57/32' '20.94.100.174/32' '20.102.166.33/32' '20.31.193.160/32' '20.232.77.7/32' '20.102.38.122/32' '20.102.39.57/32' '20.85.108.33/32' '40.88.240.168/32' '20.69.187.19/32' '20.246.192.124/32' '20.4.161.108/32' '20.22.22.84/32' '20.1.250.47/32' '20.237.33.78/32' '20.242.179.206/32' '40.88.239.133/32' '20.121.247.125/32' '20.106.107.180/32' '20.22.118.40/32' '20.15.240.48/32' '20.84.218.150/32' ] } } { name: 'AllowOutBoundGitHub' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' access: 'Allow' priority: 220 direction: 'Outbound' destinationAddressPrefixes: [ '140.82.112.0/20' '143.55.64.0/20' '185.199.108.0/22' '192.30.252.0/22' '20.175.192.146/32' '20.175.192.147/32' '20.175.192.149/32' '20.175.192.150/32' '20.199.39.227/32' '20.199.39.228/32' '20.199.39.231/32' '20.199.39.232/32' '20.200.245.241/32' '20.200.245.245/32' '20.200.245.246/32' '20.200.245.247/32' '20.200.245.248/32' '20.201.28.144/32' '20.201.28.148/32' '20.201.28.149/32' '20.201.28.151/32' '20.201.28.152/32' '20.205.243.160/32' '20.205.243.164/32' '20.205.243.165/32' '20.205.243.166/32' '20.205.243.168/32' '20.207.73.82/32' '20.207.73.83/32' '20.207.73.85/32' '20.207.73.86/32' '20.207.73.88/32' '20.217.135.1/32' '20.233.83.145/32' '20.233.83.146/32' '20.233.83.147/32' '20.233.83.149/32' '20.233.83.150/32' '20.248.137.48/32' '20.248.137.49/32' '20.248.137.50/32' '20.248.137.52/32' '20.248.137.55/32' '20.26.156.215/32' '20.26.156.216/32' '20.26.156.211/32' '20.27.177.113/32' '20.27.177.114/32' '20.27.177.116/32' '20.27.177.117/32' '20.27.177.118/32' '20.29.134.17/32' '20.29.134.18/32' '20.29.134.19/32' '20.29.134.23/32' '20.29.134.24/32' '20.87.245.0/32' '20.87.245.1/32' '20.87.245.4/32' '20.87.245.6/32' '20.87.245.7/32' '4.208.26.196/32' '4.208.26.197/32' '4.208.26.198/32' '4.208.26.199/32' '4.208.26.200/32' '4.225.11.196/32' '4.237.22.32/32' ] } } { name: 'AllowStorageOutbound' properties: { protocol: '*' sourcePortRange: '*' destinationPortRange: '*' sourceAddressPrefix: '*' destinationAddressPrefix: 'Storage' access: 'Allow' priority: 230 direction: 'Outbound' destinationAddressPrefixes: [] } } ] } }
1. Obtenga el databaseId
para su empresa.
Puede usar la siguiente consulta de GraphQL para recuperar la empresa databaseId
. Usará la empresa databaseId
para el valor de la variable de entorno DATABASE_ID
en el paso siguiente. Para más información sobre cómo trabajar con GraphQL, consulta Formar llamados con GraphQl.
Variable de consulta | Descripción |
---|---|
slug | El slug de aplicación de la cuenta empresarial, que puedes identificar examinando la dirección URL de tu empresa, https://github.com/enterprises/SLUG o https://SLUG.ghe.com . |
query(
$slug: String!
){
enterprise (slug: $slug)
{
slug
databaseId
}
}
'
Variables
{
"slug": "ENTERPRISE_SLUG"
}
Ejemplo para GitHub.com
De forma alternativa, puedes utilizar el siguiente comando curl para buscar tu databaseId
.
curl -H "Authorization: Bearer BEARER_TOKEN" -X POST \ -d '{ "query": "query($slug: String!) { enterprise (slug: $slug) { slug databaseId } }" , "variables": { "slug": "ENTERPRISE_SLUG" } }' \ https://api.github.com/graphql
curl -H "Authorization: Bearer BEARER_TOKEN" -X POST \
-d '{ "query": "query($slug: String!) { enterprise (slug: $slug) { slug databaseId } }" ,
"variables": {
"slug": "ENTERPRISE_SLUG"
}
}' \
https://api.github.com/graphql
Ejemplo para GHE.com
Puedes utilizar los siguientes comandos GitHub CLI para recuperar el databaseId
. Reemplaza SUBDOMAIN por el subdominio de tu empresa de GHE.com.
gh auth login -s 'read:enterprise' -h SUBDOMAIN.ghe.com gh api graphql --hostname SUBDOMAIN.ghe.com -f query='query($slug: String!) { enterprise (slug: $slug) { slug databaseId } }' -f slug='SUBDOMAIN'
gh auth login -s 'read:enterprise' -h SUBDOMAIN.ghe.com
gh api graphql --hostname SUBDOMAIN.ghe.com -f query='query($slug: String!) { enterprise (slug: $slug) { slug databaseId } }' -f slug='SUBDOMAIN'
2. Use un script para configurar los recursos de Azure
Use el siguiente script para configurar una subred para redes privadas de Azure. El script crea todos los recursos en el mismo grupo de recursos.
Para usar el script, rellene los valores de la variable de entorno de marcador de posición con los valores reales y ejecute el script desde un shell de Bash o Subsistema de Windows para Linux.
Note
- Ejecute el siguiente script en el mismo directorio donde guardó el archivo
actions-nsg-deployment.bicep
. - Al establecer la variable de entorno
YOUR_AZURE_LOCATION
, use el nombre de la región. Este valor es diferente del nombre para mostrar de la región. Para ver una lista de nombres y nombres para mostrar, useaz account list-locations -o table
. - Al crear el recurso de configuración de red, se aplica un vínculo de asociación de servicio a la subred que proporcione. Este vínculo evita la eliminación accidental de la subred mientras se usa en el servicio GitHub Actions.
- Si personaliza esta secuencia de comandos para usar recursos de red en subredes existentes, debe asegurarse de que las interfaces de red existentes (NIC) conectadas a la subred se eliminan antes de que la subred se delegue al servicio GitHub Actions. De lo contrario, el servicio no podrá aplicar el vínculo de asociación de servicio a la subred.
#!/bin/bash # This script creates the following resources in the specified subscription: # - Resource group # - Network Security Group rules # - Virtual network (vnet) and subnet # - Network Settings with specified subnet and GitHub Enterprisedatabase ID # # It also registers the `GitHub.Network` resource provider with the subscription, # delegates the created subnet to the Actions service via the `GitHub.Network/NetworkSettings` # resource type, and applies the NSG rules to the created subnet. # stop on failure set -e #set environment export AZURE_LOCATION=YOUR_AZURE_LOCATION export SUBSCRIPTION_ID=YOUR_SUBSCRIPTION_ID export RESOURCE_GROUP_NAME=YOUR_RESOURCE_GROUP_NAME export VNET_NAME=YOUR_VNET_NAME export SUBNET_NAME=YOUR_SUBNET_NAME export NSG_NAME=YOUR_NSG_NAME export NETWORK_SETTINGS_RESOURCE_NAME=YOUR_NETWORK_SETTINGS_RESOURCE_NAME export DATABASE_ID=YOUR_DATABASE_ID export API_VERSION=2024-04-02 # These are the default values. You can adjust your address and subnet prefixes. export ADDRESS_PREFIX=10.0.0.0/16 export SUBNET_PREFIX=10.0.0.0/24 echo echo login to Azure . az login --output none echo echo set account context $SUBSCRIPTION_ID . az account set --subscription $SUBSCRIPTION_ID echo echo Register resource provider GitHub.Network . az provider register --namespace GitHub.Network echo echo Create resource group $RESOURCE_GROUP_NAME at $AZURE_LOCATION . az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION echo echo Create NSG rules deployed with 'actions-nsg-deployment.bicep' file . az deployment group create --resource-group $RESOURCE_GROUP_NAME --template-file ./actions-nsg-deployment.bicep --parameters location=$AZURE_LOCATION nsgName=$NSG_NAME echo echo Create vnet $VNET_NAME and subnet $SUBNET_NAME . az network vnet create --resource-group $RESOURCE_GROUP_NAME --name $VNET_NAME --address-prefix $ADDRESS_PREFIX --subnet-name $SUBNET_NAME --subnet-prefixes $SUBNET_PREFIX echo echo Delegate subnet to GitHub.Network/networkSettings and apply NSG rules . az network vnet subnet update --resource-group $RESOURCE_GROUP_NAME --name $SUBNET_NAME --vnet-name $VNET_NAME --delegations GitHub.Network/networkSettings --network-security-group $NSG_NAME echo echo Create network settings resource $NETWORK_SETTINGS_RESOURCE_NAME . az resource create --resource-group $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type GitHub.Network/networkSettings --properties "{ \"location\": \"$AZURE_LOCATION\", \"properties\" : { \"subnetId\": \"/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME\", \"businessId\": \"$DATABASE_ID\" }}" --is-full-object --output table --query "{GitHubId:tags.GitHubId, name:name}" --api-version $API_VERSION echo echo To clean up and delete resources run the following command: echo az group delete --resource-group $RESOURCE_GROUP_NAME
#!/bin/bash
# This script creates the following resources in the specified subscription:
# - Resource group
# - Network Security Group rules
# - Virtual network (vnet) and subnet
# - Network Settings with specified subnet and GitHub Enterprisedatabase ID
#
# It also registers the `GitHub.Network` resource provider with the subscription,
# delegates the created subnet to the Actions service via the `GitHub.Network/NetworkSettings`
# resource type, and applies the NSG rules to the created subnet.
# stop on failure
set -e
#set environment
export AZURE_LOCATION=YOUR_AZURE_LOCATION
export SUBSCRIPTION_ID=YOUR_SUBSCRIPTION_ID
export RESOURCE_GROUP_NAME=YOUR_RESOURCE_GROUP_NAME
export VNET_NAME=YOUR_VNET_NAME
export SUBNET_NAME=YOUR_SUBNET_NAME
export NSG_NAME=YOUR_NSG_NAME
export NETWORK_SETTINGS_RESOURCE_NAME=YOUR_NETWORK_SETTINGS_RESOURCE_NAME
export DATABASE_ID=YOUR_DATABASE_ID
export API_VERSION=2024-04-02
# These are the default values. You can adjust your address and subnet prefixes.
export ADDRESS_PREFIX=10.0.0.0/16
export SUBNET_PREFIX=10.0.0.0/24
echo
echo login to Azure
. az login --output none
echo
echo set account context $SUBSCRIPTION_ID
. az account set --subscription $SUBSCRIPTION_ID
echo
echo Register resource provider GitHub.Network
. az provider register --namespace GitHub.Network
echo
echo Create resource group $RESOURCE_GROUP_NAME at $AZURE_LOCATION
. az group create --name $RESOURCE_GROUP_NAME --location $AZURE_LOCATION
echo
echo Create NSG rules deployed with 'actions-nsg-deployment.bicep' file
. az deployment group create --resource-group $RESOURCE_GROUP_NAME --template-file ./actions-nsg-deployment.bicep --parameters location=$AZURE_LOCATION nsgName=$NSG_NAME
echo
echo Create vnet $VNET_NAME and subnet $SUBNET_NAME
. az network vnet create --resource-group $RESOURCE_GROUP_NAME --name $VNET_NAME --address-prefix $ADDRESS_PREFIX --subnet-name $SUBNET_NAME --subnet-prefixes $SUBNET_PREFIX
echo
echo Delegate subnet to GitHub.Network/networkSettings and apply NSG rules
. az network vnet subnet update --resource-group $RESOURCE_GROUP_NAME --name $SUBNET_NAME --vnet-name $VNET_NAME --delegations GitHub.Network/networkSettings --network-security-group $NSG_NAME
echo
echo Create network settings resource $NETWORK_SETTINGS_RESOURCE_NAME
. az resource create --resource-group $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type GitHub.Network/networkSettings --properties "{ \"location\": \"$AZURE_LOCATION\", \"properties\" : { \"subnetId\": \"/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME\", \"businessId\": \"$DATABASE_ID\" }}" --is-full-object --output table --query "{GitHubId:tags.GitHubId, name:name}" --api-version $API_VERSION
echo
echo To clean up and delete resources run the following command:
echo az group delete --resource-group $RESOURCE_GROUP_NAME
El script devolverá la carga completa del recurso creado. El valor hash de GitHubId
devuelto en la carga útil del recurso creado es el identificador de recurso de configuración de red que usará en los pasos siguientes al configurar una opción de red en GitHub.
Creación de una configuración de red para su empresa en GitHub
Después de configurar los recursos de Azure, puedes utilizar una instancia de Azure Virtual Network (VNET) para redes privadas mediante la creación de una configuración de red a nivel de empresa u organización. A continuación, puede asociar esa configuración de red a grupos de ejecutores. Para más información acerca de los grupos de ejecutores, consulta "Control del acceso a los ejecutores más grandes."
Una vez asociada la configuración de red a un grupo de ejecutores, todos los ejecutores de ese grupo tendrán acceso a la red virtual de Azure que se ha conectado a la configuración subyacente.
Requisitos previos
Asegúrese de que los recursos de Azure se han configurado antes de agregar una configuración de red en GitHub. Para obtener más información, consulte "Configuración de redes privadas para los ejecutores hospedados en GitHub en su empresa".
1. Agregar una nueva configuración de red para la empresa
- En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
- En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
- En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Configuración.
- En la barra lateral de la izquierda, haz clic en Red informática alojada.
- Haga clic en la lista desplegable Nueva configuración de red. A continuación, haga clic en Red privada de Azure.
- Aporte un nombre a la configuración de red.
- Haga clic en Agregar red virtual de Azure.
- En la ventana emergente, escriba el identificador de recurso de configuración de red que recuperó al configurar los recursos de Azure para redes privadas.
- Haga clic en Agregar red virtual de Azure.
2. Crear un grupo de ejecutores para la empresa
Note
Para que el grupo de ejecutores sea accesible por los repositorios de las organizaciones, dichos repositorios deben tener acceso a ese grupo de ejecutores a nivel de organización. Para más información, consulta Control del acceso a los ejecutores más grandes.
- Crea un nuevo grupo de ejecutores para la empresa. Para más información acerca de cómo crear un grupo de ejecutores, consulta Control del acceso a los ejecutores más grandes.
- Para elegir una directiva para el acceso de la organización, selecciona el menú desplegable Acceso de la organización y haz clic en una directiva. Puedes configurar un grupo de ejecutores para que sea accesible a una lista de organizaciones específica o a todas las organizaciones en la empresa.
- Al configurar el grupo de ejecutores, en "Configuraciones de red", use el menú desplegable para seleccionar la configuración de red que creó para la red virtual de Azure.
- Para crear el grupo y aplicar la directiva, haga clic en Crear grupo.
3. Agregar un ejecutor hospedado en GitHub
al grupo de ejecutores de la empresa
Note
Al agregar el ejecutor hospedado en GitHub a un grupo de ejecutores, selecciona el grupo de ejecutores creado en los procedimientos anteriores.
- Agregue un ejecutor GitHub hospedado al grupo de ejecutores Para más información, consulta Administración de ejecutores más grandes.
4. Opcionalmente, administrar configuraciones de red
- En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
- En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
- En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Configuración.
- En la barra lateral de la izquierda, haga clic en Redes de equipo hospedadas.
- Para editar una configuración de red, a la derecha de la configuración de red, haga clic en . A continuación, haga clic en Editar configuración.
- Para deshabilitar una configuración de red, a la derecha de la configuración de red, haga clic en . Posteriormente, haga clic en Deshabilitar.
- Para eliminar una configuración de red, a la derecha de la configuración de red, haga clic en . Luego haga clic en Eliminar.
Habilitación de la creación de configuraciones de red para organizaciones
Puedes permitir que los propietarios de la organización de una empresa creen sus propias configuraciones de red de nivel de organización.
- En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
- En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
- En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Directivas.
- Haz clic en Redes de proceso hospedadas.
- En "Redes de proceso hospedadas", haz clic en Habilitar.
- Haga clic en Save(Guardar).
Eliminación de una subred
Al crear el recurso de configuración de red, se aplica un vínculo de asociación de servicio a la subred que proporcione. Este vínculo evita la eliminación accidental de la subred mientras se usa en el servicio GitHub Actions.
Para eliminar la subred, primero debe quitarse el vínculo de asociación de servicio. El vínculo de asociación de servicio se quita de forma segura y automática una vez se ha eliminado el recurso de configuración de red.
Para eliminar el recurso de configuración de red, primero debe eliminarse la configuración de red que la usa.
-
En la esquina superior derecha de GitHub, haz clic en la fotografía del perfil.
-
En función de tu entorno, haz clic en Your enterpriseo en Your enterprises y, a continuación, haz clic en la empresa que deseas ver.
-
En el lado izquierdo de la página, en la barra lateral de la cuenta de empresa, haz clic en Configuración.
-
En la barra lateral de la izquierda, haga clic en Redes de equipo hospedadas.
-
Abra la configuración de red que usa la subred que desea eliminar.
-
Revise la lista de grupos de ejecutores mediante la configuración de red.
-
En la esquina superior derecha, haga clic en el botón "". A continuación, haga clic en Eliminar configuración.
-
Para eliminar el recurso de configuración de red y quitar el vínculo de asociación de servicio, use sus propias entradas con los siguientes comandos con la CLI de Azure. Para más información, véase la documentación de la interfaz de la línea de comandos Azure (CLI).
Bash az account set --subscription $SUBSCRIPTION_ID az resource delete -g $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type 'GitHub.Network/networkSettings' --api-version $API_VERSION
az account set --subscription $SUBSCRIPTION_ID az resource delete -g $RESOURCE_GROUP_NAME --name $NETWORK_SETTINGS_RESOURCE_NAME --resource-type 'GitHub.Network/networkSettings' --api-version $API_VERSION
-
Elimine la subred en Azure. Para más información, consulta Eliminación de una subred en Microsoft Learn.