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

Par défaut, toutes les données au repos dans Cloud Bigtable sont chiffrées à l'aide du chiffrement par défaut de Google. Bigtable effectue et gère ce chiffrement sans aucune intervention de votre part.

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

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

Fonctionnalités

  • Sécurité : CMEK fournit le même niveau de sécurité que le chiffrement par défaut de Google, mais offre davantage de contrôle administratif.

  • Contrôle de l'accès aux données : les administrateurs peuvent alterner la clé utilisée pour protéger les données au repos dans Bigtable, en gérer l'accès, et la désactiver ou la détruire.

  • Possibilité de réaliser des audits : toutes les actions effectuées sur vos clés CMEK sont consignées et visibles dans Cloud Logging.

  • Performances comparables : les instances Bigtable protégées par la fonctionnalité CMEK offrent des performances comparables à celles des instances Bigtable qui utilisent le chiffrement par défaut de Google.

  • Flexibilité : vous pouvez utiliser la même clé CMEK dans plusieurs projets ou instances, ou vous pouvez utiliser des clés distinctes, suivant les besoins de votre entreprise.

Tarifs

Cloud KMS facture le coût de la clé ainsi que toutes les opérations cryptographiques effectuées avec cette clé. Pour en savoir plus, consultez la section Tarifs Cloud KMS.

Le coût des opérations vous est facturé lorsque Bigtable demande à la clé Cloud KMS d'effectuer une opération de chiffrement ou de déchiffrement. Chaque demande de chiffrement ou de déchiffrement est envoyée depuis chaque table sur chaque cluster de l'instance. Comme Bigtable utilise le chiffrement encapsulé, ces coûts par table sont généralement faibles, compte tenu du faible nombre d'opérations cryptographiques attendu. Si vous stockez de nombreuses tables dans une instance protégée par une clé CMEK, vos coûts sont plus élevés.

L'utilisation d'instances activées avec CMEK ne génère aucun coût Bigtable supplémentaire.

Éléments protégés par CMEK

Dans une instance protégée par CMEK, Bigtable utilise votre clé CMEK pour protéger vos données au repos. Cela inclut les données de toutes les tables du cluster. Cette protection couvre les données stockées à la fois sur le stockage HD et SSD.

Certaines données sont protégées par le chiffrement par défaut de Google au repos et non par la clé CMEK :

  • Un sous-ensemble de clés de ligne qui marquent les limites de plages et qui sont utilisées pour le routage
  • 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
  • Un sous-ensemble de valeurs d'horodatage utilisées pour la récupération de mémoire

Bigtable utilise le chiffrement encapsulé pour les données au repos. La clé CMEK est utilisée en tant que clé de chiffrement de clé (clé KEK) pour chiffrer les autres clés utilisées par Bigtable. Lorsque vous effectuez une rotation de la clé CMEK, Bigtable n'a besoin de rechiffrer que les clés intermédiaires.

Activer CMEK

De manière générale, pour utiliser la fonctionnalité CMEK avec Bigtable, procédez comme suit :

  1. Créez et configurez une clé CMEK.
  2. Créez une instance Bigtable qui utilise la clé CMEK.
  3. Planifiez une rotation de clés.

Les applications qui utilisent Bigtable n'ont pas besoin de spécifier de clé ni de configuration de chiffrement lors de la lecture, l'écriture ou la suppression de données. Bigtable peut accéder à la clé en votre nom une fois que vous avez accordé le rôle Chiffreur/Déchiffreur Cloud KMS à un agent de service Bigtable, qui est un type de compte de service géré par Google.

Pour obtenir des instructions détaillées, consultez la page Utiliser les clés de chiffrement gérées par le client.

Vous pouvez utiliser les outils suivants lorsque vous travaillez avec CMEK pour Bigtable.

Vous pouvez également accéder directement à l'API Admin. Toutefois, nous vous conseillons vivement de n'employer cette méthode que dans le cas où vous ne pouvez pas utiliser une bibliothèque cliente Bigtable qui envoie des appels CMEK à l'API.

Gestion des clés

Les opérations de gestion des clés sont effectuées à l'aide de Cloud KMS. Bigtable ne peut ni détecter, ni exploiter les modifications d'une clé avant que celles-ci ne soient propagées par Cloud KMS. La propagation de certaines opérations, telles que la désactivation ou la destruction d'une clé, peut prendre jusqu'à trois heures. Les modifications apportées aux autorisations d'une clé se propagent généralement plus rapidement.

Une fois que vous avez créé au moins une table dans une instance protégée par une clé CMEK, Bigtable appelle chaque table dans chaque cluster toutes les cinq minutes afin de s'assurer que la clé est toujours valide.

Si Bigtable détecte que votre clé a été désactivée ou détruite, une opération visant à rendre votre instance inaccessible commence immédiatement. Toute opération ultérieure sur les données qui est envoyée à un cluster désactivé renvoie une erreur FAILED_PRECONDITION : Request failed due to a problematic CMEK state.

