Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo mostra-lhe como usar intervalos de endereços IP autorizados por servidores API para limitar quais endereços IP e CIDRs podem aceder aos endpoints do plano de controlo para as suas cargas de trabalho do Azure Kubernetes Service (AKS).
Pré-requisitos
- A Azure CLI versão 2.0.76 ou posterior instalada e configurada. Verifique sua versão usando o
az --versioncomando. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI). - Para saber que endereços IP incluir ao integrar o seu cluster AKS com Azure DevOps, consulte Endereços IP permitidos e URLs de domínio.
Sugestão
A partir do portal Azure, pode usar o Azure Copilot para alterar os endereços IP que acedem ao seu cluster. Para mais informações, consulte Trabalhar com clusters AKS de forma eficiente usando o Azure Copilot.
Limitações e considerações
- Esta funcionalidade só é suportada no balanceador de carga Standard SKU para clusters criados após outubro de 2019. Quaisquer clusters existentes no balanceador de carga SKU Básico com a funcionalidade ativada deverão continuar a funcionar corretamente se a versão Kubernetes e o plano de controlo forem atualizados. No entanto, não podes migrar estes clusters para o balanceador de carga do SKU Standard.
- Não podes usar esta funcionalidade com clusters privados.
- Ao usar esta funcionalidade em clusters que usam IPs públicos de Node, os pools de nós que usam os IPs públicos de Node devem usar prefixos de IP públicos. Deve adicionar os prefixos de IP públicos como intervalos autorizados.
- Pode especificar até 200 intervalos de IP autorizados. Para ultrapassar este limite, considere usar a API Server VNet Integration, que suporta até 2.000 intervalos de IP autorizados.
Visão geral dos intervalos de IP autorizados pelo servidor de API
O servidor de API do Kubernetes expõe as APIs subjacentes do Kubernetes e fornece a interação para ferramentas de gerenciamento como kubectl o painel do Kubernetes. O AKS fornece um plano de controle de cluster de locatário único com um servidor de API dedicado. O servidor de API recebe um endereço IP público por padrão. Você pode controlar o acesso usando o controle de acesso baseado em função do Kubernetes (Kubernetes RBAC) ou o Azure RBAC.
Para proteger o acesso ao plano de controle AKS / servidor API de acesso público, você pode habilitar e usar intervalos de IP autorizados. Esses intervalos de IP autorizados só permitem que intervalos de endereços IP definidos se comuniquem com o servidor de API. Todas as solicitações feitas ao servidor de API a partir de um endereço IP que não faça parte desses intervalos de IP autorizados são bloqueadas. As regras podem levar até dois minutos para se propagar. Espere até esse tempo ao testar a ligação.
Intervalos de IP recomendados a autorizar
Recomendamos incluir os seguintes intervalos de endereços IP na configuração dos seus intervalos de IP autorizados por servidor API:
- O endereço IP de saída do cluster (firewall, gateway NAT ou outro endereço, dependendo do tipo de saída).
- Qualquer intervalo que represente as redes a partir das quais você administrará o cluster.
Criar um cluster AKS com intervalos de IP autorizados pelo servidor API ativado
Nota
Quando ativas os intervalos de IP autorizados pelo servidor API durante a criação do cluster, tanto o IP público do servidor API como o IP público de saída do balanceador de carga do SKU Standard são automaticamente permitidos por defeito, além de quaisquer intervalos que especifiques.
Caso especial - 0.0.0.0/32: Este é um valor especial que indica ao AKS para permitir apenas o IP público de saída do balanceador de carga Standard SKU aceder ao servidor API. O 0.0.0.0/32 valor atua como um marcador de posição que:
- Desativa o comportamento padrão de permitir intervalos adicionais de IP dos clientes.
- Restringe o acesso do servidor API apenas ao IP de saída do cluster.
- É útil em cenários em que queres que o cluster se auto-gere mas bloqueie o acesso externo.
Ao criar um cluster com os intervalos de IP autorizados do servidor API ativados, fornece uma lista de intervalos de endereços IP públicos autorizados. Quando especifica um intervalo CIDR, deve usar o endereço de rede (primeiro endereço IP no intervalo). Por exemplo, se quiser permitir que o intervalo 137.117.106.88 seja 137.117.106.95, deve especificar 137.117.106.88/29.
Crie um cluster AKS com intervalos de IP autorizados pelo servidor API ativado usando o
az aks createcomando com o--api-server-authorized-ip-rangesparâmetro. O exemplo seguinte cria um cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup e permite que o intervalo73.140.245.0/24de endereços IP aceda ao servidor 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
Crie um cluster AKS com intervalos de IP autorizados pelo servidor de API habilitados usando o
New-AzAksClustercmdlet com o-ApiServerAccessAuthorizedIpRangeparâmetro. O exemplo seguinte cria um cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup e permite que o intervalo73.140.245.0/24de endereços IP aceda ao servidor API:New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '73.140.245.0/24' -GenerateSshKey
- Na home page do portal do Azure, selecione >
- Configure as configurações do cluster conforme necessário.
- Na seção Rede, em Acesso público, selecione Definir intervalos de IP autorizados.
- Em Especificar intervalos de IP, insira os intervalos de endereços IP que você deseja autorizar para acessar o servidor de API.
- Configure o restante das configurações do cluster conforme necessário.
- Quando estiver pronto, selecione Rever + criar>Criar para criar o cluster.
Especificar IPs de saída para um balanceador de carga SKU padrão
Ao criar um cluster com intervalos de IP autorizados pelo servidor de API habilitados, você também pode especificar os endereços IP de saída ou prefixos para o cluster usando os --load-balancer-outbound-ips parâmetros ou --load-balancer-outbound-ip-prefixes . Todos os IPs fornecidos nos parâmetros são permitidos juntamente com os IPs no --api-server-authorized-ip-ranges parâmetro.
Crie um cluster AKS com intervalos de IP autorizados pelo servidor API ativado e especifique os endereços IP de saída para o balanceador de carga SKU padrão usando o
--load-balancer-outbound-ipsparâmetro. O exemplo seguinte cria um cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup, permite que o intervalo73.140.245.0/24de endereços IP aceda ao servidor API e especifica dois endereços IP de saída para o balanceador de carga do SKU Standard. Certifica-te de substituir os marcadores<public-ip-id-1>de posição e<public-ip-id-2>pelos IDs de recursos reais dos teus endereços IP públicos.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
Permitir apenas o IP público de saída do balanceador de carga SKU padrão
Crie um cluster AKS com intervalos de IP autorizados pelo servidor API ativado e permita apenas o IP público de saída do balanceador de carga SKU padrão usando o
--api-server-authorized-ip-rangesparâmetro. O exemplo a seguir cria um cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup com intervalos de IP autorizados pelo servidor de API habilitados e permite apenas o IP público de saída do balanceador de carga SKU padrão: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
Crie um cluster AKS com intervalos de IP autorizados pelo servidor API ativado e permita apenas o IP público de saída do balanceador de carga SKU padrão usando o
-ApiServerAccessAuthorizedIpRangeparâmetro. O exemplo a seguir cria um cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup com intervalos de IP autorizados pelo servidor de API habilitados e permite apenas o IP público de saída do balanceador de carga SKU padrão:New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '0.0.0.0/32' -GenerateSshKey
- Na home page do portal do Azure, selecione >
- Configure as configurações do cluster conforme necessário.
- Na seção Rede, em Acesso público, selecione Definir intervalos de IP autorizados.
- Para Especificar intervalos de IP, insira
0.0.0.0/32. Esta configuração permite apenas o IP público de saída do balanceador de carga do SKU Standard. - Configure o restante das configurações do cluster conforme necessário.
- Quando estiver pronto, selecione Rever + criar>Criar para criar o cluster.
Atualize os intervalos de IP autorizados pelo servidor API num cluster existente
Atualize os intervalos de IP autorizados do servidor de API de um cluster existente usando o
az aks updatecomando com o--api-server-authorized-ip-rangesparâmetro. O exemplo seguinte atualiza os intervalos de IP autorizados pelo servidor API no cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup e atualiza o intervalo de endereços IP para73.140.245.0/24:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges 73.140.245.0/24
Permitir múltiplos intervalos de endereços IP
Para permitir vários intervalos de endereços IP, você pode listar vários endereços IP, separados por vírgulas.
Atualize os intervalos de IP autorizados por servidor API de um cluster existente para permitir múltiplos intervalos de endereços IP usando o
az aks updatecomando com o--api-server-authorized-ip-rangesparâmetro. O exemplo seguinte atualiza os intervalos de IP autorizados pelo servidor API no cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup e permite múltiplos intervalos de endereços 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
Atualize os intervalos de IP autorizados do servidor de API de um cluster existente usando o
Set-AzAksClustercmdlet com o-ApiServerAccessAuthorizedIpRangeparâmetro. O exemplo seguinte atualiza os intervalos de IP autorizados pelo servidor API no cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup e atualiza o intervalo de endereços IP para73.140.245.0/24:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange '73.140.245.0/24'
- Navegue até o portal do Azure e selecione o cluster AKS que deseja atualizar.
- No menu de serviço, em Configurações, selecione Rede.
- Em Configurações de recursos, selecione Gerenciar.
- Na página Intervalos de IP autorizados, atualize os intervalos de IP autorizados conforme necessário.
- Quando tiver terminado, selecione Guardar.
Desativar os intervalos de IP autorizados por servidor API num cluster existente
Desabilite os intervalos de IP autorizados pelo servidor API usando o
az aks updatecomando e especifique um intervalo""vazio para o--api-server-authorized-ip-rangesparâmetro.az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges ""
Desative os intervalos de IP autorizados pelo servidor API usando o
Set-AzAksClustercmdlet e especifique um intervalo''vazio para o-ApiServerAccessAuthorizedIpRangeparâmetro.Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange ''
- Navegue até o portal do Azure e selecione o cluster AKS que deseja atualizar.
- No menu de serviço, em Configurações, selecione Rede.
- Em Configurações de recursos, selecione Gerenciar.
- Na página Intervalos de IP autorizados, desmarque a caixa de seleção Definir intervalos de IP autorizados.
- Selecione Guardar.
Encontre intervalos de IP autorizados para servidores API existentes
Encontre intervalos de IP autorizados por servidores API existentes usando o
az aks showcomando com o--queryparâmetro definido paraapiServerAccessProfile.authorizedIpRanges.az aks show --resource-group myResourceGroup --name myAKSCluster --query apiServerAccessProfile.authorizedIpRangesExemplo de saída:
[ "73.140.245.0/24" ]
Encontre os intervalos de IP autorizados por servidores de API existentes usando o
Get-AzAksClustercmdlet.Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster | Select-Object -ExpandProperty ApiServerAccessProfileExemplo de saída:
AuthorizedIPRanges: {73.140.245.0/24} ...
Navegue até o portal do Azure e selecione seu cluster AKS.
No menu de serviço, em Configurações, selecione Rede. Os intervalos de IP autorizados para servidores API existentes estão listados em Definições de Recursos.
Acede ao servidor API a partir da tua máquina de desenvolvimento, ferramentas ou automação
Você deve adicionar suas máquinas de desenvolvimento, ferramentas ou endereços IP de automação à lista de clusters AKS de intervalos de IP aprovados para acessar o servidor de API a partir daí.
Outra opção é configurar uma jumpbox com as ferramentas necessárias dentro de uma sub-rede separada na rede virtual do firewall. Esta opção assume que o seu ambiente tem um firewall com a respetiva rede e que adicionou os IPs do firewall para os intervalos autorizados. Da mesma forma, se forçares o tunelamento da sub-rede AKS para a sub-rede do firewall, ter a jumpbox na sub-rede do cluster também funciona.
Nota
O exemplo seguinte adiciona outro endereço IP aos intervalos aprovados. Ainda inclui o endereço IP existente. Se não incluir o seu endereço IP existente, este comando substitui-lo pelo novo em vez de o adicionar aos intervalos autorizados.
Recupere o seu endereço IP e defina-o como variável de ambiente usando o seguinte comando:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")Adicione o seu endereço IP à lista aprovada usando o
az aks updatecomando com o--api-server-authorized-ip-rangesparâmetro. O exemplo seguinte adiciona o seu endereço IP atual aos intervalos de IP autorizados do servidor API existente no cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges $CURRENT_IP/24,73.140.245.0/24
Recupere o seu endereço IP e defina-o como variável de ambiente usando o seguinte comando:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")Adicione o seu endereço IP à lista aprovada usando o
Set-AzAksClustercmdlet com o-ApiServerAccessAuthorizedIpRangeparâmetro. O exemplo seguinte adiciona o seu endereço IP atual aos intervalos de IP autorizados do servidor API existente no cluster chamado myAKSCluster no grupo de recursos chamado myResourceGroup:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange '$CURRENT_IP/24,73.140.245.0/24'
Outra opção é usar o seguinte comando nos sistemas Windows para obter o endereço público IPv4:
Invoke-RestMethod http://ipinfo.io/json | Select -exp ip
Também pode seguir os passos em Encontrar o seu endereço IP ou pesquisar qual é o meu endereço IP? num navegador de internet.
Conteúdo relacionado
Para saber mais sobre segurança no AKS, consulte os seguintes artigos: