Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo usar intervalos de direcciones IP autorizadas del servidor de API para limitar qué direcciones IP y CIDR pueden acceder a los puntos de conexión del plano de control para las cargas de trabajo de Azure Kubernetes Service (AKS).
Prerrequisitos
- La CLI de Azure, versión 2.0.76 o posterior, instalada y configurada. Compruebe la versión con el comando
az --version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure. - Para obtener información sobre las direcciones IP que se van a incluir al integrar el clúster de AKS con Azure DevOps, consulte Direcciones IP permitidas y direcciones URL de dominio.
Sugerencia
Desde Azure Portal, puede usar Azure Copilot para realizar cambios en las direcciones IP que pueden acceder al clúster. Para más información, consulte Trabajar con clústeres de AKS de forma eficaz mediante Azure Copilot.
Limitaciones y consideraciones
- Esta característica solo se admite en el equilibrador de carga de SKU estándar para los clústeres creados después de octubre de 2019. Los clústeres existentes en el equilibrador de carga de SKU básico con la característica habilitada deben seguir funcionando correctamente si se actualizan la versión y el plano de control de Kubernetes. Sin embargo, no puede migrar estos clústeres al equilibrador de carga de SKU estándar.
- Esta característica no se puede usar con clústeres privados.
- Al usar esta característica con clústeres que usan direcciones IP públicas de Node, los grupos de nodos que usan las direcciones IP públicas del nodo deben usar prefijos de IP públicas. Debe agregar los prefijos de dirección IP pública como rangos autorizados.
- Puede especificar hasta 200 intervalos IP autorizados. Para ir más allá de este límite, considere la posibilidad de usar la integración con red virtual del servidor de API, que admite hasta 2000 intervalos IP autorizados.
Información general sobre los intervalos de direcciones IP autorizadas por el servidor de API
El servidor de Kubernetes API expone las API de Kubernetes subyacentes y proporciona la interacción con herramientas de administración como kubectl y el panel de Kubernetes. AKS proporciona un plano de control de clúster de inquilino único con un servidor de API dedicado. El servidor de API tiene asignada una dirección IP pública de manera predeterminada. Puede controlar el acceso mediante control de acceso basado en roles de Kubernetes (RBAC de Kubernetes) y RBAC de Azure.
Para proteger el acceso al panel de control de AKS y al servidor de API (que, de lo contrario, serían accesibles al público), puede habilitar y usar intervalos de direcciones IP autorizadas. De esta manera, solo se permite la comunicación con el servidor de API a los intervalos de direcciones IP definidas. Todas solicitudes realizadas al servidor de API procedentes de direcciones IP que no forman parte de estos intervalos IP autorizados se bloquean. Las reglas pueden tardar hasta 2 minutos en propagarse. Espere ese tiempo al probar la conexión.
Los intervalos de IP recomendados para permitir
Se recomienda incluir los siguientes intervalos de direcciones IP en la configuración de intervalos IP autorizados del servidor de API:
- La dirección IP de salida del clúster (firewall, puerta de enlace NAT u otra dirección, según el tipo de salida).
- Cualquier intervalo que represente redes desde las que se va a administrar el clúster.
Creación de un clúster de AKS con la opción de intervalos IP autorizados por el servidor de API habilitada
Nota:
Al habilitar intervalos IP autorizados del servidor de API durante la creación del clúster, la dirección IP pública del servidor de API y la dirección IP pública saliente del equilibrador de carga de SKU estándar se permiten automáticamente de forma predeterminada, además de los intervalos que especifique.
Caso 0.0.0.0/32especial: se trata de un valor especial que indica a AKS que permita que solo la dirección IP pública saliente del equilibrador de carga de SKU estándar acceda al servidor de API. El valor 0.0.0.0/32 actúa como marcador de posición como:
- Deshabilita el comportamiento predeterminado de permitir intervalos IP de cliente adicionales.
- Restringe el acceso del servidor de API solo a la propia dirección IP de salida del clúster.
- Resulta útil para escenarios en los que desea que el clúster administre automáticamente, pero bloquee el acceso externo.
Al crear un clúster con intervalos IP autorizados del servidor de API habilitados, se proporciona una lista de intervalos de direcciones IP públicas autorizadas. Al especificar un intervalo CIDR, debe usar la dirección de red (primera dirección IP en el intervalo). Por ejemplo, si desea permitir el intervalo 137.117.106.88 a 137.117.106.95, debe especificar 137.117.106.88/29.
Cree un clúster de AKS con los intervalos IP autorizados por el servidor de API habilitados mediante el comando
az aks createcon el parámetro--api-server-authorized-ip-ranges. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup y se permite que el intervalo73.140.245.0/24de direcciones IP acceda al servidor de API:az aks create --resource-group myResourceGroup --name myAKSCluster --vm-set-type VirtualMachineScaleSets --load-balancer-sku standard --api-server-authorized-ip-ranges 73.140.245.0/24 --generate-ssh-keys
Cree un clúster de AKS con los intervalos IP autorizados por el servidor de API habilitados mediante el cmdlet
New-AzAksClustercon el parámetro-ApiServerAccessAuthorizedIpRange. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup y se permite que el intervalo73.140.245.0/24de direcciones IP acceda al servidor de API:New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '73.140.245.0/24' -GenerateSshKey
- En la página principal de Azure Portal, seleccione Crear un recurso>Containers>Azure Kubernetes Service (AKS).
- Configure los valores del clúster según sea necesario.
- En la sección Redes en Acceso público, seleccione Establecer intervalos IP autorizados.
- Para Especificar intervalos IP, escriba los intervalos de direcciones IP que quiera autorizar para acceder al servidor de API.
- Configure el resto de valores del clúster según sea necesario.
- Cuando haya terminado, seleccione Revisar y crear>Crear para crear el clúster.
Especificación de las direcciones IP de salida para un equilibrador de carga de SKU estándar
Al crear un clúster con intervalos IP autorizados del servidor de API habilitados, también puede especificar las direcciones IP de salida o los prefijos para el clúster mediante los parámetros --load-balancer-outbound-ips o --load-balancer-outbound-ip-prefixes. Todas las direcciones IP proporcionadas en los parámetros están permitidas, junto con las direcciones IP en el parámetro --api-server-authorized-ip-ranges.
Cree un clúster de AKS con intervalos IP autorizados del servidor de API habilitados y especifique las direcciones IP de salida para el equilibrador de carga de SKU estándar mediante el parámetro
--load-balancer-outbound-ips. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup, se permite que el intervalo73.140.245.0/24de direcciones IP acceda al servidor de API y especifica dos direcciones IP salientes para el equilibrador de carga de SKU estándar. Asegúrese de reemplazar los placeholders<public-ip-id-1>y<public-ip-id-2>con los IDs reales de recursos de sus direcciones IP públicas.az aks create --resource-group myResourceGroup --name myAKSCluster --vm-set-type VirtualMachineScaleSets --load-balancer-sku standard --api-server-authorized-ip-ranges 73.140.245.0/24 --load-balancer-outbound-ips <public-ip-id-1>,<public-ip-id-2> --generate-ssh-keys
Permiso solo para la dirección IP pública de salida del equilibrador de carga de SKU estándar
Cree un clúster de AKS con intervalos IP autorizados del servidor de API habilitados y especifique solo las direcciones IP públicas de salida del equilibrador de carga de SKU estándar mediante el parámetro
--api-server-authorized-ip-ranges. En el siguiente ejemplo se crea un clúster con el nombre myAKSCluster en el grupo de recursos denominado myResourceGroup, con la opción de intervalos IP autorizados por el servidor de API habilitada y solo se permite la IP pública de salida del equilibrador de carga de SKU estándar:az aks create --resource-group myResourceGroup --name myAKSCluster --vm-set-type VirtualMachineScaleSets --load-balancer-sku standard --api-server-authorized-ip-ranges 0.0.0.0/32 --generate-ssh-keys
Cree un clúster de AKS con intervalos IP autorizados del servidor de API habilitados y especifique solo las direcciones IP públicas de salida del equilibrador de carga de SKU estándar mediante el parámetro
-ApiServerAccessAuthorizedIpRange. En el siguiente ejemplo se crea un clúster con el nombre myAKSCluster en el grupo de recursos denominado myResourceGroup, con la opción de intervalos IP autorizados por el servidor de API habilitada y solo se permite la IP pública de salida del equilibrador de carga de SKU estándar:New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '0.0.0.0/32' -GenerateSshKey
- En la página principal de Azure Portal, seleccione Crear un recurso>Containers>Azure Kubernetes Service (AKS).
- Configure los valores del clúster según sea necesario.
- En la sección Redes en Acceso público, seleccione Establecer intervalos IP autorizados.
- En Especificar intervalos IP, escriba
0.0.0.0/32. Esta configuración solo permite la dirección IP pública saliente del equilibrador de carga de SKU estándar. - Configure el resto de valores del clúster según sea necesario.
- Cuando haya terminado, seleccione Revisar y crear>Crear para crear el clúster.
Actualización de los intervalos IP autorizados del servidor de API en un clúster existente
Actualice los intervalos IP autorizados por el servidor de API habilitados de un clúster existente mediante el comando
az aks updatecon el parámetro--api-server-authorized-ip-ranges. En el ejemplo siguiente se actualizan los intervalos IP autorizados del servidor de API en el clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup y se actualiza el intervalo de direcciones IP a73.140.245.0/24:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges 73.140.245.0/24
Permitir varios intervalos de direcciones IP
Para permitir varios intervalos de direcciones IP, puede enumerar varias direcciones IP, separadas por comas.
Actualice los intervalos de IP autorizados del servidor de API de un clúster existente para permitir varios intervalos de direcciones IP utilizando el comando
az aks updatecon el parámetro--api-server-authorized-ip-ranges. En el ejemplo siguiente se actualizan los intervalos IP autorizados del servidor de API en el clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup y se permiten varios intervalos de direcciones IP:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges 73.140.245.0/24,193.168.1.0/24,194.168.1.0/24
Actualice los intervalos IP autorizados por el servidor de API habilitados de un clúster existente mediante el cmdlet
Set-AzAksClustercon el parámetro-ApiServerAccessAuthorizedIpRange. En el ejemplo siguiente se actualizan los intervalos IP autorizados del servidor de API en el clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup y se actualiza el intervalo de direcciones IP a73.140.245.0/24:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange '73.140.245.0/24'
- Vaya a Azure Portal y seleccione el clúster de AKS que quiera actualizar.
- En el menú servicio, en Configuración, seleccione Redes.
- En Configuración de recursos, seleccione Administrar.
- En la página Intervalos IP autorizados, actualice los Intervalos IP autorizados según sea necesario.
- Cuando finalice, seleccione Guardar.
Deshabilitación de intervalos IP autorizados del servidor de API en un clúster existente
Deshabilite los intervalos IP autorizados del servidor de API mediante el
az aks updatecomando y especifique un intervalo""vacío para el--api-server-authorized-ip-rangesparámetro .az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges ""
Deshabilite los intervalos IP autorizados del servidor de API mediante el
Set-AzAksClustercmdlet y especifique un intervalo''vacío para el-ApiServerAccessAuthorizedIpRangeparámetro .Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange ''
- Vaya a Azure Portal y seleccione el clúster de AKS que quiera actualizar.
- En el menú servicio, en Configuración, seleccione Redes.
- En Configuración de recursos, seleccione Administrar.
- En la página Intervalos IP autorizados, desactive la casilla Establecer intervalos IP autorizados.
- Seleccione Guardar.
Búsqueda de intervalos IP autorizados del servidor de API existentes
Busque los intervalos de IP autorizados del servidor de API existentes utilizando el comando
az aks showcon el parámetro--queryestablecido enapiServerAccessProfile.authorizedIpRanges.az aks show --resource-group myResourceGroup --name myAKSCluster --query apiServerAccessProfile.authorizedIpRangesEjemplo de resultado:
[ "73.140.245.0/24" ]
Busque intervalos IP autorizados del servidor de API existentes mediante el
Get-AzAksClustercmdlet .Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster | Select-Object -ExpandProperty ApiServerAccessProfileEjemplo de resultado:
AuthorizedIPRanges: {73.140.245.0/24} ...
Vaya a Azure Portal y seleccione su clúster de AKS.
En el menú servicio, en Configuración, seleccione Redes. Los intervalos IP autorizados del servidor de API existentes aparecen en Configuración de recursos.
Acceso al servidor de API desde la máquina de desarrollo, las herramientas o la automatización
Si desea tener acceso al servidor de la API desde las direcciones IP de las máquinas, las herramientas o las automatizaciones de desarrollo, deberá agregarlas a la lista de intervalos IP aprobados de los clústeres de AKS.
Otra opción consiste en configurar un sistema jumpbox, que incluya las herramientas necesarias, en una subred independiente de la red virtual del firewall. Esta opción supone que su entorno tiene un firewall con la red correspondiente y que agregó las direcciones IP del firewall a rangos autorizados. De forma similar, si ha forzado la tunelización desde la subred de AKS a la subred del firewall, también funciona el jumpbox en la subred del clúster.
Nota:
En el ejemplo siguiente se agrega otra dirección IP a los intervalos aprobados. Todavía incluye la dirección IP existente. Si no incluye la dirección IP existente, este comando reemplaza la dirección IP actual por la nueva en lugar de añadirla a los rangos autorizados.
Recupere la dirección IP y establézcala en una variable de entorno mediante el siguiente comando:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")Agregue su dirección IP a la lista aprobada utilizando el comando
az aks updatecon el parámetro--api-server-authorized-ip-ranges. En el ejemplo siguiente se agrega su dirección IP actual a los rangos de IP autorizados existentes del servidor de API en el clúster denominado myAKSCluster del grupo de recursos denominado myResourceGroup.az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges $CURRENT_IP/24,73.140.245.0/24
Recupere la dirección IP y establézcala en una variable de entorno mediante el siguiente comando:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")Agregue su dirección IP a la lista aprobada mediante el parámetro
-ApiServerAccessAuthorizedIpRangedel cmdletSet-AzAksCluster. En el ejemplo siguiente se agrega su dirección IP actual a los intervalos de IP autorizados del servidor de API existente, en el clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange '$CURRENT_IP/24,73.140.245.0/24'
Otra opción es usar el siguiente comando en los sistemas Windows para obtener la dirección IPv4 pública:
Invoke-RestMethod http://ipinfo.io/json | Select -exp ip
También puede seguir los pasos descritos en Buscar su dirección IP o buscar en qué es mi dirección IP? en un explorador de Internet.
Contenido relacionado
Para más información sobre la seguridad en AKS, consulte los artículos siguientes: