Cette page explique comment utiliser des réseaux autorisés pour restreindre les origines à partir desquelles vous pouvez accéder aux plans de contrôle de vos clusters Google Kubernetes Engine (GKE). Ces réseaux accordent au plan de contrôle l'accès à un ensemble spécifique d'adresses IP de confiance, et offrent une protection et des avantages supplémentaires en matière de sécurité pour votre cluster GKE.
Fonctionnement des réseaux autorisés
Les réseaux autorisés fournissent un pare-feu basé sur l'adresse IP qui contrôle l'accès au plan de contrôle GKE. L'accès au plan de contrôle dépend du type de cluster GKE et des adresses IP sources. Avec les réseaux autorisés, vous configurez les adresses IP que vous souhaitez autoriser à accéder au point de terminaison du plan de contrôle du cluster GKE en tant que liste de blocs CIDR.
Terminologie relative aux clusters et aux adresses IP
Les termes suivants sont utilisés pour différencier les règles de pare-feu basées sur les adresses IP, en fonction de votre type de cluster :
Distinctions entre les adresses IP :
- Adresses IP publiques de toutes les VM Compute Engine dans Google Cloud : adresses IP publiques attribuées à toute VM utilisée par un client hébergé sur Google Cloud. Ces adresses IP appartiennent à Google Cloud. Pour en savoir plus, consultez la section Où puis-je trouver les plages d'adresses IP Compute Engine ?
- Adresses IP Google Cloud Platform : adresses IP utilisées par les produits Google Cloud tels que Cloud Run ou Cloud Functions. Tout client hébergé sur Google Cloud peut instancier ces adresses IP. Ces adresses IP appartiennent à Google Cloud.
- Adresses IP réservées par Google : adresses IP publiques à des fins de gestion des clusters GKE. Ces adresses IP incluent les processus gérés par GKE ainsi que d'autres services Google de production. Ces adresses IP appartiennent à Google.
- Adresses IP publiques Internet : adresses IP non-RFC 1918 et non-Google. Ni les produits Google, ni les produits Google Cloud ne sont propriétaires de ces adresses IP publiques.
- Plages d'adresses IP du cluster GKE : adresses IP attribuées au cluster utilisé par GKE pour les nœuds, les pods et les services du cluster
- Adresses IP utilisées en mode privé : adresses IP du réseau VPC du cluster. Ces adresses IP peuvent inclure l'adresse IP de votre cluster, les réseaux sur site, les plages RFC 1918 ou les adresses IP publiques utilisées en mode privé (PUPI) qui incluent des plages non-RFC 1918.
Types de clusters :
- Anciens clusters publics : clusters publics exécutés sur des anciens réseaux ou sur des réseaux VPC avec des adresses IP publiques attribuées aux nœuds et qui n'ont pas été migrées vers l'architecture Private Service Connect.
- Anciens clusters privés : clusters basés sur l'appairage de réseaux VPC pour la connectivité du plan de contrôle à partir des nœuds disposant uniquement d'adresses IP privées.
- Cluster basé sur PSC, créé en tant que public ou privé: clusters utilisant l'architecture Private Service Connect pour la communication entre le plan de contrôle du cluster GKE et les nœuds. Pour déterminer si votre cluster utilise Private Service Connect, consultez le plan de contrôle GKE.
Accès aux points de terminaison du plan de contrôle
Le tableau suivant indique l'état du réseau autorisé par défaut au moment de la création du cluster. En fonction du type de cluster GKE et du point de terminaison du plan de contrôle, vous pouvez déterminer les éléments suivants :
- Adresses IP prédéfinies qui peuvent toujours accéder au plan de contrôle GKE.
- Adresses IP que vous pouvez configurer pour accéder au plan de contrôle du cluster avec les réseaux autorisés activés.
Les adresses IP configurables peuvent accéder au plan de contrôle du cluster lorsque vous les ajoutez à la liste d'autorisation et que vous activez les réseaux autorisés.
Type de cluster GKE et de point de terminaison du plan de contrôle | État du réseau autorisé par défaut pour le plan de contrôle | Adresses IP prédéfinies qui peuvent toujours accéder au plan de contrôle GKE1 | Adresse IP configurable pouvant accéder au plan de contrôle GKE avec les réseaux autorisés activés2 |
---|---|---|---|
Anciens clusters publics ou clusters privés basés sur l'appairage de réseaux VPC | |||
Anciens clusters publics avec un point de terminaison public | Désactivé |
|
|
Anciens clusters privés avec des points de terminaison publics et privés | Activé |
|
|
Clusters qui utilisent Private Service Connect | |||
Clusters créés comme publics | Désactivé |
Lorsque l'option
Lorsque l'option
Pour en savoir plus, consultez la page Modifier l'isolation des clusters. |
|
Clusters créés comme privés | Activé |
Les plages d'adresses IP des clusters GKE, telles que les nœuds, les pods et les services, ne disposent que d'adresses IP privées. Par défaut, lorsque le cluster est créé,
Lorsque l'option
Pour en savoir plus, consultez la page Modifier l'isolation des clusters. |
|
Limites
- Si vous développez un sous-réseau utilisé par un cluster avec des réseaux autorisés, vous devez mettre à jour la configuration de réseau autorisé pour inclure la plage d'adresses IP étendue.
Le nombre de plages d'adresses IP autorisées que vous pouvez spécifier pour les adresses IP publiques et privées dépend du type de cluster :
- Cluster public : 50 plages d'adresses IP
- Cluster privé : 100 plages d'adresses IP
- Clusters basés sur PSC : 100 plages d'adresses IP
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande
gcloud components update
.
Créer un cluster avec des réseaux autorisés
Vous pouvez créer un cluster avec un ou plusieurs réseaux autorisés à l'aide de Google Cloud CLI, de la console Google Cloud ou de l'API GKE.
gcloud
Exécutez la commande suivante :
gcloud container clusters create-auto CLUSTER_NAME \
--enable-master-authorized-networks \
--master-authorized-networks CIDR1,CIDR2,...
Remplacez les éléments suivants :
CLUSTER_NAME
: nom du clusterCIDR1,CIDR2,...
: liste des valeurs CIDR séparées par une virgule pour les réseaux autorisés. Exemple :8.8.8.8/32,8.8.8.0/24
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Cliquez sur add_box Créer.
Dans la section Autopilot ou Standard, cliquez sur Configurer.
Configurez le cluster selon vos besoins.
Dans le menu de navigation, cliquez sur Mise en réseau.
Sous Options de mise en réseau avancées, cochez la case Activer les réseaux autorisés pour le plan de contrôle.
Cliquez sur Ajouter un réseau autorisé.
Saisissez un Nom pour le réseau.
Pour Réseau, saisissez une plage CIDR à laquelle vous souhaitez accorder l'accès au plan de contrôle du cluster.
Cliquez sur OK. Ajoutez d'autres réseaux autorisés selon les besoins.
Cliquez sur Créer.
API
Spécifiez l'objet masterAuthorizedNetworksConfig
dans la requête create
du cluster :
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": string,
"cidrBlock": string
}
]
}
Pour obtenir plus d'informations, consultez la section sur MasterAuthorizedNetworksConfig.
Vous pouvez configurer un cluster privé avec un ou plusieurs réseaux autorisés. Pour plus d'informations, consultez la page Clusters privés.
Créer un cluster avec un accès limité au plan de contrôle
GKE attribue une adresse IP publique (point de terminaison externe) au plan de contrôle dans les clusters publics. Vous pouvez définir davantage d'isolation pour les clusters publics qui utilisent Private Service Connect pour connecter des nœuds et un plan de contrôle en mode privé. Pour vérifier si votre cluster utilise Private Service Connect, consultez la section Clusters publics avec Private Service Connect.
Vous pouvez créer un cluster et indiquer à GKE de bloquer l'accès au plan de contrôle depuis les origines suivantes :
- Depuis les adresses IP appartenant à Google Cloud.
- Depuis des adresses IP externes, à l'exception des services Google qui exécutent des processus de gestion de clusters.
Vous pouvez créer un cluster et définir l'accès au plan de contrôle à l'aide de Google Cloud CLI ou de la console Google Cloud.
gcloud
Exécutez la commande suivante :
gcloud container clusters create-auto CLUSTER_NAME
--no-enable-google-cloud-access
Remplacez CLUSTER_NAME
par le nom du cluster GKE.
Avec cette commande, l'option no-enable-google-cloud-access
empêche le plan de contrôle d'être accessible à partir d'adresses IP appartenant à Google Cloud.
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Cliquez sur add_box Créer.
Dans la section Autopilot ou Standard, cliquez sur Configurer.
Configurez le cluster selon vos besoins.
Dans le menu de navigation, cliquez sur Mise en réseau.
Sous Options de mise en réseau avancées, cochez la case Activer les réseaux autorisés pour le plan de contrôle.
Décochez la case Autoriser l'accès via les adresses IP publiques Google Cloud pour empêcher le plan de contrôle d'être accessible à partir d'adresses IP appartenant à Google Cloud.
Cliquez sur Ajouter un réseau autorisé.
Saisissez un Nom pour le réseau.
Pour Réseau, saisissez une plage CIDR à laquelle vous souhaitez accorder l'accès au plan de contrôle du cluster.
Cliquez sur OK. Ajoutez d'autres réseaux autorisés selon les besoins.
Cliquez sur Créer.
Ajouter un réseau autorisé à un cluster existant
Vous pouvez ajouter un réseau autorisé à un cluster existant en utilisant gcloud CLI ou Google Cloud Console.
gcloud
Exécutez la commande suivante :
gcloud container clusters update CLUSTER_NAME \
--enable-master-authorized-networks \
--master-authorized-networks CIDR1,CIDR2,...
Remplacez les éléments suivants :
CLUSTER_NAME
: nom de votre cluster existant.CIDR1,CIDR2,...
: liste des valeurs CIDR séparées par une virgule pour les réseaux autorisés. Exemple :8.8.8.8/32,8.8.8.0/24
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Cliquez sur le nom du cluster que vous souhaitez modifier.
Sous Mise en réseau, dans le champ Réseaux autorisés pour le plan de contrôle, cliquez sur edit Modifier les réseaux autorisés pour le plan de contrôle.
Cochez la case Activer les réseaux autorisés pour le plan de contrôle.
Cliquez sur Ajouter un réseau autorisé.
Saisissez un Nom pour le réseau.
Pour Réseau, saisissez une plage CIDR à laquelle vous souhaitez accorder l'accès au plan de contrôle du cluster.
Cliquez sur OK. Ajoutez d'autres réseaux autorisés selon les besoins.
Cliquez sur Enregistrer les modifications.
API
Spécifiez le champ desiredMasterAuthorizedNetworksConfig
dans la requête update
du cluster :
Dans le champ, spécifiez un objet MasterAuthorizedNetworksConfig :
"desiredMasterAuthorizedNetworksConfig": {
object(MasterAuthorizedNetworksConfig)
}
Vérifier un réseau autorisé
Vous pouvez valider un réseau autorisé dans un cluster existant en utilisant gcloud CLI ou Google Cloud Console.
gcloud
Exécutez la commande suivante :
gcloud container clusters describe CLUSTER_NAME
Le résultat ressemble à ce qui suit :
...
masterAuthorizedNetworksConfig:
cidrBlocks:
- cidrBlock: 8.8.8.8/32
- cidrBlock: 8.8.4.4/32
enabled: true
...
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Cliquez sur le nom du cluster que vous souhaitez modifier.
Sous Mise en réseau, le champ Réseaux autorisés pour le plan de contrôle affiche les plages CIDR autorisées.
API
Envoyez une requête get
.
Recherchez les blocs CIDR dans le champ masterAuthorizedNetworksConfig
.
Exemple :
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "Office",
"cidrBlock": "192.0.2.0/24"
}
]
}
Désactiver les réseaux autorisés
Vous pouvez désactiver les réseaux autorisés pour un cluster existant en utilisant gcloud CLI ou Google Cloud Console.
gcloud
Exécutez la commande suivante :
gcloud container clusters update CLUSTER_NAME \
--no-enable-master-authorized-networks
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Cliquez sur le nom du cluster que vous souhaitez modifier.
Sous Mise en réseau, dans le champ Réseaux autorisés pour le plan de contrôle, cliquez sur edit Modifier les réseaux autorisés pour le plan de contrôle.
Décochez la case Activer les réseaux autorisés pour le plan de contrôle.
Cliquez sur Enregistrer les modifications.
Supprimer les réseaux autorisés
gcloud
Exécutez la commande suivante :
gcloud container clusters update CLUSTER_NAME \
--enable-master-authorized-networks
Console
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Cliquez sur le nom du cluster que vous souhaitez modifier.
Sous Mise en réseau, dans le champ Réseaux autorisés pour le plan de contrôle, cliquez sur edit Modifier les réseaux autorisés pour le plan de contrôle.
Cliquez sur
Supprimer.Cliquez sur Save Changes (Enregistrer les modifications).
Dépannage
Dans les sections suivantes, nous vous expliquons comment résoudre les problèmes courants liés aux réseaux autorisés.
Trop de blocs CIDR
gcloud
renvoie l'erreur suivante lorsqu'un utilisateur essaie de créer ou de mettre à jour un cluster avec plus de 50 blocs CIDR :
ERROR: (gcloud.container.clusters.update) argument --master-authorized-networks: too many args
Pour résoudre ce problème, si votre cluster est public, veillez à ne pas spécifier plus de 50 blocs CIDR. Si votre cluster est privé, spécifiez 100 blocs CIDR au maximum.
Impossible de se connecter au serveur
Les commandes kubectl
dépassent le délai en raison de blocs CIDR mal configurés :
Unable to connect to the server: dial tcp MASTER_IP: getsockopt: connection timed out
Lorsque vous créez ou mettez à jour un cluster, veillez à spécifier les bons blocs CIDR.
Étapes suivantes
- Lisez la présentation du réseau GKE.
- Obtenez plus d'informations sur les clusters de VPC natif.
- Découvrez-en plus sur les règles de pare-feu.
- Apprenez à créer des clusters privés.