Clés de chiffrement gérées par le client

Cette page traite des clés de chiffrement gérées par le client et de leur utilisation dans Cloud Storage. Pour savoir comment utiliser cette fonctionnalité, consultez la page Utiliser les clés de chiffrement gérées par le client. Pour en savoir plus sur les autres options de chiffrement, consultez la page Options de chiffrement des données.

Présentation

Si vous souhaitez appliquer une couche de sécurité supplémentaire en plus des clés de chiffrement gérées par Google, vous pouvez choisir d'utiliser des clés générées par Cloud Key Management Service. Ces clés sont appelées clés de chiffrement gérées par le client. Si vous utilisez une clé de chiffrement gérée par le client, vos clés de chiffrement sont stockées dans Cloud KMS. Le projet qui contient vos clés de chiffrement peut alors être indépendant du projet contenant vos buckets, ce qui permet une meilleure séparation des tâches.

Utilisation de la clé

Lorsque vous appliquez une clé de chiffrement gérée par le client à un objet, Cloud Storage utilise cette clé pour chiffrer :

  • les données de l'objet ;
  • la somme de contrôle CRC32C de l'objet ;
  • le hachage MD5 de l'objet.

Cloud Storage utilise des clés côté serveur standards pour chiffrer les métadonnées restantes de l'objet, y compris son nom. Ainsi, si vous disposez des autorisations requises, vous pouvez effectuer certaines actions, par exemple lire la plupart des métadonnées, répertorier des objets et supprimer des objets, même après avoir désactivé ou détruit la "clé de chiffrement gérée par le client" associée.

Comptes de service

Le chiffrement et le déchiffrement à l'aide de clés de chiffrement gérées par le client sont effectués au moyen de comptes de service. Une fois que vous avez attribué à votre compte de service Cloud Storage l'accès à une clé de chiffrement, ce compte de service chiffre :

Lors de l'ajout ou de la réécriture d'un objet dans Cloud Storage, si une clé par défaut est définie sur votre bucket et qu'une clé spécifique est également incluse dans votre requête, Cloud Storage chiffre l'objet à l'aide de la clé spécifique.

Lorsqu'un demandeur souhaite lire un objet chiffré avec une clé de chiffrement gérée par le client, il lui suffit d'accéder à l'objet comme il le ferait habituellement. Lors d'une requête de ce type, le compte de service déchiffre automatiquement l'objet demandé à condition que :

  • le compte de service ait toujours l'autorisation de le déchiffrer à l'aide de la clé ;
  • vous n'ayez pas désactivé ni détruit la clé.

Si l'une de ces conditions n'est pas remplie, le compte de service ne déchiffre pas les données, et la requête échoue.

Ressources de clés

Une ressource de clé Cloud KMS a le format suivant :

projects/[PROJECT_STORING_KEYS]/locations/[LOCATION]/keyRings/[KEY_RING_NAME]/cryptoKeys/[KEY_NAME]

Où :

  • [PROJECT_STORING_KEYS] correspond à l'ID du projet associé à la clé. Par exemple, my-pet-project.
  • [LOCATION] correspond à l'emplacement de la clé. Par exemple, US-EAST1.
  • [KEY_RING_NAME] correspond au nom du trousseau de clés. Par exemple, my-key-ring.
  • [KEY_NAME] correspond au nom de la clé. Par exemple, my-key.

Restrictions

Les restrictions suivantes s'appliquent en cas d'utilisation de clés de chiffrement gérées par le client :

  • Les exportations Cloud SQL vers Cloud Storage et Dataflow ne sont actuellement pas compatibles avec les objets chiffrés à l'aide de clés de chiffrement gérées par le client.

  • Vous ne pouvez pas appliquer la méthode de la copie d'objets de l'API JSON, sauf si l'objet de destination et l'objet source utilisent la même clé de chiffrement gérée par le client. En règle générale, vous devez appliquer la méthode de la réécriture d'objets.

  • Vous ne pouvez pas appliquer la méthode de composition d'un objet de l'API JSON lorsqu'un ou plusieurs des objets source sont chiffrés avec une clé de chiffrement gérée par le client.

  • Vous ne pouvez pas chiffrer un objet avec une clé de chiffrement gérée par le client en mettant à jour les métadonnées de cet objet. À la place, incluez la clé dans le cadre d'une réécriture de l'objet.

  • Vous devez créer la clé Cloud KMS au même emplacement que celui des données que vous souhaitez chiffrer. Par exemple, si votre bucket est situé dans US-EAST1, les objets avec une clé de chiffrement Cloud KMS dans ce bucket doivent également être créés dans US-EAST1. Pour connaître les emplacements Cloud KMS disponibles, consultez la page Emplacements Cloud KMS.

  • Vous ne pouvez pas spécifier de clé de chiffrement gérée par le client dans le cadre d'un transfert via le service de transfert de stockage. En outre, si une clé de ce type est utilisée sur les objets sources, elle n'est pas appliquée aux objets transférés. Définissez une clé gérée par le client par défaut sur votre bucket avant de procéder au transfert.

Relation avec les clés de chiffrement fournies par le client

En plus du chiffrement géré par le client, Cloud Storage propose des clés de chiffrement fournies par le client afin de contrôler le chiffrement des données. Vous pouvez chiffrer divers objets dans un seul bucket au moyen de différentes méthodes de chiffrement, mais tenez compte des points suivants :

  • Un seul objet ne peut être chiffré que par l'une de ces méthodes à la fois.

  • Si une clé gérée par le client par défaut est définie pour votre bucket et que vous spécifiez une clé fournie par le client dans une requête, Cloud Storage chiffre l'objet à l'aide de la clé fournie par le client.

  • Sur votre bucket, vous pouvez définir une clé gérée par le client par défaut, mais pas de clé fournie par le client par défaut.

Étapes suivantes