Clés de chiffrement gérées par le client (CMEK)

Par défaut, toutes les données au repos dans Firestore en mode Datastore sont chiffrées à l'aide du chiffrement par défaut de Google. Firestore en mode Datastore traite et gère ce chiffrement sans intervention de votre part.

Si vous avez des exigences réglementaires ou de conformité spécifiques liées aux clés qui protègent vos données, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) pour Firestore en mode Datastore. Au lieu de laisser Google gérer les clés de chiffrement qui protègent vos données, votre base de données Firestore en mode Datastore est protégée à l'aide d'une clé que vous contrôlez et gérez dans Cloud Key Management Service (Cloud KMS).

Cette page décrit le chiffrement CMEK pour Firestore en mode Datastore. Pour en savoir plus sur les CMEK en général, y compris quand et pourquoi les activer, consultez la documentation Cloud KMS. Pour obtenir des instructions sur l'exécution de tâches liées aux CMEK avec Firestore en mode Datastore, consultez la page Utiliser CMEK.

Fonctionnalités

  • Contrôle des données: une CMEK vous permet de gérer l'accès à la clé KMS. Vous pouvez alterner, désactiver et détruire la clé utilisée pour chiffrer les données au repos dans votre base de données Firestore en mode Datastore.
  • Performances: le chiffrement CMEK n'a aucune incidence sur le Contrat de niveau de service Firestore.
  • Possibilité d'auditer: si vous activez les journaux d'audit pour Cloud KMS, toutes les opérations effectuées sur la clé sont journalisées et visibles dans Cloud Logging.
  • Contraintes liées aux règles d'administration: vous pouvez utiliser des contraintes de règles d'administration CMEK pour spécifier les exigences de conformité du chiffrement pour Firestore dans les bases de données en mode Datastore de votre organisation.

Tarification

Cloud KMS facture le coût de la clé ainsi que toutes les opérations cryptographiques effectuées avec cette clé. Consultez les tarifs de Cloud KMS pour en savoir plus.

Les coûts des opérations vous sont facturés lorsque Firestore en mode Datastore demande à la clé Cloud KMS d'effectuer une opération de chiffrement ou de déchiffrement. Le chiffrement/déchiffrement n'est pas synchronisé avec votre requête. Elle est effectuée toutes les cinq minutes en interrogeant Cloud KMS. Les coûts sont généralement faibles, compte tenu du nombre attendu d'opérations de chiffrement générées par Firestore en mode Datastore. Les coûts associés à Cloud Audit Logs sont des dépenses supplémentaires, mais ils devraient également être généralement faibles compte tenu du nombre attendu d'opérations de chiffrement.

L'utilisation d'une base de données protégée par des clés CMEK n'entraîne pas de frais supplémentaires pour Firestore en mode Datastore et les tarifs de Firestore en mode Datastore continuent de s'appliquer.

Si vous révoquez la clé d'une base de données, le coût du stockage est facturé en fonction de la taille du dernier jour pendant lequel la clé était disponible. Des coûts de stockage continueront de vous être facturés pour cette taille de base de données jusqu'à ce que la base de données soit supprimée ou que la clé redevienne disponible.

Éléments protégés par CMEK

Lorsque vous créez une base de données Firestore protégée par une clé CMEK, votre clé Cloud KMS est utilisée pour protéger les données au repos. y compris celles stockées sur le disque ou la mémoire flash. Certaines exceptions s'appliquent. Les types de données suivants sont chiffrés avec le chiffrement Google par défaut et non par la clé CMEK:

  • Les données en transit ou en mémoire
  • Métadonnées de base de données

Traitement de l'état d'indisponibilité d'une clé

