Cet article explique comment faire tourner les identifiants de sécurité pour les clusters d'utilisateur et le service de gestion GKE sur AWS. Pour plus d'informations sur les fonctionnalités de sécurité de GKE sur AWS, consultez la page Sécurité.
Avant de commencer
Pour terminer les étapes décrites sur cette page, vous devez avoir accès au répertoire de votre configuration GKE sur AWS.
Certificats de service de gestion
Cette section explique comment faire tourner les certificats de votre service de gestion.
Autorités de certification de gestion
Cette section explique comment alterner la signature de l'autorité de certification (CA) pour les composants GKE sur AWS.
Autorité de certification racine du serveur de l'API de gestion
Pour effectuer une rotation de l'autorité de certification racine du serveur d'API, procédez comme suit :
- Accédez au répertoire contenant votre configuration GKE sur AWS.
Vous avez créé ce répertoire lors de l'installation du service de gestion.
cd anthos-aws
- Ouvrez votre fichier
anthos-gke.status.yaml
dans un éditeur de texte. - Supprimez toutes les valeurs sous la clé
certificateAuthority
. Cela inclutencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
etencryptedPrivateKey.certificate
. Exécutez
anthos-gke aws management init
pour mettre à jour le fichieranthos-gke.status.yaml
.anthos-gke aws management init
Exécutez
anthos-gke aws management apply
pour mettre à jour le service de gestion.anthos-gke aws management apply
- À partir de votre répertoire
anthos-aws
, utilisezanthos-gke
pour basculer vers le contexte de votre service de gestion.cd anthos-aws anthos-gke aws management get-credentials
Autres autorités de certification de gestion
Cette section décrit la rotation de toutes les autorités de certification suivantes :
- CA de webhook d'authentification
- CA Etcd
- CA de signataire de compte de service
Vous pouvez alterner ces CA à l'aide de l'une des méthodes suivantes :
Supprimez la section
certificateAuthority
de votre fichieranthos-gke.status.yaml
.- Accédez au répertoire contenant votre configuration GKE sur AWS.
Vous avez créé ce répertoire lors de l'installation du service de gestion.
cd anthos-aws
- Ouvrez votre fichier
anthos-gke.status.yaml
dans un éditeur de texte. - Supprimez toutes les valeurs sous la clé
certificateAuthority
. Cela inclutencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
etencryptedPrivateKey.certificate
. Exécutez
anthos-gke aws management init
pour mettre à jour le fichieranthos-gke.status.yaml
.anthos-gke aws management init
Exécutez
anthos-gke aws management apply
pour mettre à jour le service de gestion.anthos-gke aws management apply
- Accédez au répertoire contenant votre configuration GKE sur AWS.
Vous avez créé ce répertoire lors de l'installation du service de gestion.
Si une nouvelle version de GKE sur AWS est disponible, mettez à niveau votre service de gestion GKE sur AWS.
Recréez l'instance EC2 du service de gestion.
- À partir de votre répertoire
anthos-aws
, utilisezterraform
pour obtenir l'ID de votre service de gestion.cd anthos-aws terraform output cluster_id
La sortie inclut l'ID de votre service de gestion. Dans l'exemple ci-dessous, l'ID estgke-12345abc
.terraform output cluster_id
gke-12345abc - Ouvrez la console AWS EC2.
- Cliquez sur Instances.
- Recherchez l'instance nommée
cluster-id-management-0
. - Sélectionnez Actions -> Instance state -> terminate (Actions -> État de l'instance -> interrompre) pour supprimer l'instance. EC2 crée automatiquement une instance avec le même volume EBS.
- À partir de votre répertoire
Gérer les clés et certificats client/serveur TLS
Pour assurer la rotation des clés et des certificats client/serveur TLS pour votre service de gestion, vous devez recréer votre instance de service de gestion. Pour recréer l'instance, procédez comme suit :
- À partir de votre répertoire
anthos-aws
, utilisezterraform
pour obtenir l'ID de votre service de gestion.cd anthos-aws terraform output cluster_id
La sortie inclut l'ID de votre service de gestion. Dans l'exemple ci-dessous, l'ID estgke-12345abc
.terraform output cluster_id
gke-12345abc - Ouvrez la console AWS EC2.
- Cliquez sur Instances.
- Recherchez l'instance nommée
cluster-id-management-0
. - Sélectionnez Actions -> Instance state -> terminate (Actions -> État de l'instance -> interrompre) pour supprimer l'instance. EC2 crée automatiquement une instance avec le même volume EBS.
Comptes de service Google Cloud
Comptes de service de gestion
Pour effectuer la rotation des comptes de service Google Cloud pour votre service de gestion, procédez comme suit :
- Créez des comptes de service et téléchargez les clés de compte de service en suivant les étapes décrites dans la section Prérequis.
- Accédez au répertoire contenant votre configuration GKE sur AWS.
Vous avez créé ce répertoire lors de l'installation du service de gestion.
cd anthos-aws
Si vous avez téléchargé des clés vers un autre chemin d'accès, ouvrez votre fichier
anthos-gke.yaml
dans un éditeur de texte. Remplacez la valeur de.spec.googleCloud.serviceAccountKeys.managementService
,.status.googleCloud.serviceAccountKeys.connectAgent
et.spec.googleCloud.serviceAccountKeys.node
par les nouveaux chemins.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: googleCloud: serviceAccountKeys: managementService: MANAGEMENT_KEY_PATH connectAgent: CONNECT_KEY_PATH node: NODE_KEY_PATH ...
Exécutez
anthos-gke aws management init
pour mettre à jour le fichieranthos-gke.status.yaml
.anthos-gke aws management init
Exécutez
anthos-gke aws management apply
pour mettre à jour le service de gestion.anthos-gke aws management apply
Comptes de service de cluster d'utilisateur
Pour appliquer ces comptes de service à vos clusters AWSClusters et AWSNodePools, vous devez les mettre à niveau ou les supprimer, puis les recréer.
Certificats de cluster d'utilisateur
Cette section explique comment faire tourner les certificats de vos clusters d'utilisateur.
Autorités de certification de cluster d'utilisateur et clés SSH
La plupart des autorités de certification de vos clusters d'utilisateur sont créées lors de la création du cluster.
Lorsque vous supprimez un cluster utilisateur, GKE sur AWS effectue la rotation des certificats suivants :
- CA racine de serveur d'API
- CA de proxy frontal d'API
- CA Etcd
- CA de signataire de compte de service Kubernetes
- Plan de contrôle sur les paires de clés SSH de nœud
CA de webhook d'authentification de cluster d'utilisateur
Pour faire tourner l'autorité de certification de webhook d'authentification de cluster d'utilisateur, vous devez modifier votre fichier anthos-gke.status.yaml
et appliquer les modifications.
- Accédez au répertoire contenant votre configuration GKE sur AWS.
Vous avez créé ce répertoire lors de l'installation du service de gestion.
cd anthos-aws
- Ouvrez votre fichier
anthos-gke.status.yaml
dans un éditeur de texte. - Supprimez toutes les valeurs sous la clé
certificateAuthority
. Cela inclutencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
etencryptedPrivateKey.certificate
. Exécutez
anthos-gke aws management init
pour mettre à jour le fichieranthos-gke.status.yaml
.anthos-gke aws management init
Exécutez
anthos-gke aws management apply
pour mettre à jour le service de gestion.anthos-gke aws management apply
Certificats et paires de clés TLS de cluster d'utilisateur
GKE sur AWS génère des certificats et des paires de clés TLS lors de la création d'une instance. Pour faire tourner ces paires, recréez l'instance en procédant comme suit pour votre plan de contrôle et vos pools de nœuds.
Plan de contrôle
- À partir de votre répertoire
anthos-aws
, utilisezanthos-gke
pour basculer vers le contexte de votre service de gestion.cd anthos-aws anthos-gke aws management get-credentials
Utilisez
kubectl
pour obtenir le groupe cible AWS EC2 du plan de contrôle à partir de l'AWSCluster.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-name \ -o jsonpath='{.status.targetGroupName}{"\n"}'
La sortie inclut le nom du groupe cible EC2 du plan de contrôle. (par exemple,
gke-123456a7-controlplane
)Ouvrez la console AWS EC2. Sélectionnez Target Groups (Groupes cibles) dans le volet de gauche.
Cliquez sur la barre de recherche et recherchez votre groupe cible. Cliquez sur le nom du groupe cible, puis sur Targets (Cibles). La liste des instances de votre plan de contrôle s'affiche.
Pour chaque instance du groupe cible, procédez comme suit :
Cliquez sur l'ID d'instance de l'instance. La console des instances AWS EC2 s'affiche.
Cliquez sur ID d'instance.
Sélectionnez Actions -> Instance state -> terminate (Actions -> État de l'instance -> interrompre) pour supprimer l'instance. EC2 crée automatiquement une instance avec le même volume EBS.
Revenez à la page "Groupes cibles".
Après avoir arrêté toutes les instances du groupe, revenez à la page "Groupes cibles".
Dans la section Registered Targets (Cibles enregistrées) de la page, recherchez la colonne État. Toutes les instances doivent se trouver à l'état Opérationnel. Si l'une des instances est opérationnelle, attendez quelques minutes, puis cliquez sur l'icône Actualiser (
).Lorsque toutes les instances du groupe cible sont opérationnelles, passez à l'étape suivante.
Pools de nœuds
Pour effectuer la rotation des certificats TLS de votre pool de nœuds, procédez comme suit :
- À partir de votre répertoire
anthos-aws
, utilisezanthos-gke
pour basculer vers le contexte de votre service de gestion.cd anthos-aws anthos-gke aws management get-credentials
Utilisez
kubectl
pour obtenir le groupe cible EC2 AWS de votre pool de nœuds à partir d'AWSNodePool.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
La sortie inclut le nom du groupe cible EC2 de votre pool de nœuds. (par exemple,
gke-123456a7-nodepool-abc123
)Ouvrez la console AWS EC2. Sélectionnez Target Groups (Groupes cibles) dans le volet de gauche.
Cliquez sur la barre de recherche et recherchez votre groupe cible. Cliquez sur le nom du groupe cible, puis sur Targets (Cibles). La liste des instances de votre plan de contrôle s'affiche.
Pour chaque instance du groupe cible, procédez comme suit :
Cliquez sur l'ID d'instance de l'instance. La console des instances AWS EC2 s'affiche.
Cliquez sur ID d'instance.
Sélectionnez Actions -> Instance state -> terminate (Actions -> État de l'instance -> interrompre) pour supprimer l'instance. EC2 crée automatiquement une instance avec le même volume EBS.
Revenez à la page "Groupes cibles".
Après avoir arrêté toutes les instances du groupe, revenez à la page "Groupes cibles".
Dans la section Registered Targets (Cibles enregistrées) de la page, recherchez la colonne État. Toutes les instances doivent se trouver à l'état Opérationnel. Si l'une des instances est opérationnelle, attendez quelques minutes, puis cliquez sur l'icône Actualiser (
).Lorsque toutes les instances du groupe cible sont opérationnelles, passez à l'étape suivante.