Bigtable ne désactive une instance que lorsque tous les clusters de l'instance ont identifié la clé comme désactivée ou détruite. Entre le moment où le premier cluster signale que la clé a été désactivée ou détruite, et la désactivation effective de l'instance, certaines requêtes de données peuvent aboutir et d'autres renvoient une erreur. Cet état peut durer plusieurs heures.

Si les appels de Bigtable à Cloud KMS détectent qu'une clé précédemment désactivée a été réactivée, Cloud KMS restaure automatiquement l'accès au cluster Bigtable.

Si une clé Cloud KMS est supprimée, toute instance Bigtable chiffrée avec cette clé devient définitivement inaccessible.

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

Dans de rares cas, par exemple pendant les périodes d'indisponibilité de Cloud KMS, Bigtable peut ne pas être en mesure de récupérer l'état de votre clé à partir de Cloud KMS.

Si votre instance Bigtable est protégée par une clé activée au moment où Bigtable perd initialement la capacité à communiquer avec Cloud KMS, Bigtable continue à accepter les opérations d'instance complètes de la manière la plus optimale possible à l'aide des clés mises en cache dérivées de la clé Cloud KMS pendant une heure maximum. Cela permet de minimiser l'impact des incidents de ce type sur votre charge de travail.

Au bout d'une heure, si Bigtable ne parvient toujours pas à se connecter à Cloud KMS, il commence à mettre l'instance hors connexion par mesure de protection. Les données de votre instance Bigtable restent inaccessibles jusqu'à ce que l'instance puisse se reconnecter à Cloud KMS et que Cloud KMS réponde que la clé est bien active.

À l'inverse, si votre instance Bigtable est protégée par une clé désactivée au moment où Bigtable perd initialement la capacité à communiquer avec Cloud KMS, elle reste inaccessible jusqu'à ce qu'elle puisse se reconnecter à Cloud KMS et que vous ayez réactivé votre clé.

Sauvegardes

Comme les autres données d'une instance, les sauvegardes sont protégées par la clé CMEK de l'instance. Les nouvelles tables restaurées à partir d'une sauvegarde sont protégées par la clé CMEK de l'instance dans laquelle elles sont restaurées. Pour en savoir plus sur la manière dont CMEK impacte les opérations de sauvegarde et de restauration, consultez la page Présentation des sauvegardes. Pour savoir comment créer ou restaurer des sauvegardes, consultez la section Gérer les sauvegardes.

Logging

Vous pouvez auditer les demandes envoyées par Bigtable en votre nom à Cloud KMS dans Cloud Logging, si vous avez activé les journaux d'audit Cloud KMS pour l'API Cloud KMS dans votre projet. Vous pouvez vous attendre à quelques entrées de journal toutes les cinq minutes environ par table dans chaque cluster.

Limites

  • CMEK pour Bigtable n'est pas compatible avec les instances comportant des clusters dans plusieurs régions.

  • Le chiffrement CMEK ne peut être configuré qu'au niveau du cluster. Vous ne pouvez pas configurer CMEK sur les sauvegardes, les tables ou les profils d'application.

  • La configuration de chiffrement d'une ressource Bigtable (instance, cluster, table ou sauvegarde) est immuable.

    • Les instances non CMEK ne peuvent pas être converties en vue d'une utilisation avec CMEK.
    • Les instances CMEK ne peuvent pas être converties en vue d'une utilisation avec le chiffrement Google par défaut.
    • Les instances créées avec une clé CMEK ne peuvent pas être reconfigurées pour utiliser une autre clé.
    • Les nouveaux clusters ajoutés à une instance doivent être configurés avec la même clé (ou absence de clé) CMEK que les clusters frères.
  • Les ressources Bigtable protégées par une clé CMEK (instances, clusters, tables ou sauvegardes) liées à une clé rendue inaccessible suite à une action déclenchée par l'utilisateur (par exemple, la désactivation ou la destruction d'une clé, ou la révocation du rôle Chiffreur/Déchiffreur) pendant plus de 30 jours consécutifs sont automatiquement supprimées.

  • Si vous réactivez une clé CMEK désactivée afin de restaurer l'accès aux instances Bigtable protégées par cette clé, certaines requêtes de l'API Data peuvent expirer pendant la remise en ligne de vos données.

  • Pendant cinq minutes au plus après la création d'une table dans une instance protégée par une clé CMEK, sa version de clé et son état de clé peuvent être signalés comme inconnus. Cependant, pendant cette période, toutes les données écrites dans la table sont toujours protégées par votre clé CMEK.

  • La désactivation ou la suppression d'une seule version au lieu de la totalité des versions d'une clé utilisée par Bigtable peut entraîner un comportement imprévisible. Vous devez toujours désactiver ou supprimer toutes les versions d'une clé CMEK.

Étape suivante