Cette page vous explique comment planifier 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 la rotation d'une clé, vous créez une version de clé.
La destruction d'une version de clé entraîne la suppression définitive du matériel de clé. Lorsque vous détruisez une version de clé, les 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 qui ont été 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.
La destruction des clés étant généralement irréversible, Cloud KMS ne vous permet pas de détruire immédiatement les versions de clé. À la place, vous planifiez la destruction d'une version de clé. La version de clé reste dans l'état "Destruction programmée" pendant une durée configurable. Pendant la période de destruction planifiée, vous pouvez restaurer une version de clé pour annuler sa destruction.
La durée par défaut de la programmation de la destruction est de 30 jours. Vous pouvez définir une durée de suppression planifiée personnalisée pour une clé lors de sa création. Votre organisation peut appliquer une durée minimale de 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 que la clé peut être détruite en toute sécurité. Selon vos règles d'administration, vous devrez peut-être désactiver une version de clé avant de pouvoir planifier sa destruction. Pour en savoir plus sur le contrôle de la destruction des versions de clé à l'aide de règles d'administration, consultez Contrôler la destruction des versions de clé.
Dans la suite de ce document, la programmation de la destruction d'une clé 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 toujours nécessaire comporte des risques, y compris les suivants :
Panne 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 de données permanente : si vous détruisez une clé 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 crypto-détruites. Dans certains cas, la destruction d'une clé peut entraîner la suppression définitive des ressources chiffrées.
Problèmes de réglementation 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 d'enfreindre 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 de 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 qui contient 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 de la version de clé échoue.
Surveillez les journaux jusqu'à ce que vous soyez sûr qu'aucune application ni aucun service ne dépendent encore de 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 la destruction d'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, laissez la version de clé désactivée jusqu'à ce que ce 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é 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 œuvre des procédures et des consignes pour s'assurer que la destruction de la 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 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 la 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, découvrez d'abord comment utiliser PHP sur Google Cloud et installez le SDK PHP Cloud KMS.
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"
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é, il est possible que votre organisation exige 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 demande de destruction, l'état de la version de clé passe à "Destruction programmée". Une fois que la durée de destruction programmée configurée de la clé est écoulée, l'état de la version de la 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 matériel de clé ne peut pas être récupéré par le client. Les données de clé peuvent rester dans les systèmes Google pendant 45 jours maximum à 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 la 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é
Pendant 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 demande de restauration.
Console
Dans la console Google Cloud , 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 la 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, découvrez d'abord comment utiliser PHP sur Google Cloud et installez le SDK PHP Cloud KMS.
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/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 demande 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, 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 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 des centres de données. Les autres données client sont soumises au Google Cloud délai de suppression standard de 180 jours.