Grupos de segurança de rede
Nesta página, descrevemos e listamos os grupos de segurança de rede (NSGs) do Azure exigidos pelo GKE no Azure.
NSGs gerenciados
Os clusters do GKE no Azure gerenciam os NSGs anexados à placa de interface de rede virtual (NIC) de cada instância de máquina virtual (VM). Para controlar ainda mais o tráfego de rede, adicione NSGs às suas sub-redes.
O GKE no Azure gerencia as regras de NSG necessárias automaticamente. Ele adiciona
regras de NSG ausentes e remove regras que não são mais necessárias. O GKE no Azure
também modifica as regras com base na configuração do serviço do Kubernetes. Por exemplo,
quando você adiciona um serviço do Kubernetes do tipo LoadBalancer
, o GKE no Azure
adiciona as regras de NSG correspondentes.
Prioridades da regra
As prioridades da regra NSG do Azure têm um intervalo entre 100 e 4.096. Quanto menor o número, mais alta a prioridade.
Por padrão, o GKE no Azure gerencia apenas as regras de NSG com prioridade de 500 ou superior. Portanto, se você precisar implementar uma regra específica ou criar outras regras, use as NSGs com prioridade entre 100 e 499.
No Azure, as regras são processadas em ordem, começando pelo número de prioridade mais baixo e aumentando na sequência. Ao criar uma nova regra, sempre escolha as prioridades no intervalo entre 100 e 499 para evitar conflito com as regras atuais de NSG do Anthos.
Grupos de segurança para aplicativos
O GKE no Azure cria dois grupos de segurança de aplicativos (ASGs) que se aplicam às NICs virtuais de planos de controle e nós de trabalho. O GKE no Azure atualiza os ASGs automaticamente, por exemplo, quando você adiciona um novo pool de nós a um cluster. É possível usar esses ASGs ao criar regras de NSG.
Os IDs do Azure Resource Manager (ARM) do NSG e do ASG do plano de controle
podem ser obtidos da saída de
gcloud container azure clusters describe
.
Por exemplo, para permitir conexões SSH para as VMs do plano de controle, execute o
comando az network nsg rule create
para criar um NSG que faça referência
ao ASG do plano de controle:
NSG_NAME=$(basename $(gcloud container azure clusters describe \
CLUSTER_NAME --location=GOOGLE_CLOUD_LOCATION \
--format 'value(managedResources.networkSecurityGroupId)'))
ASG_CP_NAME=$(basename $(gcloud container azure clusters describe \
CLUSTER_NAME --location=GOOGLE_CLOUD_LOCATION \
--format 'value(managedResources.controlPlaneApplicationSecurityGroupId)'))
az network nsg rule create \
--name AllowSshToControlPlane \
--nsg-name "${NSG_NAME}" \
--priority 100 \
--resource-group "CLUSTER_RESOURCE_GROUP" \
--access Allow \
--protocol Tcp \
--destination-port-ranges 22 \
--destination-asgs "${ASG_CP_NAME}"
Substitua:
CLUSTER_NAME
: o nome do cluster.GOOGLE_CLOUD_LOCATION
: o local do Google Cloud que gerencia seu clusterCLUSTER_RESOURCE_GROUP
: o nome do grupo de recursos do Azure que contém o cluster.
Para mais informações sobre como criar uma nova regra, siga o procedimento descrito em Criação de regras NSG do Azure.
Regras de NSG padrão
Quando você configura o GKE no Azure, ele cria as seguintes regras de NSG na rede virtual do Azure.
Prioridade | Portas | Protocolo | Origem | Destino | Ação | Finalidade |
---|---|---|---|---|---|---|
1000 | 2380, 2381 | TCP | NICs do plano de controle | NICs do plano de controle | Permitir | Comunicação do plano de controle do etcd |
1001 | 443, 8132 | TCP | Tudo | NICs do plano de controle | Permitir | Permitir acesso à API Kubernetes |
1002 | 10250 | TCP | NICs do plano de controle | NICs de pool de nós | Permitir | Controle as comunicações do plano para o nó |
1003 | 10250, 10255 | TCP | NICs de pool de nós | NICs de pool de nós | Permitir | Comunicação de nó a nó |
1004 | 6081 | UDP | NICs de pool de nós | NICs de pool de nós | Permitir | Comunicação CNI de nó para nó |
1005 | Tudo | Tudo | Balanceador de carga do Azure | Tudo | Permitir | Permitir tráfego de entrada para o balanceador de carga |
4096 | Tudo | Tudo | Tudo | Tudo | Negar | Negar todas as conexões de entrada não cobertas por outra regra |