Cette page vous explique comment programmer la destruction définitive d'une version de clé Cloud Key Management Service. Dans Cloud KMS, le matériel de clé cryptographique que vous utilisez pour chiffrer, déchiffrer, signer et valider les données est stocké dans une version de clé. Une clé comporte zéro ou plusieurs versions de clé. Lorsque vous effectuez une rotation de clé, vous créez une nouvelle version de clé.
La destruction d'une version de clé signifie que le matériel de clé est définitivement supprimé. Lorsque vous détruissez une version de clé, d'autres informations telles que le nom et le numéro de version de la clé ne sont pas supprimées. Une fois qu'une clé est détruite, les données chiffrées avec la version de clé ne peuvent plus être déchiffrées.
Étant donné que la destruction de clés est irréversible, Cloud KMS ne vous permet pas de détruire immédiatement les versions de clé. Vous devez plutôt programmer la destruction d'une version de clé. La version de clé reste à l'état de destruction programmée pendant une durée configurable. Pendant la durée de destruction programmée, vous pouvez restaurer une version de clé pour annuler sa destruction.
La durée avant destruction programmée par défaut est de 30 jours. Vous pouvez définir une durée de destruction programmée personnalisée pour une clé lors de sa création. Votre organisation peut appliquer une durée minimale avant la destruction programmée en définissant la contrainte Durée de suppression planifiée minimale par clé dans vos règles d'administration d'administration.
Vous pouvez également gérer l'accès à la clé à l'aide d'Identity and Access Management (IAM). Les opérations IAM sont cohérentes en quelques secondes. Pour en savoir plus, consultez la page Utiliser Cloud IAM.
Vous pouvez également désactiver temporairement une version de clé. Nous vous recommandons de désactiver les versions de clé avant de les programmer pour destruction, afin de vous assurer qu'elles peuvent être détruites en toute sécurité. Selon les règles de votre organisation, vous devrez peut-être désactiver une version de clé avant de pouvoir la programmer pour destruction. Pour en savoir plus sur le contrôle de la destruction des versions de clé à l'aide de règles d'administration, consultez la section Contrôler la destruction des versions de clé.
Dans la suite de ce document, "détruire la clé" désigne la programmation de la destruction d'une clé, et non sa destruction immédiate.
Avant de commencer
Comprendre les risques
La destruction d'une version de clé est une opération définitive. Détruire une version de clé qui est toujours nécessaire présente des risques, y compris les suivants:
Panne de service: si vous supprimez une clé requise pour démarrer un conteneur ou une instance, vos services ou applications peuvent devenir indisponibles.
Perte de données définitive: si vous détruisez une clé utilisée pour chiffrer des données, ces données deviennent indisponibles. Les données chiffrées à l'aide d'une clé détruite sont considérées comme déchiquetées de manière cryptographique. Dans certains cas, la destruction d'une clé peut entraîner la suppression définitive des ressources chiffrées.
Problèmes réglementaires ou de conformité: si vous détruisez une clé requise pour accéder à des données soumises à une période de conservation avant la fin de cette période, vous risquez de ne pas respecter une exigence réglementaire ou de conformité.
Rôles requis
Pour obtenir les autorisations nécessaires pour détruire et restaurer des versions de clé, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Cloud KMS (roles/cloudkms.admin
) sur la clé.
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.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Vérifier si la version de la clé est utilisée
Avant de détruire une version de clé, procédez comme suit pour vérifier si elle est utilisée:
Affichez les détails du suivi de l'utilisation des clés pour la clé. Si des ressources sont protégées par la version de clé que vous souhaitez détruire, chiffrez-les à nouveau avec une autre version de clé.
Activez les journaux pour tout service ou application pouvant utiliser la version de clé.
Activez les journaux sur le projet Cloud KMS qui contient la clé.
Désactivez la version de clé. Désactiver la version de clé empêche son utilisation. Lorsque la version de clé est désactivée, toutes les tentatives d'utilisation de la version de clé échouent.
Surveillez les journaux jusqu'à ce que vous soyez sûr qu'aucune application ni aucun service ne dépend encore de la version de clé que vous avez désactivée. Si des erreurs indiquent un accès à la version de clé ayant échoué, configurez l'application ou la ressource pour qu'elle utilise une autre version de clé.
La durée pendant laquelle vous surveillez les journaux avant de détruire une version de clé dépend du type de clé, de son schéma d'utilisation et de son niveau de sensibilité. Par exemple, avant de détruire une version de clé utilisée dans un processus exécuté tous les trimestres, laissez-la désactivée jusqu'à ce que ce processus se termine correctement.
Vérifiez que l'utilisation de la clé est conforme aux exigences de conformité applicables. Par exemple, la version de clé et les données chiffrées avec elle peuvent être soumises à des périodes de conservation des données.
Ces étapes vous aident à déterminer si une clé peut encore être nécessaire. Toutefois, elles ne peuvent pas garantir qu'une version de clé n'est plus nécessaire. Votre organisation doit mettre en place des procédures et des consignes pour s'assurer que la destruction des versions de clé n'aura pas d'effets négatifs.
Détruire une version de clé
Vous pouvez détruire une version de clé activée ou désactivée.
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Cochez l'option située à côté de la version de clé dont vous souhaitez programmer la destruction.
Cliquez sur Détruire dans l'en-tête.
Dans l'invite de confirmation, saisissez le nom de la clé, puis cliquez sur Programmer la destruction.
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 destroy KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
Remplacez les éléments suivants :
KEY_VERSION
: numéro de version de la clé que vous souhaitez détruire.KEY_NAME
: nom de la clé pour laquelle vous souhaitez détruire une version de 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.
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.
Détruisez une version de clé en appelant la méthode CryptoKeyVersions.destroy.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:destroy" \ --request "POST" \ --header "authorization: Bearer TOKEN"
Si vous ne parvenez pas à détruire une version de clé, votre organisation peut exiger que les versions de clé soient désactivées avant d'être détruites. Essayez de désactiver la version de clé avant de la détruire.
Lorsque vous envoyez la requête de destruction, l'état de la version de clé devient "Destruction programmée". Une fois la durée de destruction programmée de la clé écoulée, l'état de la version de clé devient "Destroyed" (Détruite), ce qui signifie que la suppression logique du matériel de clé des systèmes actifs a commencé et que le matériel de clé ne peut plus être récupéré par le client. Le matériel de clé peut rester dans les systèmes Google jusqu'à 45 jours à compter de la date de destruction planifiée.
Pour recevoir une alerte lorsque la destruction d'une version de clé est programmée, consultez la page Utiliser Cloud Monitoring avec Cloud KMS.
Les versions de clé détruites ne sont pas des ressources facturées.
Détruire des clés externes
Pour supprimer définitivement l'association entre une clé Cloud EKM et une clé externe, vous pouvez détruire la version de la clé. Une fois la période Programmée pour destruction écoulée, la clé est détruite. Une fois la version de clé détruite, vous ne pouvez plus chiffrer, ni déchiffrer des données chiffrées avec la version de clé Cloud EKM.
La destruction d'une version de clé gérée manuellement dans Cloud KMS ne modifie pas la clé dans le gestionnaire de clés externe. Nous vous recommandons de commencer par détruire la clé ou la version de clé dans Google Cloud. Une fois la version de la clé Cloud EKM détruite, vous pouvez détruire le matériel de clé dans le gestionnaire de clés externe.
Lorsque vous détruissez une version de clé externe coordonnée dans Cloud KMS, la version de clé est d'abord détruite dans Google Cloud, puis une demande de destruction est envoyée à l'EKM pour détruire le matériel de clé externe.
Restaurer une version de clé
Durant la période où l'état d'une version de clé est "Destruction programmée", vous pouvez restaurer la version de clé en envoyant une requête de restauration.
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 restaurer la version.
Cliquez sur la clé dont vous souhaitez restaurer la version.
Cochez l'option située à côté de la version de clé que vous souhaitez restaurer.
Cliquez sur Restaurer dans l'en-tête.
Dans l'invite de confirmation, cliquez sur Restaurer.
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 restore key-version \ --key key \ --keyring key-ring \ --location location
Remplacez key-version par la version de la clé à restaurer. Remplacez key par le nom de la clé. Remplacez key-ring par le nom du trousseau de clés où se trouve la clé. Remplacez location par l'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.
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.
Restaurez une version de clé en appelant la méthode CryptoKeyVersions.restore.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings/key-ring-id/cryptoKeys/crypto-key-id/cryptoKeyVersions/version-id:restore" \ --request "POST" \ --header "authorization: Bearer token"
Une fois la requête de restauration terminée, l'état de la version de clé devient désactivé. Vous devez activer la clé avant de pouvoir l'utiliser.
Autorisations IAM requises
Pour détruire une version de clé, l'appelant doit disposer de l'autorisation IAM cloudkms.cryptoKeyVersions.destroy
sur la clé, le trousseau de clés, ou sur le projet, le dossier ou l'organisation.
Pour restaurer une version de clé, l'appelant doit disposer de l'autorisation cloudkms.cryptoKeyVersions.restore
.
Ces deux autorisations sont accordées au rôle d'administrateur Cloud KMS (roles/cloudkms.admin
).
Calendrier de suppression
Cloud KMS s'engage à supprimer le matériel de clé du client de l'ensemble de l'infrastructure Google dans les 45 jours suivant la date de destruction programmée. Cela inclut la suppression des données des systèmes actifs et des sauvegardes du centre de données. Les autres données client sont soumises au délai de suppression Google Cloud standard de 180 jours.