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
- CLI de Azure versión 2.0.76 o posterior. Para comprobar la versión, ejecute
az --version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure. - La versión más reciente de Azure PowerShell. Para obtener instrucciones de instalación, consulte Install Azure PowerShell.
- 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
En el portal de Azure, use Azure Copilot para cambiar 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
- AKS solo admite esta característica con el equilibrador de carga de SKU estándar. AKS ya no admite el equilibrador de carga de SKU básico. Si tiene un clúster existente que usa la SKU básica, migre a la SKU estándar. La migración requiere tiempo de inactividad y tiene requisitos previos adicionales.
- Esta característica no se puede usar con clústeres privados.
- Para los clústeres que usan direcciones IP públicas de Node, cada grupo de nodos con direcciones IP públicas debe usar prefijos de IP públicas. Agregue esos prefijos como intervalos 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 API de Kubernetes expone las API de Kubernetes subyacentes. Las herramientas de administración, como kubectl y el panel de Kubernetes, interactúan con el clúster a través de este servidor de API. AKS proporciona un plano de control de un solo inquilino con un servidor de API dedicado y asigna al servidor una dirección IP pública de forma predeterminada. Puede controlar el acceso mediante el control de acceso basado en rol de Kubernetes (RBAC de Kubernetes) o Azure RBAC.
Para proteger el servidor de API del plano de control de AKS accesible públicamente, habilite los intervalos IP autorizados. Los intervalos IP autorizados solo permiten que los intervalos de direcciones IP definidos se comuniquen con el servidor de API. El servidor de API bloquea las solicitudes de direcciones IP que no se incluyen en los intervalos autorizados. Las reglas pueden tardar hasta 2 minutos en propagarse. Espere hasta dos minutos antes de 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).
- Intervalos de direcciones IP para redes que se usan para 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, AKS agrega 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 a la lista de intervalos IP autorizados de forma predeterminada, además de los intervalos que especifique.
Caso especial: 0.0.0.0/32: el 0.0.0.0/32 marcador de posición indica a AKS que permita solo la dirección IP pública saliente del equilibrador de carga de SKU estándar para acceder al servidor de API. El marcador de posición tiene los siguientes comportamientos:
| Comportamiento | Description |
|---|---|
| Intervalos IP de cliente adicionales | Deshabilita el comportamiento predeterminado de permitir intervalos IP de cliente adicionales. |
| Acceso al servidor de API | Restringe el acceso del servidor de API solo a la propia dirección IP de salida del clúster. |
| Administración automática | Permite que el clúster se administre automáticamente al bloquear el acceso externo. |
Para crear un clúster con intervalos IP autorizados del servidor de API habilitados, proporcione una lista de intervalos de direcciones IP públicas autorizadas. Para un intervalo CIDR, use la dirección de red, que es la primera dirección IP del intervalo. Por ejemplo, para permitir que el intervalo 137.117.106.88 sea 137.117.106.95, especifique 137.117.106.88/29.
Use el az aks create comando con el --api-server-authorized-ip-ranges parámetro para crear un clúster de AKS con intervalos IP autorizados del servidor de API habilitados. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup y se permite que el intervalo 73.140.245.0/24 de 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
Use el New-AzAksCluster cmdlet con el -ApiServerAccessAuthorizedIpRange parámetro para crear un clúster de AKS con intervalos IP autorizados del servidor de API habilitados. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup y se permite que el intervalo 73.140.245.0/24 de 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.
Especificar direcciones IP de salida para un equilibrador de carga de SKU estándar mediante CLI de Azure
Al crear un clúster con intervalos IP autorizados del servidor de API habilitados, también puede especificar sus direcciones IP de salida o prefijos mediante los --load-balancer-outbound-ips parámetros o --load-balancer-outbound-ip-prefixes . AKS permite estas direcciones IP además de las direcciones IP del --api-server-authorized-ip-ranges parámetro .
Use el --load-balancer-outbound-ips parámetro para crear un clúster de AKS con intervalos IP autorizados del servidor de API habilitados y especifique las direcciones IP salientes para el equilibrador de carga de SKU estándar. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup, se permite 73.140.245.0/24 acceder al servidor de API y se especifican dos direcciones IP salientes para el equilibrador de carga de SKU estándar. Reemplace <public-ip-id-1> y <public-ip-id-2> por los identificadores de recursos de las 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
Use el --api-server-authorized-ip-ranges parámetro para crear un clúster de 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. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:
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
Use el -ApiServerAccessAuthorizedIpRange parámetro para crear un clúster de 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. En el ejemplo siguiente se crea un clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:
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
Use el az aks update comando con el --api-server-authorized-ip-ranges parámetro para actualizar los intervalos IP autorizados del servidor de API de un clúster. En el ejemplo siguiente se establece el intervalo 73.140.245.0/24 autorizado en para el clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:
az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges 73.140.245.0/24
Permitir varios intervalos de direcciones IP mediante CLI de Azure
Para permitir varios intervalos de direcciones IP, separe con comas.
Use el az aks update comando con el --api-server-authorized-ip-ranges parámetro para autorizar varios intervalos de direcciones IP. En el ejemplo siguiente se actualiza el clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:
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
Use el Set-AzAksCluster cmdlet con el -ApiServerAccessAuthorizedIpRange parámetro para actualizar los intervalos IP autorizados del servidor de API de un clúster. En el ejemplo siguiente se establece el intervalo 73.140.245.0/24 autorizado en para el clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:
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
Para deshabilitar los intervalos IP autorizados del servidor de API, use el az aks update comando y especifique un intervalo "" vacío para el --api-server-authorized-ip-ranges parámetro .
az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges ""
Para deshabilitar los intervalos IP autorizados del servidor de API, use el Set-AzAksCluster cmdlet y especifique un intervalo '' vacío para el -ApiServerAccessAuthorizedIpRange pará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
Para buscar intervalos IP autorizados del servidor de API existentes, use el az aks show comando con el --query parámetro establecido en apiServerAccessProfile.authorizedIpRanges.
az aks show --resource-group myResourceGroup --name myAKSCluster --query apiServerAccessProfile.authorizedIpRanges
Ejemplo de resultado:
[
"73.140.245.0/24"
]
Para buscar intervalos IP autorizados del servidor de API existentes, use el Get-AzAksCluster cmdlet .
Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster | Select-Object -ExpandProperty ApiServerAccessProfile
Ejemplo 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.
En la sección Configuración de recursos de la página Redes se muestran los intervalos IP autorizados configurados actualmente.
Acceso al servidor de API desde la máquina de desarrollo, las herramientas o la automatización
Para acceder al servidor de API desde un sistema de automatización, herramienta o máquina de desarrollo, agregue su dirección IP pública a los intervalos IP autorizados del clúster.
Como alternativa, configure un jumpbox con las herramientas necesarias en una subred independiente de la red virtual del firewall y agregue las direcciones IP del firewall a los intervalos autorizados. Si la subred del clúster de AKS usa la tunelización forzada a través del firewall, puede colocar ese jumpbox en la subred del clúster de AKS.
Nota:
En el ejemplo siguiente se conserva el intervalo autorizado existente y se agrega otra dirección IP. Si omite una dirección IP existente, el comando lo reemplaza por el nuevo intervalo.
Ejecute el siguiente comando para recuperar la dirección IP y establecerla como una variable de entorno:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")Use el
az aks updatecomando con el--api-server-authorized-ip-rangesparámetro para agregar la dirección IP a los intervalos autorizados. En el ejemplo siguiente se agrega la dirección IP actual a los intervalos existentes del clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges $CURRENT_IP/32,73.140.245.0/24
Ejecute el siguiente comando para recuperar la dirección IP y establecerla como una variable de entorno:
# Retrieve your IP address $CURRENT_IP = (Invoke-RestMethod -Uri 'https://ipinfo.io/json').ipUse el
Set-AzAksClustercmdlet con el-ApiServerAccessAuthorizedIpRangeparámetro para agregar la dirección IP a los intervalos autorizados. En el ejemplo siguiente se agrega la dirección IP actual a los intervalos existentes del clúster denominado myAKSCluster en el grupo de recursos denominado myResourceGroup:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange "$CURRENT_IP/32", '73.140.245.0/24'
Para otra manera de identificar su dirección IP, consulte Buscar su dirección IP o buscar qué es mi dirección IP? en un explorador web.
Contenido relacionado
Para más información sobre la seguridad en AKS, consulte los artículos siguientes: