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

Configuration

Par dĂ©faut, Cloud Storage chiffre le contenu client au repos. Cloud Storage gĂšre le chiffrement sans intervention de votre part. Cette option est appelĂ©e chiffrement par dĂ©faut de Google.

Si vous souhaitez contrĂŽler vos clĂ©s de chiffrement, vous pouvez utiliser des clĂ©s de chiffrement gĂ©rĂ©es par le client (CMEK) dans Cloud KMS avec des services bĂ©nĂ©ficiant d'une intĂ©gration des CMEK, y compris Cloud Storage. L'utilisation de clĂ©s Cloud KMS vous permet de contrĂŽler leur niveau de protection, leur emplacement, leur calendrier de rotation, leurs autorisations d'utilisation et d'accĂšs, ainsi que leurs limites cryptographiques.  Cloud KMS vous permet Ă©galement de suivre l'utilisation des clĂ©s, d'afficher les journaux d'audit et de contrĂŽler les cycles de vie des clĂ©s. Au lieu de laisser Google possĂ©der et gĂ©rer les clĂ©s de chiffrement de clĂ©s (KEK) symĂ©triques qui protĂšgent vos donnĂ©es, c'est vous qui vous chargez de cette tĂąche dans Cloud KMS.

Une fois que vous avez configurĂ© vos ressources avec des CMEK, l'accĂšs Ă  vos ressources Cloud Storage est semblable Ă  celui du chiffrement par dĂ©faut de Google. Pour en savoir plus sur les CMEK, consultez ClĂ©s de chiffrement gĂ©rĂ©es par le client (CMEK). Pour apprendre Ă  utiliser des CMEK créées manuellement afin de protĂ©ger vos ressources Cloud Storage, consultez la section Utiliser des clĂ©s de chiffrement gĂ©rĂ©es par le client.

Pour en savoir plus sur les autres options de chiffrement lorsque vous utilisez Cloud Storage, consultez la page Options de chiffrement des donnĂ©es.

CMEK avec Cloud KMS Autokey

Pour protĂ©ger vos buckets Cloud Storage et les objets qu'ils contiennent, vous pouvez crĂ©er des clĂ©s CMEK manuellement ou utiliser Cloud KMS Autokey. Avec Autokey, les trousseaux de clĂ©s et les clĂ©s sont gĂ©nĂ©rĂ©s Ă  la demande lors de la crĂ©ation ou de la mise Ă  jour de ressources dans Cloud Storage. Les agents de service qui utilisent les clĂ©s pour les opĂ©rations de chiffrement et de dĂ©chiffrement sont créés s'ils n'existent pas dĂ©jĂ  et s'ils disposent des rĂŽles IAM (Identity and Access Management) requis. Pour en savoir plus, consultez la section PrĂ©sentation de la clĂ© automatique.

Autokey ne crée pas de clés pour les objets. Par défaut, les objets d'un bucket utilisent la clé par défaut du bucket. Si vous souhaitez chiffrer un objet à l'aide d'une clé autre que la clé par défaut du bucket, vous pouvez créer manuellement une clé CMEK et l'utiliser lors de la création de l'objet.

Pour apprendre Ă  utiliser les clĂ©s CMEK créées par Autokey de Cloud KMS afin de protĂ©ger vos buckets Cloud Storage et les objets qu'ils contiennent, consultez Utiliser Autokey avec des ressources Cloud Storage.

Utilisation de la clé

Lorsque vous appliquez une clĂ© CMEK Ă  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Ă© CMEK associĂ©e.

Agents de service

Chaque projet possĂšde un compte de service Cloud Storage spĂ©cial, appelĂ© agent de service, qui effectue le chiffrement et le dĂ©chiffrement Ă  l'aide de clĂ©s CMEK. Une fois que vous avez attribuĂ© l'accĂšs de l'agent de service Ă  une clĂ© de chiffrement, cet agent 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Ă© CMEK, il lui suffit d'accĂ©der Ă  l'objet comme il le ferait habituellement. Lors d'une requĂȘte de ce type, l'agent de service dĂ©chiffre automatiquement l'objet demandĂ© Ă  condition que :

  • l'agence 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, l'agent de service ne dĂ©chiffre pas les donnĂ©es, et la requĂȘte Ă©choue.

Restrictions

