Groupes de sécurité réseau

Cette page décrit et liste les groupes de sécurité réseau (NSG) Azure requis par GKE sur Azure.

NSG gérés

GKE sur Azure gère les NSG associés à la carte d'interface réseau de chaque instance de machine virtuelle (VM). Pour mieux contrôler le trafic réseau, vous pouvez ajouter des NSG supplémentaires à vos sous-réseaux.

GKE sur Azure gère automatiquement les règles NSG requises. Il ajoute les règles NSG manquantes et supprime les règles qui ne sont plus nécessaires. GKE sur Azure modifie également les règles en fonction de la configuration de votre service Kubernetes. Par exemple, lorsque vous ajoutez un service Kubernetes de type LoadBalancer, GKE sur Azure ajoute les règles NSG correspondantes.

Priorités des règles

Les priorités des règles NSG Azure sont comprises entre 100 et 4 096. Plus la valeur est faible, plus la priorité est élevée.

De par sa conception, GKE sur Azure ne gère que les règles NSG ayant une priorité de 500 ou plus. Par conséquent, si vous devez mettre en œuvre une règle spécifique ou créer des règles supplémentaires, vous pouvez utiliser des NSG avec une priorité comprise entre 100 et 499.

Azure traite les règles dans l'ordre, en commençant par le numéro de priorité le plus faible et en remontant. Lorsque vous créez une règle, choisissez toujours des priorités de règles comprises entre 100 et 499 pour éviter tout conflit avec les règles NSG Anthos existantes.

Groupes de sécurité des applications

GKE sur Azure crée deux groupes de sécurité des applications (ASG) qui s'appliquent aux cartes d'interface réseau virtuelles des plans de contrôle et des nœuds de calcul. GKE sur Azure met automatiquement à jour les ASG, par exemple lorsque vous ajoutez un pool de nœuds à un cluster. Vous pouvez utiliser ces ASG lors de la création de règles NSG.

Les ID Azure Resource Manager (ARM) du NSG et de l'ASG du plan de contrôle peuvent être obtenus à partir du résultat de gcloud container azure clusters describe.

Par exemple, pour autoriser les connexions SSH aux VM du plan de contrôle, exécutez la commande az network nsg rule create afin de créer un NSG qui référence l'ASG du plan de contrôle :

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}"

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster
  • GOOGLE_CLOUD_LOCATION : zone Google Cloud qui gère votre cluster
  • CLUSTER_RESOURCE_GROUP : nom du groupe de ressources Azure contenant votre cluster

Pour en savoir plus sur la création d'une règle, suivez la procédure décrite dans la section Créer une règle Azure NSG.

Règles NSG par défaut

Lorsque vous configurez GKE sur Azure, les règles NSG suivantes sont créées dans votre réseau virtuel Azure.

Priorité Ports Protocole Source Destination Action Usage
1000 2380, 2381 TCP Cartes d'interface réseau de plan de contrôle Cartes d'interface réseau de plan de contrôle Autoriser Communication entre le plan de contrôle et etcd
1001 443, 8132 TCP N'importe quelle valeur Cartes d'interface réseau de plan de contrôle Autoriser Autoriser l'accès à l'API Kubernetes
1002 10250 TCP Cartes d'interface réseau de plan de contrôle Cartes d'interface réseau de pool de nœuds Autoriser Communications entre le plan de contrôle et le nœud
1003 10250, 10255 TCP Cartes d'interface réseau de pool de nœuds Cartes d'interface réseau de pool de nœuds Autoriser Communication nœud à nœud
1004 6081 UDP Cartes d'interface réseau de pool de nœuds Cartes d'interface réseau de pool de nœuds Autoriser Communication CNI nœud à nœud
1005 Tout Tout Équilibreur de charge Azure Tout Autoriser Autoriser le trafic entrant vers l'équilibreur de charge
4 096 N'importe quelle valeur N'importe quelle valeur N'importe quelle valeur Tout Refuser Refuser toutes les connexions entrantes non couvertes par une autre règle