Présentation de CMEK

Cette page décrit l'utilisation de CMEK avec Apigee. Pour connaître les bonnes pratiques, consultez Bonnes pratiques pour les CMEK Apigee.

Présentation

Par défaut, Google Cloud chiffre automatiquement les données au repos à l'aide de clés de chiffrement détenues et gérées par Google. 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 en savoir plus sur l'utilisation de CMEK avec Apigee, consultez la page Utiliser CMEK avec Apigee. Pour en savoir plus sur CMEK en général, y compris quand et pourquoi l'activer, consultez la documentation de Cloud Key Management Service.

L'utilisation de clés de chiffrement gérées par le client (CMEK) n'offre pas nécessairement plus de sécurité que les mécanismes de chiffrement par défaut de Google. Toutefois, il vous permet de contrôler davantage les aspects du cycle de vie et de la gestion de vos clés afin de répondre aux exigences de sécurité et de conformité.

Si vous avez besoin de davantage de contrôle sur les opérations de clé que ne le permettent les clés détenues et gérées par Google, vous pouvez utiliser les clés de chiffrement gérées par le client. Ces clés sont créées et gérées à l'aide de Cloud Key Management Service (Cloud KMS), et vous les stockez sous forme de clés logicielles dans un cluster HSM ou en externe.

Les fonctionnalités de gestion des clés sont fournies par le service Cloud KMS.

Cas d'utilisation de CMEK

Cette section décrit les cas d'utilisation courants de CMEK avec Apigee.

Rotation des clés

Alternez la clé automatiquement ou manuellement. Notez que lors de la rotation de la clé, les données précédemment stockées dans Apigee ne sont pas automatiquement rechiffrées avec la nouvelle version de clé, mais elles restent accessibles tant que la version de clé précédente a été utilisée pour le chiffrement. Les données ne sont ni désactivées, ni détruites.

La rotation des clés a pour objectif principal de limiter l'exposition des données à une seule clé, et non de remplacer complètement l'ancienne version de la clé. Apigee n'est actuellement pas compatible avec le rechiffrement lors de la rotation des clés. Pour Apigee en particulier, lorsque vous effectuez une rotation de clé, seul un nombre limité de nouvelles données (par exemple, une nouvelle révision de proxy) est chiffré avec la nouvelle version de clé primaire. La plupart des données, telles que les données d'analyse, le disque d'exécution et l'ancienne révision du proxy, utilisent toujours l'ancienne version de clé. Si vous souhaitez supprimer complètement la version précédente de la clé, vous devez recréer l'organisation apigee. Pour les clés de chiffrement d'exécution, si vous souhaitez supprimer complètement la version précédente de la clé, vous devez recréer les instances d'exécution. Pour en savoir plus, consultez les bonnes pratiques pour les CMEK Apigee.

Voir aussi : Effectuer la rotation d'une clé

Suppression et désactivation de clés

Lorsqu'une version de clé est désactivée, les données Apigee chiffrées avec cette version de clé ne sont plus accessibles. Pour restaurer l'accès aux données, vous pouvez réactiver la clé.

Lorsque vous supprimez ou désactivez votre clé CMEK, même pour les versions précédentes, votre organisation apigee commence à mal fonctionner en fonction de la version de clé utilisée pour le chiffrement. Certaines API cesseront de fonctionner immédiatement, car elles nécessitent une clé CMEK pour déchiffrer les données, tandis que d'autres ne commenceront à être défectueuses que lorsqu'une action système sera déclenchée, par exemple lorsque des disques persistants Compute Engine devront être réinstallés. Pour en savoir plus, consultez la section Désactivation des clés.

Lorsqu'une version de clé est détruite, les données Apigee chiffrées avec cette version deviennent illisibles et irrécupérables. Il s'agit d'une opération permanente et irréversible.

Voir également :

Restauration des clés

Si vous supprimez ou désactivez accidentellement une clé ou une version de clé précédente, vous devez essayer de les restaurer dès que possible. Notez que la CMEK est une fonctionnalité destinée à éviter la perte de données si la clé n'est pas disponible. Une fois la clé restaurée, il n'est pas garanti que votre organisation apigee soit restaurée, et vous risquez de perdre des données. Pour en savoir plus, consultez Réactiver une clé. Contactez Google Cloud Customer Care pour savoir quelle est la meilleure solution.

