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 cluster
  • CLUSTER_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