Les restrictions suivantes s'appliquent lorsque vous utilisez des clĂ©s CMEK :

  • Vous ne pouvez pas chiffrer un objet avec une clĂ© CMEK 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.

    • gcloud storage utilise la commande objects update pour dĂ©finir des clĂ©s de chiffrement sur les objets, mais la commande réécrit l'objet dans le cadre de la requĂȘte.
  • Vous devez crĂ©er le trousseau de 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 trousseaux de clĂ©s utilisĂ©s pour chiffrer des objets dans ce bucket doivent Ă©galement ĂȘtre créés dans US-EAST1.

    • Pour les emplacements birĂ©gionaux, l'emplacement du trousseau de clĂ©s Cloud KMS doit correspondre au code d'emplacement de l'emplacement birĂ©gional. Par exemple, si votre bucket est situĂ© dans la paire d'emplacements birĂ©gionaux configurables US-EAST1, US-WEST1, tout trousseau de clĂ©s utilisĂ© pour chiffrer des objets dans ce bucket doit ĂȘtre créé dans l'emplacement multirĂ©gional US, qui correspond au code d'emplacement de ce bucket. Si votre bucket est situĂ© dans l'emplacement birĂ©gional prĂ©dĂ©fini NAM4, vous devez crĂ©er le trousseau de clĂ©s dans le mĂȘme emplacement birĂ©gional prĂ©dĂ©fini, NAM4.

      Pour connaĂźtre les emplacements Cloud KMS disponibles, consultez la page Emplacements Cloud KMS.

  • La somme de contrĂŽle CRC32C et le hachage MD5 des objets chiffrĂ©s avec des clĂ©s CMEK ne sont pas renvoyĂ©s lorsque vous listez des objets avec l'API JSON.

    • Le cas Ă©chĂ©ant, certains outils, tels que gcloud storage, effectuent une requĂȘte de mĂ©tadonnĂ©es supplĂ©mentaire GET sur chaque objet chiffrĂ© avec une clĂ© CMEK afin de rĂ©cupĂ©rer les informations sur les hachages CRC32C et MD5. Ces requĂȘtes supplĂ©mentaires peuvent ralentir considĂ©rablement l'opĂ©ration rĂ©pertoriant ces objets chiffrĂ©s par rapport Ă  la mĂȘme opĂ©ration effectuĂ©e avec le chiffrement Cloud Storage standard.
  • Seules les clĂ©s de chiffrement symĂ©triques peuvent ĂȘtre utilisĂ©es comme clĂ©s CMEK.

Quotas Cloud KMS et Cloud Storage

Lorsque vous utilisez des clĂ©s CMEK dans Cloud Storage, vos projets peuvent consommer des quotas de requĂȘtes de chiffrement Cloud KMS.

Les opĂ©rations de chiffrement et de dĂ©chiffrement utilisant des clĂ©s CMEK affectent les quotas de Cloud KMS de diffĂ©rentes maniĂšres :

  • Pour les clĂ©s logicielles CMEK gĂ©nĂ©rĂ©es dans Cloud KMS, aucun quota Cloud KMS n'est consommĂ©.
  • Pour les clĂ©s CMEK matĂ©rielles (parfois appelĂ©es "clĂ©s Cloud HSM"), les opĂ©rations de chiffrement et de dĂ©chiffrement sont comptabilisĂ©es dans les quotas Cloud HSM du projet qui contient la clĂ©.
  • Pour les clĂ©s CMEK externes (parfois appelĂ©es "clĂ©s Cloud EKM"), les opĂ©rations de chiffrement et de dĂ©chiffrement sont comptabilisĂ©es dans les quotas Cloud EKM du projet qui contient la clĂ©.

Pour en savoir plus, consultez Quotas Cloud KMS.

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Ă© CMEK 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.

Gestion des clés

Cette section décrit les considérations importantes concernant la rotation, le remplacement, et la désactivation ou la destruction des clés.

Rotation des clés

Cloud KMS est compatible avec la rotation des clĂ©s automatique et manuelle vers une nouvelle version. AprĂšs avoir configurĂ© la rotation d'une clĂ©, Cloud Storage utilise la nouvelle version pour toutes les opĂ©rations permettant d'effectuer le chiffrement Ă  l'aide de la clĂ©. Exemples :

  • Importation d'objets dans les buckets utilisant la clĂ© comme clĂ© de chiffrement par dĂ©faut

  • OpĂ©rations d'importation, de copie et de réécriture d'objets utilisant spĂ©cifiquement la clĂ© en question

Les versions prĂ©cĂ©dentes de la clĂ© ne sont ni dĂ©sactivĂ©es, ni dĂ©truites. Cloud Storage peut donc dĂ©chiffrer les objets existants qui ont dĂ©jĂ  Ă©tĂ© chiffrĂ©s Ă  l'aide de ces versions.

