Ce document explique comment faire la rotation d'une clé racine. Si votre clé racine est compromise ou si vous choisissez de la faire tourner régulièrement pour renforcer la sécurité, vous pouvez la remplacer par une nouvelle clé racine à l'aide de la ressource RotationJob
.
La rotation d'une clé racine permet de créer une clé racine, qui devient la clé principale et encapsule toutes les clés non racines. Vous ne pouvez pas supprimer une clé racine. La rotation est le seul moyen de la remplacer. Pour en savoir plus sur les clés racine, consultez Types de clés racine.
Consultez la présentation de l'API KMS pour en savoir plus sur l'API KMS et l'API KRM Key Management Service pour afficher la définition complète de l'API.
Avant de commencer
Avant de continuer, assurez-vous de disposer des éléments suivants :
La commande
kubectl
configurée pour accéder au serveur de l'API Management. Pour ce faire, obtenez un fichier kubeconfig à l'aide de l'interface de ligne de commande (CLI) gdcloud.Le rôle d'administrateur des jobs de rotation KMS. Pour obtenir les autorisations nécessaires pour faire pivoter les clés, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Administrateur des tâches de rotation KMS (
kms-rotationjob-admin
).
Effectuer la rotation d'une clé racine
Pour créer une clé racine et faire une rotation de vos clés, procédez comme suit :
Créez un fichier YAML, puis ajoutez-y la ressource
RotationJob
et le contenu suivant :apiVersion: "kms.gdc.goog/v1" kind: RotationJob metadata: name: ROTATION_NAME spec: rootKeyResourceName: ROOT_KEY_RESOURCE_NAME
Remplacez ROTATION_NAME par le nom du job de rotation, par exemple
rotate-job1
.Remplacez ROOT_KEY_RESOURCE_NAME par le nom de la clé racine spécifié au format
namespace/NAMESPACE/secrets/ROOT_KEY_NAME
.Par exemple,
namespaces/kms-system/secrets/ctm-root
.Appliquez le contenu du fichier YAML au KMS :
kubectl apply -f FILENAME.yaml
Remplacez FILENAME par le nom du fichier YAML.
Après l'exécution de la commande, KMS crée une clé racine et fait une rotation de chaque clé avec la nouvelle clé racine.
Pour vérifier que la rotation des clés racine est terminée, exécutez la commande suivante :
kubectl get rotationjobs ROTATION_NAME
Remplacez ROTATION_NAME par le nom du job de rotation.
Une fois la commande exécutée, l'état du job de rotation s'affiche sous la forme
Completed
en cas de réussite.Supprimez l'annotation
Done
de la clé racine. La suppression de l'annotation vous permet de faire pivoter la clé plusieurs fois. Votre opérateur d'infrastructure (IO) doit effectuer cette étape. Demandez à votre IO d'exécuter la commande suivante :kubectl annotate secret kms-key-ROOT_KEY_NAME -n kms-system gdch.cluster.gke.io/rotation-status-