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 des clés, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre clé:
-
Administrateur Cloud KMS (
roles/cloudkms.admin
) -
Re-chiffrer les données :
Chiffreur/Déchiffreur de CryptoKeys Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
)
Pour en savoir plus sur l'attribution de rôles, consultez la page 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 des 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 chiffrer à nouveau les données par lui-même. Les utilisateurs disposant des rôles "Administrateur Cloud KMS" et "Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS" peuvent travailler ensemble pour faire pivoter les clés et rechiffrer les données. Suivez le principe du moindre privilège lorsque vous attribuez des rôles. Pour en savoir plus, consultez la section 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 la section 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. Détruire les versions de clé qui ne sont plus nécessaires permet de réduire les coûts.
Configurer la rotation automatique
Pour configurer la rotation automatique lors de la création d'une clé, procédez comme suit :
Console
Lorsque vous créez une clé via la console Google Cloud, 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 de spécifier des valeurs différentes.
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) :
Pour 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 pour Starting on (Début à) afin de démarrer la première rotation automatique une période de rotation des clés à compter de la création de la clé.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de 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,30d
pour 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 à partir duquel effectuer la première rotation (par exemple,2023-01-01T01:02:03
). Vous pouvez omettre--next-rotation-time
pour planifier la première rotation pendant une période de rotation à compter 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.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Pour créer une clé, utilisez la méthode CryptoKey.create
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Remplacez les éléments suivants :
PURPOSE
: objectif de la clé.ROTATION_PERIOD
: intervalle de rotation de la clé (par exemple,30d
pour 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 à partir duquel effectuer la première rotation (par exemple,2023-01-01T01:02:03
). Pour en savoir plus, consultez la sectionCryptoKey.nextRotationTime
.
Pour configurer la rotation automatique sur une clé existante, procédez comme suit :
Console
Accédez à la page Gestion des clés dans la console Google Cloud.
Cliquez sur le nom du trousseau de clés contenant la clé pour laquelle vous souhaitez ajouter un calendrier de rotation.
Cliquez sur la clé à laquelle vous souhaitez ajouter un calendrier de rotation.
Dans l'en-tête, cliquez sur Modifier la période de rotation.
Dans l'invite, choisissez de nouvelles valeurs pour les champs Période de rotation et Rotation à partir du.
Dans l'invite, cliquez sur Enregistrer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud kms keys update KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --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,30d
pour 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 à utiliser pour effectuer la prochaine rotation (par exemple,2023-01-01T01:02:03
). Vous pouvez omettre--next-rotation-time
pour planifier la prochaine 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.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Pour mettre à jour une clé, utilisez la méthode CryptoKey.patch
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Remplacez les éléments suivants :
ROTATION_PERIOD
: intervalle de rotation de la clé (par exemple,30d
pour 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 à utiliser pour effectuer la prochaine rotation (par exemple,2023-01-01T01:02:03
). Pour en savoir plus, consultez la sectionCryptoKey.nextRotationTime
.
Effectuer une rotation manuelle d'une clé
Commencez par créer une nouvelle version de clé :
Console
Accédez à la page Gestion des clés dans la console Google Cloud.
Cliquez sur le nom du trousseau de clés contenant la clé pour laquelle vous souhaitez créer une nouvelle version.
Cliquez sur la clé pour laquelle vous souhaitez créer une nouvelle version.
Dans l'en-tête, cliquez sur Effectuer une rotation.
Dans l'invite, cliquez sur Effectuer une rotation pour confirmer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
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.
Les versions de clé sont numérotées dans l'ordre.
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.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Pour effectuer une rotation manuelle d'une clé, commencez par créer une version de clé en appelant la méthode CryptoKeyVersions.create.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \ --request "POST" \ --header "authorization: Bearer TOKEN"
Cette commande crée une version de clé, mais ne la définit pas comme version principale.
Pour définir votre nouvelle version de clé comme version principale, consultez Définir une version de clé existante comme version de clé principale.
Si nécessaire, rechiffrez les données qui ont été chiffrées à l'aide de la version de clé précédente.
Définir une version existante comme version de clé primaire
Pour définir une version de clé différente comme version primaire pour une clé, mettez à jour la clé avec les informations de la nouvelle version primaire. Une version de clé doit être activée avant de pouvoir la configurer comme version primaire.
Console
Accédez à la page Gestion des clés dans la console Google Cloud.
Cliquez sur le nom du trousseau de clés contenant la clé dont vous souhaitez mettre à jour la version primaire.
Cliquez sur la clé dont vous souhaitez mettre à jour la version primaire.
Sur la ligne correspondant à la version de clé que vous souhaitez utiliser comme version primaire, cliquez sur Afficher plus
.Cliquez sur Définir comme version primaire dans le menu.
Dans l'invite de confirmation, cliquez sur Définir comme version primaire.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary-version KEY_VERSION
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.- KEY_VERSION: numéro de version de la nouvelle clé primaire.
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.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Modifiez la version de la clé principale en appelant la méthode CryptoKey.updatePrimaryVersion.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME:updatePrimaryVersion" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"cryptoKeyVersionId": "KEY_VERSION"}'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant le trousseau de clés.LOCATION
: emplacement Cloud KMS du trousseau de clés.KEY_RING
: nom du trousseau de clés qui inclut la cléKEY_NAME
: nom de la clé.- KEY_VERSION: numéro de version de la nouvelle clé primaire.
Lorsque vous modifiez la version de clé primaire, la modification devient généralement cohérente en une minute. Toutefois, dans des cas exceptionnels, la propagation de cette modification peut prendre jusqu'à trois heures. Pendant ce temps, la version principale précédente peut être utilisée pour chiffrer les données. Pour en savoir plus, consultez la page Cohérence des ressources Cloud KMS.
Désactiver la rotation automatique
Pour désactiver la rotation automatique sur une clé, effacez le calendrier de rotation de la clé :
Console
Accédez à la page Gestion des clés dans la console Google Cloud.
Cliquez sur le nom du trousseau de clés contenant la clé pour laquelle vous souhaitez supprimer le calendrier de rotation.
Cliquez sur la clé à partir de laquelle vous souhaitez supprimer le calendrier de rotation.
Dans l'en-tête, cliquez sur Modifier la période de rotation.
Dans l'invite, cliquez sur le champ Période de rotation, puis sélectionnez Jamais (rotation manuelle).
Dans l'invite, cliquez sur Enregistrer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
gcloud kms keys update KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --remove-rotation-schedule
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.
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.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Pour mettre à jour une clé, utilisez la méthode CryptoKey.patch
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \ --request "PATCH" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"rotationPeriod": null, "nextRotationTime": null}'
Pour en savoir plus sur rotationPeriod
et nextRotationTime
, consultez keyRings.cryptoKeys
.
Effectuer une rotation de clé externe
Effectuer une rotation d'une clé externe coordonnée
Vous pouvez configurer la rotation automatique pour les clés externes coordonnées symétriques. Vous pouvez également créer manuellement une version de clé pour des clés externes coordonnées symétriques ou asymétriques.
Si vous modifiez ou créez une version de clé, toutes les données nouvellement créées protégées par cette clé sont chiffrées avec la nouvelle version de clé. Les données protégées par une version de clé précédente ne sont pas rechiffrées. Par conséquent, votre gestionnaire de clés externe doit continuer à mettre à disposition le matériel de clé de la version de clé précédente.
Pour créer une version de clé pour une clé externe coordonnée, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Sélectionnez le trousseau de clés, puis la clé.
Cliquez sur Créer une version. Un message indique que votre nouvelle version de clé sera générée à la fois dans Cloud KMS et dans votre EKM. Si un champ Chemin de clé ou URI de clé s'affiche, la clé sélectionnée n'est pas une clé externe coordonnée.
Pour confirmer que vous souhaitez créer une version de clé, cliquez sur Créer une version.
La nouvelle version de clé apparaît avec l'état Génération en attente. Pour les clés symétriques, les versions de clé créées manuellement ne sont pas automatiquement définies comme version de clé principale. Vous pouvez définir votre nouvelle version de clé comme primaire.
CLI gcloud
Pour créer une version de clé symétrique et la définir comme version de clé principale, exécutez la commande kms keys versions create
avec l'option --primary
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary
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.
Pour créer une version de clé asymétrique ou une version de clé symétrique qui n'est pas la version de clé principale, utilisez la commande kms keys versions
create
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
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.
Effectuer la rotation d'un EKM Cloud géré manuellement via une clé VPC
Commencez par effectuer une rotation du matériel de clé externe dans votre gestionnaire de clés externe. Si un nouveau chemin d'accès à la clé est généré, vous devez effectuer la rotation ou créer une nouvelle version de clé Cloud EKM avec le nouveau chemin d'accès à la clé. Pour les clés de chiffrement symétriques, alternez la clé Cloud EKM et spécifiez le nouveau chemin d'accès de la clé à partir de votre gestionnaire de clés externe. Pour les clés asymétriques, créez une version de clé et spécifiez le nouveau chemin de clé.
Si vous modifiez ou créez une version de clé, toutes les données nouvellement créées protégées par cette clé sont chiffrées avec la nouvelle version de clé. Les données protégées par une version de clé précédente ne sont pas rechiffrées. Par conséquent, votre gestionnaire de clés externe doit continuer à mettre à disposition le matériel de clé de la version de clé précédente.
Si le matériel de la clé dans le système partenaire de gestion des clés externes ne change pas, mais que le chemin d'accès de la clé change, vous pouvez mettre à jour le chemin d'accès externe de la clé sans effectuer la rotation de la clé.
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Sélectionnez le trousseau de clés, puis la clé.
Cliquez sur Effectuer une rotation de la clé.
Dans Chemin d'accès de la clé, saisissez le chemin d'accès de la nouvelle version.
Cliquez sur Effectuer une rotation pour confirmer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour la dernière version de Google Cloud CLI.
Pour créer une version de clé symétrique et la définir comme version de clé principale, exécutez la commande kms keys versions create
avec l'option --primary
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH \ --primary
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.EXTERNAL_KEY_PATH
: chemin d'accès à la nouvelle version de la clé externe.
Pour créer une version de clé asymétrique ou une version de clé symétrique qui n'est pas la version de clé principale, utilisez la commande kms keys versions
create
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --ekm-connection-key-path EXTERNAL_KEY_PATH
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.EXTERNAL_KEY_PATH
: chemin d'accès à la nouvelle version de la clé externe.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help
.
Une fois la version de clé créée, vous pouvez l'utiliser comme n'importe quelle autre version de clé Cloud KMS.
Faire pivoter un Cloud EKM géré manuellement via une clé Internet
Commencez par effectuer une rotation du matériel de clé externe dans votre gestionnaire de clés externe. Si un nouvel URI est généré, vous devez effectuer une rotation ou créer une nouvelle version de clé Cloud EKM avec le nouvel URI. Pour les clés de chiffrement symétriques, effectuez une rotation de la clé Cloud EKM et spécifiez le nouvel URI de clé à partir de votre gestionnaire de clés externe. Pour les clés asymétriques, créez une version de clé et spécifiez le nouvel URI de clé.
Si vous modifiez ou créez une version de clé, toutes les données nouvellement créées protégées par cette clé sont chiffrées avec la nouvelle version de clé. Les données protégées par une version de clé précédente ne sont pas rechiffrées. Par conséquent, votre gestionnaire de clés externe doit continuer à mettre à disposition le matériel de clé de la version de clé précédente.
Si le matériel de la clé dans le système partenaire de gestion des clés externes ne change pas, mais que l'URI change, vous pouvez mettre à jour l'URI externe de la clé sans effectuer la rotation de la clé.
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Sélectionnez le trousseau de clés, puis la clé.
Sélectionnez Rotate key (Remplacer la clé) pour les clés symétriques ou Create version (Créer une version) pour les clés asymétriques.
Saisissez le nouvel URI de clé, puis sélectionnez Effectuer une rotation de clé pour les clés symétriques ou Créer une version pour les clés asymétriques.
La nouvelle version de clé devient la version primaire.
CLI gcloud
Pour créer une version de clé symétrique et la définir comme version de clé principale, exécutez la commande kms keys versions create
avec l'option --primary
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI \ --primary
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.EXTERNAL_KEY_URI
: URI de clé de la nouvelle version de clé externe.
Pour créer une version de clé asymétrique ou une version de clé symétrique qui n'est pas la version de clé principale, utilisez la commande kms keys versions
create
:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI
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.EXTERNAL_KEY_URI
: URI de clé de la nouvelle version de clé externe.
Étape suivante
- Après avoir fait pivoter une clé, vous pouvez rechiffrer les données qui étaient chiffrées avec cette clé.
- Une fois que vous avez rechiffré vos données, vous pouvez vérifier si la version de clé est utilisée.
- Une fois que vous avez vérifié qu'une version de clé n'est plus utilisée, vous pouvez la détruire.