Remplacement des clés

Suivez les instructions ci-dessous lorsque vous remplacez la clĂ© utilisĂ©e pour chiffrer des objets Cloud Storage par une nouvelle clĂ©.

  1. Vérifiez vos buckets pour identifier ceux qui utilisent la clé comme clé de chiffrement par défaut. Pour ces buckets, remplacez l'ancienne clé par une nouvelle.

    Tous les nouveaux objets écrits dans ces buckets utilisent ainsi la nouvelle clé.

  2. Examinez votre code source pour identifier les requĂȘtes qui utilisent la clĂ© pour les opĂ©rations en cours, telles que la dĂ©finition des configurations de bucket, l'importation, la copie ou la réécriture d'objets. Mettez Ă  jour ces instances pour qu'elles utilisent la nouvelle clĂ©.

  3. Vérifiez les objets associés à tous vos buckets pour identifier ceux qui sont chiffrés avec l'ancienne clé. Utilisez la méthode de réécriture d'objets pour chiffrer à nouveau chaque objet avec la nouvelle clé.

  4. Désactivez toutes les versions de l'ancienne clé. AprÚs avoir désactivé les anciennes versions de clé, surveillez si les journaux des clients et des services comportent des opérations ayant échoué en raison de l'indisponibilité d'une version.

Désactiver ou détruire une version de clé

  • Lorsque vous dĂ©sactivez ou dĂ©truisez une version de clĂ© spĂ©cifique, vous ne pouvez pas dĂ©chiffrer un objet actuellement chiffrĂ© avec cette version.

    Par exemple, vous ne pouvez pas télécharger, copier ni réécrire l'objet. Toute tentative associée à ce type d'opérations entraßne une erreur.

    • Si vous dĂ©sactivez une version de clĂ©, vous pouvez la rĂ©activer. Lorsque vous rĂ©activez une version de clĂ©, vous pouvez l'utiliser pour accĂ©der aux objets chiffrĂ©s par cette version de clĂ©.

    • Si vous dĂ©truisez une version de clĂ©, vous ne pourrez plus jamais tĂ©lĂ©charger des objets chiffrĂ©s avec cette version de clĂ©.

    Avant de désactiver ou de détruire une version de clé, vous devez examiner tous les buckets pour identifier tous les objets qui ont été chiffrés à l'aide de la version de clé spécifique. Une fois les objets identifiés, utilisez la méthode de réécriture d'objets pour chiffrer à nouveau chacun d'entre eux à l'aide d'une nouvelle version de clé, d'une nouvelle clé ou de clés cÎté serveur.

  • Lorsque vous dĂ©sactivez ou dĂ©truisez la version principale d'une clĂ©, vous ne pouvez pas l'utiliser pour le chiffrement tant que vous ne disposez pas de nouvelle version principale. Par exemple, sans version principale, vous ne pouvez pas :

    • renseigner la clĂ© dans le cadre d'une importation, d'une copie ou d'une réécriture d'objet ;

    • importer, copier ni réécrire des objets dans un bucket dont la clĂ© est dĂ©finie comme clĂ© de chiffrement par dĂ©faut, sauf si vous spĂ©cifiez une autre clĂ© valide dans le cadre de l'opĂ©ration.

    Une fois que vous disposez d'une version principale de la clé, les opérations qui l'utilisent pour chiffrer des objets peuvent aboutir.

    Avant de dĂ©sactiver ou de dĂ©truire une version de clĂ© correspondant Ă  la version principale, vous devez cesser de l'utiliser comme version principale. Pour ce faire, vous disposez des mĂ©thodes suivantes :

Versions de clé et objets verrouillés

Si une version de clĂ© chiffre un objet verrouillĂ©, soit parce que l'objet est stockĂ© dans un bucket avec une rĂšgle de conservation verrouillĂ©e, soit parce qu'il possĂšde sa propre configuration de conservation verrouillĂ©e, la version de clĂ© ne peut ĂȘtre dĂ©truite que si les conditions suivantes sont remplies :

  • Le dĂ©lai d'expiration de la conservation de l'objet chiffrĂ© doit se situer dans le passĂ©.
  • L'objet chiffrĂ© ne doit pas faire l'objet d'une obligation de conservation.

Une fois que tous les objets concernĂ©s rĂ©pondent Ă  ces conditions, vous pouvez dĂ©truire la version de clĂ©, mĂȘme sans supprimer les objets. Dans ce cas, les donnĂ©es des objets concernĂ©s deviennent dĂ©finitivement inaccessibles.

Étape suivante