Cette page explique comment alterner les clés pour les comptes de service suivants :
- Accès au composant (si vous n'utilisez pas de registre privé)
- Registre Connect
- Surveillance et journalisation
- Journaux d'audit
- Mesure de l'utilisation
Pour effectuer la rotation des clés de votre compte de service, procédez comme suit :
Créez un répertoire pour stocker une sauvegarde de vos secrets actuels :
mkdir backup
Notez les informations suivantes pour le compte de service concerné :
Accès aux composants
Cluster Secret Espace de noms Administrateur admin-cluster-creds kube-system Administration user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Administration private-registry-creds kube-system Utilisateur private-registry-creds kube-system - Si vous n'utilisez pas de registre privé, le secret
private-registry-creds
contient la clé de votre compte de service d'accès au composant. - Si vous utilisez un registre privé, le secret
private-registry-creds
contient les identifiants de votre registre privé, et non la clé du compte de service d'accès au composant.
Registre Connect
Cluster Secret Espace de noms Administrateur admin-cluster-creds kube-system Administration user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Surveillance et journalisation
Cluster Secret Espace de noms Administrateur admin-cluster-creds kube-system Administration user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utilisateur google-cloud-credentials kube-system Utilisateur stackdriver-service-account-key knative-serving Journaux d'audit
Cluster Secret Espace de noms Administrateur admin-cluster-creds kube-system Administration user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Administration kube-apiserver CLUSTER_NAME Mesure de l'utilisation
Cluster Secret Espace de noms Administration user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utilisateur usage-metering-bigquery-service-account-key kube-system Stackdriver
Cluster Secret Espace de noms Administrateur admin-cluster-creds kube-system Administration user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utilisateur google-cloud-credentials kube-system Utilisateur stackdriver-service-account-key knative-serving - Si vous n'utilisez pas de registre privé, le secret
Créez une sauvegarde de chaque secret à l'aide de la commande suivante :
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
Remplacez les éléments suivants :
NAMESPACE
: espace de noms dans lequel se trouve le secret. Par exemple,kube-system
.KUBECONFIG
: chemin d'accès au fichier kubeconfig pour le cluster d'administrateur ou d'utilisateur.SECRET
: nom du secret. Par exemple,admin-cluster-creds
.
Par exemple, exécutez les commandes suivantes pour le compte de service de journalisation d'audit :
kubectl get secret admin-cluster-creds --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/admin-cluster-creds-kube-system.json kubectl get secret user-cluster-creds --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/user-cluster-creds-NAMESPACE.json kubectl get secret kube-apiserver --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/kube-apiserver-NAMESPACE.json
Pour créer un fichier de clé de compte de service, exécutez la commande suivante :
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
Remplacez les éléments suivants :
NEW_KEY_FILE
: nom du nouveau fichier de clé de compte de service.IAM_ACCOUNT
: adresse e-mail du compte de service.
Dans le fichier de configuration du cluster d'administrateur, recherchez le champ
componentAccessServiceAccountKeyPath
, la sectiongkeConnect
, la sectionstackdriver
et la sectioncloudAuditLogging
. À ces endroits, remplacez les chemins d'accès aux fichiers de clé de compte de service.Dans le fichier de configuration du cluster d'utilisateur, recherchez le champ
componentAccessServiceAccountKeyPath
, la sectiongkeConnect
, la sectionstackdriver
, la sectioncloudAudigLogging
et la sectionusageMetering
. À ces endroits, remplacez les chemins d'accès aux fichiers de clé de compte de service.Enregistrez les modifications que vous avez apportées à l'aide des commandes suivantes :
gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --admin-cluster gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
Remplacez les éléments suivants :
COMPONENT
: l'une des valeurscomponentaccess
,register
,cloudauditlogging
,usagemetering
oustackdriver
.ADMIN_CLUSTER_KUBECONFIG
: chemin d'accès au fichier kubeconfig pour le cluster d'administrateur.ADMIN_CLUSTER_CONFIG
: chemin d'accès au fichier de configuration du cluster d'administrateur.USER_CLUSTER_CONFIG
: chemin d'accès au fichier de configuration du cluster d'utilisateur.
Restaurer des sauvegardes
Si vous devez restaurer les sauvegardes des secrets que vous avez créés précédemment, exécutez la commande suivante :
kubectl apply -f backup/