Effectuer une rotation des clés de compte de service

10

Cette page explique comment effectuer une rotation des clés de votre compte de service à l'aide de gkectl pour les composants des journaux d'audit Cloud, de la mesure de l'utilisation et de Stackdriver sur Anthos clusters on VMware (GKE On-Prem).

Pour effectuer la rotation des clés de votre compte de service, procédez comme suit :

  1. Créez un répertoire pour stocker une sauvegarde de vos secrets actuels :

    mkdir backup
  2. Notez les informations suivantes pour le composant concerné :

    Journaux d'audit Cloud

    Cluster Secret son espace de noms.
    Administration 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 son espace de noms.
    Administration user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt
    Utilisateur usage-metering-bigquery-service-account-key kube-system

    Stackdriver

    Cluster Secret son espace de noms.
    Administration 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
  3. 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 composant des journaux d'audit Cloud :

    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
  4. 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 :

  5. Dans les fichiers de configuration correspondants pour le cluster d'administrateur et les clusters d'utilisateur, recherchez la section cloudauditlogging, usagemetering ou stackdriver.

  6. Remplacez le champ serviceAccountKeyPath par le NEW_KEY_FILE que vous avez créé précédemment.

  7. Enregistrez les modifications que vous avez apportées à l'aide des commandes suivantes :

    gkectl update credentials COMPONENT --admin-cluster --kubeconfig \
      ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    
    gkectl update credentials COMPONENT --kubeconfig \
       ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG

    Remplacez les éléments suivants :

    • COMPONENT : cloudauditlogging, usagemetering, ou stackdriver.
    • 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.