Présentation des clés de chiffrement gérées par le client (CMEK)

Par défaut, toutes les données au repos dans Google Cloud, y compris les données Spanner est protégé par Chiffrement par défaut de Google : Google Cloud traite et gère ce chiffrement par défaut 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) Spanner. Au lieu de laisser Google posséder et gérer le chiffrement qui protègent vos données, la base de données Spanner est protégée à l'aide d'une clé contrôler et gérer dans Cloud Key Management Service (KMS). Il peut s'agir clé symétrique, une clé Cloud HSM ou Clé Cloud External Key Manager.

Les CMEK ne sont pas compatibles avec les configurations d'instances personnalisées.

Cette page décrit le chiffrement CMEK pour Spanner. Pour en savoir plus sur les CMEK général, y compris quand et pourquoi l'activer, consultez la Documentation Cloud KMS

Fonctionnalités

  • Contrôle des accès aux données:les administrateurs peuvent alterner les accès, désactiver ou détruire la clé servant à protéger les données au repos dans Spanner.
  • Possibilité de réaliser des audits:si vous Activer les journaux d'audit pour l'API Cloud KMS dans votre projet, toutes les actions sur la clé, y compris celles effectuées par Spanner, sont enregistrés et visibles Cloud Logging : Les clés Cloud EKM sont compatibles avec Key Access Justifications, qui ajoute un champ de justification à toutes les requêtes de clé. Avec certains partenaires de gestion de clés externes, vous pouvez approuver ou refuser automatiquement ces demandes, en fonction de leur justification.
  • Performances:les performances de Spanner et les contrat de niveau de service.

Tarifs

Spanner facture les bases de données utilisant CMEK comme n'importe quelle autre base de données. CANNOT TRANSLATE n'entraînent aucun coût supplémentaire pour Spanner. Pour en savoir plus, consultez Tarifs de Spanner

Cloud KMS vous facture à la fois le coût de la clé et les éventuels les opérations cryptographiques exécutées sur cette clé (chaque fois que Spanner utilise la clé chiffrement/déchiffrement). Nous estimons que ces coûts seront minimes, compte tenu du nombre attendu d'opérations cryptographiques générées par Spanner. Pour Pour en savoir plus, consultez la page Tarifs de Cloud KMS.

Éléments protégés par CMEK

Dans une base de données sur laquelle CMEK est activé, Spanner utilise votre clé Cloud KMS pour : protéger les données au repos. Cela inclut les données d'une base de données stockée sur un disque ou flash.

Certaines exceptions s'appliquent. Les types de données suivants sont protégés par le chiffrement au repos par défaut de Google, et non par la clé CMEK :

  • Sous-ensemble de clés de ligne qui marquent les limites de plage
  • Les données de débogage, y compris les vidages de mémoire et les journaux opérationnels
  • Les données en transit ou en mémoire
  • Métadonnées de base de données

Spanner comporte trois couches de chiffrement. Les données au repos sont divisées en fragments de sous-fichiers pour le stockage, chiffrées au niveau du stockage avec une clé de chiffrement individuelle. La clé utilisée pour chiffrer les données d'un fragment s'appelle une clé de chiffrement des données (DEK, Data Encryption Key). En raison de le volume important de clés chez Google, ainsi que la nécessité de bénéficier d'une faible latence sont stockées à proximité des données qu'elles chiffrent. Les DEK sont chiffrées (ou "encapsulées") à l'aide d'une clé de chiffrement de clé (KEK). Enfin, chaque La clé KEK est chiffrée avec votre clé de chiffrement gérée par le client.

Lorsque vous effectuer une rotation de la clé CMEK, Spanner ne rechiffre que les les KEK intermédiaires avec la dernière version primaire de la clé CMEK. Une fois que le rechiffrement prend fin, ce qui désactive ou supprime les anciennes versions de la clé CMEK ne désactive pas l'accès à la base de données. Vous pouvez également afficher les versions de clé utilisées pour protéger une base de données.

Avec CMEK

Schéma illustrant le chiffrement avec une clé de chiffrement gérée par le client

Sans CMEK

Schéma illustrant le chiffrement avec une clé détenue et gérée par Google

Activer les CMEK

Afin d'utiliser CMEK pour les bases de données Spanner, vous devez créer une base de données et spécifiez la clé Cloud KMS création d'une base de données.

Spanner peut accéder à la clé en votre nom une fois que vous lui avez accordé Chiffreur/Déchiffreur de CryptoKeys Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) à un rôle d'administrateur Compte de service Spanner.

Pour obtenir des instructions détaillées, consultez Utiliser des CMEK.

les API d'accès aux données de Spanner, tels que ceux qui sont utilisés pour gérer des sessions et exécuter des transactions sur des données, sont exactement les mêmes pour les clés gérées par le client, et pour les clés détenues et gérées par Google. Les applications n'ont pas besoin de spécifier des clés ou des configurations de chiffrement lors de la lecture l'écriture de données. Le chiffrement est entièrement géré par le service.