Voir aussi : Détruire et restaurer des versions de clé

Révoquer l'accès aux clés

Si vous révoquez l'accès de l'agent de service Apigee à la clé à l'aide d'IAM, Apigee ne pourra accéder à aucune donnée de plan de contrôle chiffrée par une version de clé. Les opérations d'API Apigee qui dépendent du déchiffrement des données échouent. Vous pouvez restaurer l'accès aux données en accordant de nouveau l'accès à la clé et aux opérations de l'API Apigee qui déchiffrent les données.

Voir aussi : Gérer l'accès aux projets, aux dossiers et aux organisations

EKM

Apigee n'est actuellement pas compatible avec Cloud External Key Manager (Cloud EKM). Si vous utilisez Cloud EKM, il existe un défaut connu qui fait que les erreurs Cloud EKM ne sont pas correctement propagées et affichées.

Suivi des clés

Apigee n'est pas compatible avec le suivi des clés. Si vous consultez l'utilisation des clés et constatez qu'une certaine version de clé n'est pas utilisée, notez que cette information n'est pas exacte, car Apigee n'a pas intégré de fonctionnalités de suivi des clés.

Quotas

L'utilisation de clés CMEK peut générer une utilisation de certains quotas Cloud KMS. Pour obtenir les informations les plus récentes sur les quotas Cloud KMS, consultez la page Quotas.

Révoquer une clé de chiffrement

Si vous pensez que vos données sur Apigee dans Google Cloud sont compromises, vous pouvez révoquer vos clés de chiffrement. Révoquez la clé CMEK d'exécution pour rendre votre instance d'exécution défaillante et l'empêcher d'accéder aux données de votre passerelle. Révoquez la clé CMEK du plan de contrôle pour empêcher Apigee d'effectuer des analyses ou de déployer de nouveaux proxys.

Utiliser CMEK avec Apigee

Les clés de chiffrement Apigee sont utilisées pour les données d'exécution et de plan de contrôle. Elles sont créées lors du processus de provisionnement.

Les données du plan de contrôle Apigee sont chiffrées à l'aide d'une clé de chiffrement différente de celle des données d'exécution, et peuvent être stockées dans différentes régions. Conformément à la documentation CMEK, ce chiffrement ne s'applique qu'aux données au repos, c'est-à-dire aux données stockées sur un disque.

Les données du plan de contrôle Apigee incluent les configurations de proxy (groupes), certaines données de configuration d'environnement et les données d'analyse. Les données d'exécution Apigee incluent des données d'application telles que les KVM, le cache et les codes secrets des clients, qui sont ensuite stockées dans la base de données d'exécution.

Consultez la section À propos des clés de chiffrement Apigee pour obtenir une description des types de clés de chiffrement.

Vous ne pouvez ajouter des clés de chiffrement qu'au moment de la création de l'organisation Apigee. Une fois qu'une clé CMEK est attribuée, vous ne pouvez pas passer à une autre clé CMEK après la création de l'organisation.

Régions CMEK du plan de contrôle de la résidence des données

Dans le plan de contrôle Apigee régionalisé, vous sélectionnez deux clés de chiffrement pour votre plan de contrôle. En effet, certains des composants sous-jacents au plan de contrôle Apigee se trouvent toujours dans une seule région au sein de l'emplacement du plan de contrôle. Pour en savoir plus, consultez la section Régions de résidence des données.

Détails Clés requises

La région du plan de contrôle est l'emplacement d'exécution du plan de contrôle. Dans Apigee, le plan de contrôle est un concept abstrait où plusieurs composants sous-jacents constituent le plan de contrôle Apigee. Les données du plan de contrôle sont la configuration du proxy et le stockage d'analyse.

D'autres données du plan de contrôle (par exemple, le traitement des données analytiques, les portails, etc.) se trouvent dans une sous-région du plan de contrôle.

Tous les composants de la sous-région se trouvent dans la même région.

Une clé pour les données du plan de contrôle.

Une clé pour les données sous-régionales du plan de contrôle.

Contraintes liées aux règles d'administration

