Cette page explique comment effectuer la rotation automatique ou manuelle d'une clé. Pour en savoir plus sur la rotation des clés en général, consultez la page Rotation des clés.
Rôles requis
Pour obtenir les autorisations nécessaires pour faire pivoter les clés, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre clé :
- Administrateur Cloud KMS (
roles/cloudkms.admin) -
Chiffrer à nouveau les données :
Chiffreur/Déchiffreur de CryptoKeys Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour faire pivoter les clés. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour faire pivoter les clés :
-
Modifier la version de la clé primaire :
cloudkms.cryptoKeys.update -
Modifier ou désactiver la rotation automatique :
cloudkms.cryptoKeys.update -
Créer une version de clé :
cloudkms.cryptoKeyVersions.create -
Désactivez les anciennes versions de clé :
cloudkms.cryptoKeyVersions.update -
Rechiffrer des données :
-
cloudkms.cryptoKeyVersions.useToDecrypt -
cloudkms.cryptoKeyVersions.useToEncrypt
-
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Un seul utilisateur disposant d'un rôle personnalisé contenant toutes ces autorisations peut faire pivoter les clés et rechiffrer les données lui-même. Les utilisateurs disposant du rôle Administrateur Cloud KMS et du rôle Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS peuvent collaborer pour faire pivoter les clés et rechiffrer les données. Respectez le principe du moindre privilège lorsque vous attribuez des rôles. Pour en savoir plus, consultez Autorisations et rôles.
Lors de la rotation d'une clé, les données chiffrées avec les versions de clé précédentes ne sont pas automatiquement rechiffrées. Pour en savoir plus, consultez Déchiffrer et rechiffrer. La rotation d'une clé n'entraîne ni la désactivation, ni la destruction automatique d'aucune version de clé existante. La destruction des versions de clé inutiles permet de réduire les coûts.
Configurer la rotation automatique
Créer une clé avec un calendrier de rotation personnalisé
Pour configurer la rotation automatique lors de la création d'une clé, procédez comme suit :
Console
Lorsque vous utilisez la console Google Cloud pour créer une clé, Cloud KMS définit automatiquement la période de rotation et la prochaine date de rotation. Vous pouvez choisir d'utiliser les valeurs par défaut ou d'en spécifier d'autres.
Pour spécifier une période de rotation et une date de début différentes, effectuez la procédure de création de la clé, mais effectuez les étapes ci-dessous avant de cliquer sur le bouton Create (Créer) :
Dans le champ Période de rotation des clés, sélectionnez une option.
Pour À partir du, sélectionnez la date à laquelle vous souhaitez que la première rotation automatique ait lieu. Vous pouvez laisser la valeur par défaut de À partir du pour que la première rotation automatique commence une période de rotation des clés après la création de la clé.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour Google Cloud CLI.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--rotation-period ROTATION_PERIOD \
--next-rotation-time NEXT_ROTATION_TIME
Remplacez les éléments suivants :
KEY_NAME: nom de la clé.KEY_RING: nom du trousseau de clés qui inclut la cléLOCATION: emplacement Cloud KMS du trousseau de clés.ROTATION_PERIOD: intervalle de rotation de la clé (par exemple,30dpour effectuer une rotation de la clé tous les 30 jours). La période de rotation doit être d'au moins un jour et d'au plus 100 ans. Pour en savoir plus, consultez CryptoKey.rotationPeriod.NEXT_ROTATION_TIME: code temporel auquel effectuer la première rotation, par exemple2023-01-01T01:02:03. Vous pouvez omettre--next-rotation-timepour programmer la première rotation pour une période de rotation à partir du moment où vous exécutez la commande. Pour en savoir plus, consultez la page concernantCryptoKey.nextRotationTime
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help.
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C#, puis installez le SDK Cloud KMS pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go, puis installez le SDK Cloud KMS pour Go.