Gérer les clés

Les opérations de gestion des clés sont effectuées à l'aide de Cloud KMS. Spanner ne peut détecter ni traiter les modifications clés tant qu'elles n'ont pas été propagées par Cloud KMS. Certaines opérations, telles que la désactivation destruction d'une clé, peut prendre jusqu'à trois heures pour se propager ; les modifications apportées aux autorisations se propagent beaucoup plus rapidement.

Une fois la base de données créée, Spanner appelle Cloud KMS toutes les 5 minutes pour vérifier que la clé est toujours valide.

Si Spanner détecte que votre clé Cloud KMS a été désactivée ou détruite, une opération visant à rendre votre base de données inaccessible commence immédiatement. Tous les appels ultérieurs de la base de données, y compris les sessions, les lectures, et écrit, renvoie une erreur FAILED_PRECONDITION: KMS key required by the Spanner resource is not accessible.

Si les appels de Spanner à Cloud KMS détectent qu'une ancienne désactivée, Cloud KMS rétablit l'accès Spanner.

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

Dans de rares cas, par exemple pendant les périodes où Cloud KMS indisponible, Spanner ne parvient peut-être pas à récupérer l'état de votre clé depuis Cloud KMS.

Si votre base de données Spanner est protégée par une clé activée au niveau du à quel moment Spanner n'est pas en mesure de communiquer Cloud KMS, Spanner continue de prendre en charge l'intégralité de la base de données des opérations pendant une durée maximale d'une heure, afin de minimiser de l'impact d'un tel incident sur votre charge de travail.

Au bout d'une heure, si Spanner ne parvient toujours pas à se connecter Cloud KMS, Spanner commence à récupérer hors ligne, par mesure de protection. Les données de votre base de données Spanner reste inaccessible jusqu'à ce que votre base de données puisse se reconnecter à Cloud KMS et Cloud KMS vous indique que la clé est active.

À l'inverse, si votre base de données Spanner est protégée par une clé désactivé au moment où Spanner n'est pas en mesure de communiquer avec Cloud KMS, votre base de données reste inaccessible jusqu'à ce qu'elle puisse vous reconnecter à Cloud KMS et avoir réactivé votre 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, Spanner continue de prendre en charge des opérations de base de données complètes à l'aide d'une version de clé mise en cache, par jusqu'à une heure.

Au bout d'une heure, si Spanner ne parvient pas à se connecter à Cloud KMS, Spanner commence à prendre hors ligne, par mesure de protection. Les appels à la base de données échoueront avec une erreur FAILED_PRECONDITION: External key error: Could not find a key resource at the key URI.

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

Sauvegarde et restauration

Tout comme les bases de données, les sauvegardes Spanner protégées par des CMEK ou des clés détenues et gérées par Google. Par défaut, les sauvegardes utilisent identique configuration du chiffrement comme base de données, mais vous pouvez ignorer ce comportement en spécifiant la configuration du chiffrement lors de la création de la sauvegarde. Si la sauvegarde est activé par CMEK, il est chiffré à l'aide de la version principale de la clé KMS au niveau au moment de la création de la sauvegarde. Une fois la sauvegarde créée, sa clé et sa version de clé ne peut pas être modifié, même si la clé KMS fait l'objet d'une rotation. Pour en savoir plus, consultez Sauvegarder une base de données

Lorsque vous restaurez une base de données à partir d'une sauvegarde : la base de données restaurée utilise configuration du chiffrement comme sauvegarde. Vous pouvez ignorer ce comportement en spécifiant un autre la configuration du chiffrement lors de la restauration de la base de données. Pour restaurer une clé CMEK activée sauvegarde, la clé et la version de clé utilisées pour chiffrer la sauvegarde doivent être disponibles. Pour en savoir plus, consultez Restaurer à partir d'une sauvegarde.

Journalisation

Vous pouvez auditer les requêtes que Spanner envoie à Cloud KMS en votre nom dans Cloud Logging, Activer les journaux d'audit pour l'API Cloud KMS dans votre projet. Ces Les entrées de journal Cloud KMS sont visibles dans Cloud Logging :

Exiger ou limiter l'utilisation de CMEK dans votre organisation

Vous pouvez définir des règles à l'échelle de l'organisation concernant l'utilisation de clés CMEK dans divers produits Google Cloud, y compris Spanner. Ces règles vous permettent d'effectuer les opérations suivantes:

  • Exiger que la nouvelle clé Spanner les bases de données créées par votre organisation utilisent la protection CMEK.

  • Déterminez quelles clés Cloud KMS de votre organisation disponibles pour la protection CMEK.

Pour en savoir plus, consultez Règles d'administration CMEK.