Si votre projet Google Cloud est soumis à des contraintes liées aux règles d'administration CMEK, Apigee s'assurera de les respecter. Que vous utilisiez Apigee via l'interface utilisateur de Google Cloud, la CLI ou directement via les API Apigee, l'application des règles CMEK est garantie. Lorsque vous utilisez l'interface utilisateur Google Cloud Apigee, les contraintes liées aux règles d'administration CMEK sont prévalidées afin que l'interface utilisateur puisse vous guider dans le choix d'une configuration de conformité valide.

Vous pouvez créer des contraintes liées aux règles d'administration CMEK pour exiger ce qui suit :

Toutes les fonctionnalités d'Apigee ne sont pas actuellement compatibles avec CMEK. Pour éviter que les projets qui nécessitent des CMEK n'utilisent sans le savoir des fonctionnalités qui ne sont pas protégées par des CMEK, ces fonctionnalités seront désactivées pour les projets soumis à des contraintes liées aux CMEK tant qu'elles ne seront pas conformes. Seules les nouvelles utilisations des fonctionnalités seront désactivées (création de ressources ou activation d'un module complémentaire). Les fonctionnalités et les ressources déjà utilisées resteront disponibles et modifiables, mais ne seront pas compatibles avec les CMEK. Les fonctionnalités suivantes seront désactivées :

  • L'interface utilisateur d'Apigee Classic ne sera pas disponible pour les organisations nouvellement créées qui nécessitent des CMEK, car les organisations CMEK sont des organisations régionales qui ne sont pas compatibles avec l'interface utilisateur classique. Les organisations existantes pourront toujours utiliser l'interface utilisateur classique. Notez que la prévalidation des CMEK ne sera pas implémentée dans l'interface utilisateur classique et qu'elle reposera sur l'erreur d'API. Cela signifie que les organisations existantes qui ont besoin des CMEK n'auront pas d'expérience utilisateur guidée pour configurer les CMEK ou pour désactiver les fonctionnalités non conformes aux CMEK.
  • La détection d'API Shadow Apigee n'est pas soumise aux règles d'administration liées aux CMEK et n'est pas conforme aux CMEK.

  • La création d'organisations d'évaluation sera bloquée par l'API d'organisation d'évaluation CreateOrganization et par l'assistant de provisionnement d'évaluation.
  • Gemini Code Assist n'est pas disponible.

  • La création d'organisations globales sera bloquée par l'API d'organisation d'évaluation CreateOrganization et par l'assistant de provisionnement d'évaluation.
  • La création d'instances hybrides n'est pas disponible pour l'application.
  • Le bouton Looker Studio pour ouvrir Looker Studio avec les données d'Apigee sera désactivé lorsque des CMEK sont requises.
  • La création de portails sera bloquée par l'API CreateSite. Étant donné que l'interface utilisateur des portails n'est disponible que dans l'interface utilisateur d'Apigee Classic (et non dans la console Google Cloud), et que la prévalidation ne sera pas implémentée dans l'interface utilisateur d'Apigee Classic, ce blocage reposera sur l'erreur d'API (le bouton Créer du portail dans l'interface utilisateur d'Apigee Classic ne sera pas désactivé).
  • La mise en application rétroactive de la conformité pour les ressources existantes n'est pas disponible. Vous devrez supprimer et recréer des ressources si vous souhaitez qu'une ressource existante soit conforme.

Pour en savoir plus sur l'utilisation des contraintes liées aux règles d'administration dans Apigee, consultez Utiliser des contraintes liées aux règles d'administration dans Apigee.

Créer des clés de chiffrement

Par défaut, Google gère la création des clés de chiffrement pendant le processus de provisionnement. Vous pouvez toutefois les créer vous-même. Pour plus d'informations, voir À propos des clés de chiffrement Apigee.

Risques et stratégies d'atténuation