Les opérations de chiffrement et de déchiffrement ne sont pas émises pour chaque requête de données. À la place, le système Firestore interroge Cloud Key Management Service toutes les cinq minutes pour vérifier si la clé est toujours disponible, puis effectue des opérations de chiffrement et de déchiffrement si la clé est disponible. Si le système détecte que la clé n'est pas disponible, dans les 10 minutes, tout appel ultérieur à la base de données Firestore, y compris les lectures, les écritures et les requêtes, renvoie une erreur FAILED_PRECONDITION avec le message The customer-managed encryption key required by the requested resource is not accessible. Si la base de données dispose de règles de valeur TTL (Time To Live) et que des délais d'expiration sont dépassés alors que la clé est indisponible, la suppression des données par valeur TTL est retardée jusqu'à ce que la clé soit rétablie. Si des opérations de longue durée sont en cours dans la base de données, elles seront affectées comme suit:

  • Les opérations d'import ou d'exportation de données ne seront plus en cours et seront marquées comme Failed. Les opérations ayant échoué ne feront pas de nouvelles tentatives si la clé est rétablie.
  • Les opérations de compilation d'index et les opérations d'activation de nouvelles règles TTL cesseront de progresser. Les opérations arrêtées seront relancées si la clé est rétablie.

Une clé est considérée comme indisponible dans toute situation qui empêche intentionnellement Firestore d'y accéder. Notre offre comprend :

Si la clé est rétablie, l'opération d'interrogation détecte qu'elle est à nouveau disponible. La réactivation de l'accès est généralement effectuée en quelques minutes, mais peut prendre jusqu'à quelques heures dans de rares cas. Notez que la propagation de certaines opérations effectuées sur des clés Cloud KMS, telles que la désactivation ou la destruction d'une clé, peut prendre jusqu'à trois heures. Firestore ne détecte les modifications qu'après leur prise en compte dans Cloud KMS.

Le rétablissement d'une clé implique les opérations suivantes, selon la situation:

  • Réactivez une version de clé désactivée.
  • Restauration d'une version de clé détruite Avant d'être détruite définitivement, la destruction d'une version de clé est programmée. Vous ne pouvez restaurer une clé que pendant la période pendant laquelle la destruction d'une version de clé est programmée. Vous ne pouvez pas restaurer une clé qui a déjà été définitivement détruite.
  • Accordez de nouveau à l'agent de service Firestore l'autorisation d'accéder à la clé.

Remarques importantes concernant les clés externes

Lorsque vous utilisez une clé Cloud EKM, Google n'a aucun contrôle sur la disponibilité de votre clé gérée en externe dans le système partenaire de gestion des clés externes.

Si une clé gérée en externe n'est pas disponible, Firestore en mode Datastore continue d'accepter les opérations de base de données complètes à l'aide d'une version mise en cache de la clé, pendant une durée maximale d'une heure.

Au bout d'une heure, si Firestore en mode Datastore ne parvient toujours pas à se connecter à Cloud KMS, par mesure de protection, Firestore en mode Datastore commence à mettre la base de données hors connexion. Les appels à la base de données échoueront avec une erreur FAILED_PRECONDITION qui inclut des informations supplémentaires.

Pour en savoir plus sur l'utilisation de clés externes, consultez la documentation Cloud External Key Manager.

Limites

  • La modification de la clé d'une base de données protégée par une clé CMEK n'est pas acceptée. La rotation, l'activation et la désactivation des clés sont acceptées.
  • Les programmations de sauvegarde et les opérations de restauration ne sont pas compatibles avec les bases de données protégées par des clés CMEK. Vous pouvez utiliser la récupération à un moment précis (PITR) pour la reprise après sinistre.
  • Les bases de données protégées par des clés CMEK ne sont compatibles avec Key Visualizer que pour les données d'entité et de document, et non pour les données d'index.
  • Vous ne pouvez pas activer les CMEK sur des bases de données existantes. Vous ne pouvez activer CMEK que sur les nouvelles bases de données. Vous devez l'activer lorsque vous créez la base de données. Pour migrer les données d'une base de données non-CMEK existante vers une base de données protégée par une clé CMEK, exportez-les et importez-les dans une nouvelle base de données protégée par une clé CMEK.
  • Le suivi des clés n'est pas disponible pour les bases de données protégées par des clés CMEK.
  • Pendant la phase preview, Firestore n'acceptera qu'un nombre limité de bases de données protégées par des clés CMEK.

Étapes suivantes