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étruisez une version de clé, d'autres détails tels que le nom de la clé et le numéro de version de la clé ne sont pas supprimés. 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.
La seule exception est la réimportation de clé, qui vous permet de restaurer une clé précédemment importée en fournissant le même matériel de clé d'origine.
Étant donné que la destruction de clé est généralement irréversible, Cloud KMS ne vous permet pas de détruire immédiatement les versions de clé. Au lieu de cela, vous programmez la destruction d'une version de clé. La version de clé reste à l'état "Destruction programmée" state 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 de 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 de destruction programmée minimale en définissant la contrainte Durée minimale de destruction programmée par clé dans ses règles 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 dans le cadre de vos procédures visant à garantir que la clé peut être détruite en toute sécurité. En fonction des règles d'administration de votre organisation, vous devrez peut-être désactiver une version de clé avant de pouvoir programmer sa destruction. Pour en savoir plus sur le contrôle de la destruction des versions de clé à l'aide des règles d'administration, consultez la page Contrôler la destruction d'une version de clé.
Dans le reste de ce document, la programmation d'une clé pour destruction est appelée destruction de la clé, même si la destruction n'est pas immédiate.
Avant de commencer
Comprendre les risques
La destruction d'une version de clé est une opération permanente. La destruction d'une version de clé qui est encore nécessaire présente des risques, y compris les suivants :
Interruption de service : si vous détruisez une clé requise pour démarrer un conteneur ou une instance, vos services ou applications peuvent devenir indisponibles.
Perte définitive de données : si vous détruisez une clé qui a été utilisée pour chiffrer des données, ces données deviennent indisponibles. Les données chiffrées avec une clé qui a été détruite sont considérées comme déchiquetées par chiffrement. 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 Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Vérifier si la version de 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, rechiffrez-les avec une autre version de clé.
Activez les journaux pour tout service ou application susceptible d'utiliser la version de clé.
Activez les journaux sur le projet Cloud KMS contenant la clé.
Désactivez la version de clé. La désactivation de la version de clé empêche son utilisation. Lorsque la version de clé est désactivée, toute tentative d'utilisation échoue.
Surveillez les journaux jusqu'à ce que vous soyez sûr qu'aucune application ou aucun service ne repose plus sur la version de clé que vous avez désactivée. Si des erreurs indiquent un échec d'accès à la version de clé, configurez l'application ou la ressource pour qu'elle utilise une autre version de clé.
La durée de surveillance des journaux avant de détruire une version de clé dépend du type de clé, de son modèle d'utilisation et de son niveau de sensibilité. Par exemple, avant de détruire une version de clé utilisée dans un processus qui s'exécute tous les trimestres, désactivez-la jusqu'à ce que le processus se termine correctement.
Vérifiez l'utilisation de la clé par rapport aux exigences de conformité applicables. Par exemple, la version de clé et les données chiffrées avec celle-ci peuvent être soumises à des périodes de conservation des données.
Ces étapes vous aident à déterminer si une clé est encore nécessaire. Toutefois, elles ne peuvent pas garantir qu'une version de clé n'est plus nécessaire. Votre organisation doit mettre en œuvre des procédures et des consignes pour s'assurer que la destruction d'une version 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 Google Cloud console, 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 la version de clé que vous souhaitez détruire.KEY_NAME: nom de la clé contenant la version de clé que vous souhaitez détruire.KEY_RING: nom du trousseau de clés contenant la version de clé que vous souhaitez détruire.LOCATION: emplacement du trousseau de clés contenant la version de clé que vous souhaitez détruire.
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 et 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 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"
Remplacez les éléments suivants :
PROJECT_ID: identifiant du projet contenant la version de clé que vous souhaitez détruire.LOCATION: emplacement du trousseau de clés contenant la version de clé que vous souhaitez détruire.KEY_RING: nom du trousseau de clés contenant la version de clé que vous souhaitez détruire.KEY_NAME: nom de la clé contenant la version de clé que vous souhaitez détruire.KEY_VERSION: numéro de la version de clé que vous souhaitez détruire.
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 leur destruction. 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 configurée pour la clé écoulée, l'état de la version de clé devient "Détruite", ce qui signifie que la suppression logique du matériel de clé des systèmes actifs a commencé et que le client ne peut plus récupérer le matériel de clé. Le matériel de clé peut rester dans les systèmes Google jusqu'à 45 jours à compter de l' heure de destruction programmé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 clé. Une fois la période Destruction programmée é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 clé Cloud EKM détruite, vous pouvez détruire le matériel de clé dans le gestionnaire de clés externe.
La destruction d'une version de clé externe coordonnée dans Cloud KMS détruit d'abord la version de clé dans Google Cloud, puis envoie une requête de destruction à 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
Dans la Google Cloud console, accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés contenant la version de clé que vous souhaitez restaurer.
Cliquez sur la clé contenant la version de clé que vous souhaitez restaurer.
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_NAME \
--keyring KEY_RING \
--location LOCATION
Remplacez les éléments suivants :
KEY_VERSION: numéro de la version de clé que vous souhaitez restaurer.KEY_NAME: nom de la clé contenant la version de clé que vous souhaitez restaurer.KEY_RING: nom du trousseau de clés contenant la version de clé que vous souhaitez restaurer.LOCATION: emplacement du trousseau de clés contenant la version de clé que vous souhaitez restaurer.
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 et 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 CryptoKeyVersions.restore.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:restore" \
--request "POST" \
--header "authorization: Bearer TOKEN"
Remplacez les éléments suivants :
PROJECT_ID: identifiant du projet contenant la version de clé que vous souhaitez restaurer.LOCATION: emplacement du trousseau de clés contenant la version de clé que vous souhaitez restaurer.KEY_RING: nom du trousseau de clés contenant la version de clé que vous souhaitez restaurer.KEY_NAME: nom de la clé contenant la version de clé que vous souhaitez restaurer.KEY_VERSION: numéro de la version de clé que vous souhaitez restaurer.
Une fois la requête de restauration terminée, l'état de la version de clé devient "Désactivée". 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é client de toute l'infrastructure Google dans les 45 jours suivant l'heure 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 calendrier de suppression standard Google Cloud de 180 jours.