Cette section décrit les risques potentiels et les mesures que vous pouvez prendre.

  • Risques :
    • Clé compromise : se produit lorsqu'un pirate informatique parvient à accéder à la clé de chiffrement, potentiellement par le biais de failles dans le service de gestion des clés ou d'attaques contre des administrateurs de clés.
    • Déni de service : un pirate informatique peut perturber l'accès aux clés ou aux données de chiffrement en attaquant le service de gestion des clés ou le système de stockage.
    • Perte de clé : la suppression ou la perte accidentelle d'une clé peut entraîner une perte de données ou les rendre inaccessibles.
  • Stratégies d'atténuation :
    • Implémentez des stratégies renforcées de contrôle des accès et de gestion des clés.
    • Surveillez l'activité et les journaux KMS pour détecter tout comportement suspect.

Dépannage

Le tableau suivant décrit certaines conditions d'erreurs courantes pouvant survenir avec les données du configstore chiffrées par CMEK, le message d'erreur approximatif renvoyé par l'API Apigee et les étapes de dépannage recommandées.

Message d'erreur/symptôme Cause Procédure à suivre
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. Vous avez essayé de provisionner une organisation d'essai pour laquelle une contrainte liée aux règles d'administration existe pour le projet. Les clés CMEK ne sont pas compatibles avec les organisations d'évaluation ou d'essai. Vous devrez mettre à jour la contrainte liée aux règles d'administration constraints/gcp.restrictNonCmekServices pour supprimer Apigee de la liste des services refusés afin de pouvoir provisionner une organisation d'essai.
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. Vous avez essayé de provisionner une organisation pour laquelle une contrainte liée aux règles d'administration existe pour le projet et vous avez spécifié une clé cryptographique KMS qui ne figure pas sur la liste d'autorisation. Vous avez défini constraints/gcp.restrictCmekCryptoKeyProjects dans les règles d'administration, ce qui vous oblige à fournir une clé CMEK provenant des projets autorisés que vous avez regroupés. Vous devrez fournir la clé CMEK d'un projet autorisé pour pouvoir créer une organisation ou des instances. Vous pouvez également mettre à jour la contrainte liée aux règles d'administration constraints/gcp.restrictCmekCryptoKeyProjects pour autoriser les clés du projet Google Cloud spécifique de votre choix.
Apigee does not have permission to access key "..." Un utilisateur a révoqué l'accès d'Apigee à la clé KMS fournie, c'est-à-dire, en supprimant le rôle roles/cloudkms.cryptoKeyEncrypterDecrypter. Un utilisateur doit vérifier les rôles configurés sur la clé KMS et s'assurer que l'agent de service Apigee dispose des autorisations nécessaires.
Unable to encrypt/decrypt data. Cloud KMS Error: "..." is not enabled, current state is: DESTROYED. Un utilisateur a désactivé ou supprimé la version de clé utilisée pour chiffrer/déchiffrer les données demandées. L'utilisateur doit réactiver la version de clé si possible. Si la clé ou la version de clé a été détruite, les données sont irrécupérables.
No new Analytics data for US/EU users L'une des causes possibles de ce problème peut être une clé de région unique révoquée/désactivée ou supprimée. Un utilisateur doit réactiver ou restaurer l'accès aux clés à région unique.
Control plane key "..." in region "..." is not valid for this control plane instance. Supported region(s) are "…". Un utilisateur a fourni une clé de plan de contrôle à région unique dans une région non valide ou compatible avec la région ou l'emplacement multirégional diffusé par l'instance du plan de contrôle. Un utilisateur doit fournir une clé dans l'une des régions compatibles ou choisir d'utiliser une autre instance de plan de contrôle.
Multi-region control plane key is not valid for this control plane instance. Specify only the "apiConsumerDataEncryptionKeyName" field. Un utilisateur a fourni une clé de plan de contrôle multirégional dans un plan de contrôle qui n'existe que dans une seule région (c'est-à-dire un plan de contrôle non multirégional). Un utilisateur doit soit omettre le champ de clé multirégionale, soit choisir d'utiliser une instance de plan de contrôle multirégional.
Multi-region control plane key is not valid for this control plane instance. Specify a multi-region key with region "..." Un utilisateur a fourni une clé de plan de contrôle multirégional à la mauvaise instance multirégionale de plan de contrôle (par exemple, une clé "us" de l'instance de plan de contrôle "eu"). Un utilisateur doit utiliser une clé multirégionale dans l'emplacement multirégional approprié ou choisir d'utiliser une autre instance de plan de contrôle multirégional.