Activer CMEK pour Looker (Google Cloud Core)

robots: noindex

Par défaut, Google Cloud chiffre automatiquement les données au repos à l'aide de clés de chiffrement gérées par Google. Si vous avez des exigences réglementaires ou de conformité spécifiques en ce qui concerne 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 le chiffrement au niveau de l'application de Looker (Google Cloud Core).

Pour en savoir plus sur les CMEK en général, y compris quand et pourquoi les activer, consultez la documentation de Cloud Key Management Service.

Cette page explique comment configurer une instance Looker (Google Cloud Core) pour utiliser des CMEK.

Comment Looker (Google Cloud Core) interagit-il avec les CMEK ?

Looker (Google Cloud Core) utilise une seule clé CMEK (par le biais d'une hiérarchie de clés secondaires) pour protéger les données sensibles gérées par l'instance Looker (Google Cloud Core). Au démarrage, chaque processus de l'instance Looker effectue un appel initial à Cloud Key Management Service (KMS) pour déchiffrer la clé. En fonctionnement normal (après le démarrage), l'instance Looker effectue un seul appel au service de gestion des clés environ toutes les cinq minutes pour vérifier que la clé est toujours valide.

Quels types d'instances Looker (Google Cloud Core) sont compatibles avec les CMEK ?

Les instances Looker (Google Cloud Core) sont compatibles avec les clés CMEK lorsque deux critères sont remplis:

  • La procédure de configuration des CMEK décrite sur cette page est terminée avant l'instance Looker (Google Cloud Core) est créée. Vous ne pouvez pas activer les clés de chiffrement gérées par le client sur les instances existantes.
  • Les éditions d'instance doivent être Enterprise ou Embed.

Workflow de création d'une instance Looker (Google Cloud Core) avec CMEK

Cette page vous explique comment configurer des CMEK pour une instance Looker (Google Cloud Core).

  1. Configurez votre environnement.
  2. Utilisateurs de gcloud CLI et de l'API uniquement:créez un compte de service pour chaque projet nécessitant des clés de chiffrement gérées par le client.
  3. Créez un trousseau de clés et une clé, puis définissez l'emplacement de la clé. L'emplacement correspond à la région Google Cloud.
  4. Utilisateurs de la CLI et de l'API gcloud uniquement:copiez ou notez l'ID (KMS_KEY_ID) et l'emplacement de la clé, ainsi que l'ID (KMS_KEYLING_ID) du trousseau. Vous avez besoin de ces informations pour accorder au compte de service l'accès à la clé.
  5. Utilisateurs de la CLI et de l'API gcloud uniquement:accordez au compte de service l'accès à la clé.
  6. Accédez à un projet et créez une instance Looker (Google Cloud Core) avec les options suivantes :
    1. Sélectionnez la même zone que la clé de chiffrement gérée par le client.
    2. Définissez l'édition sur Enterprise ou Embed.
    3. Activez la configuration de la clé gérée par le client.
    4. Ajoutez la clé de chiffrement gérée par le client en saisissant son nom ou son ID.

Une fois toutes ces étapes terminées, votre instance Looker (Google Cloud Core) sera activée par CMEK.

Avant de commencer

Si vous ne l'avez pas déjà fait, assurez-vous que votre environnement est configuré pour pouvoir suivre les instructions de cette page. Suivez les étapes de cette section pour vous assurer que votre configuration est correcte.

  1. Dans la console Google Cloud, sur la page du sélecteur de projet, sélectionnez ou créez un projet Google Cloud. Remarque:Si vous ne comptez pas conserver les ressources créées au cours de cette procédure, créez un projet au lieu de sélectionner un projet existant. Une fois ces étapes terminées, vous pouvez supprimer le projet. Les ressources qui lui sont associées seront supprimées.

    Accéder au sélecteur de projet

  2. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.
  3. Assurez-vous que vous disposez du rôle d'administrateur Looker sur votre compte utilisateur.
  4. Installez Google Cloud CLI.
  5. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
    

  6. activer l'API Cloud Key Management Service ;

    Activer l'API

  7. activer l'API Looker (Google Cloud Core) ;

    Activer l'API

Créer un compte de service

Si vous utilisez gcloud CLI ou l'API pour créer une instance Looker (Google Cloud Core), vous devez créer un compte de service pour chaque projet Google Cloud nécessitant des clés de chiffrement gérées par le client. Si vous souhaitez créer plusieurs instances Looker (Google Cloud Core) dans un projet, le même compte de service s'applique à toutes les instances Looker (Google Cloud Core) de ce projet. Vous n'avez besoin de créer le compte de service qu'une seule fois. Si vous utilisez la console pour créer une instance, Looker (Google Cloud Core) crée automatiquement le compte de service lorsque vous choisissez l'option Utiliser une clé de chiffrement gérée par le client.

Pour autoriser un utilisateur à gérer des comptes de service, attribuez-lui l'un des rôles suivants :

  • Utilisateur du compte de service (roles/iam.serviceAccountUser): inclut les autorisations permettant de lister les comptes de service, d'obtenir des détails sur un compte de service et d'usurper l'identité d'un compte de service.
  • Administrateur de compte de service (roles/iam.serviceAccountAdmin): inclut les autorisations permettant de lister les comptes de service et d'obtenir des détails sur un compte de service. Inclut également les autorisations nécessaires pour créer, mettre à jour et supprimer des comptes de service.

Actuellement, vous ne pouvez utiliser les commandes gcloud CLI que pour créer le type de compte de service dont vous avez besoin pour les clés de chiffrement gérées par le client. Si vous utilisez la console Google Cloud, Looker (Google Cloud Core) crée automatiquement ce compte de service pour vous.

gcloud

gcloud beta services identity create \
--service=looker.googleapis.com \
--project=PROJECT_ID

La commande précédente renvoie un nom de compte de service. Utilisez ce nom de compte de service pendant la procédure décrite dans la section Autoriser le compte de service à accéder à la clé.

Créer un trousseau de clés et une clé

Remarque:Vous pouvez utiliser une clé gérée en externe avec CMEK avec le service Cloud EKM pour rendre la clé disponible via Cloud KMS.

Vous pouvez créer la clé dans le même projet Google Cloud que l'instance Looker (Google Cloud Core) ou dans un projet utilisateur distinct. L'emplacement du trousseau de clés Cloud KMS doit correspondre à la région dans laquelle vous souhaitez créer l'instance Looker (Google Cloud Core). Une clé d'une région mondiale ou d'un emplacement multirégional ne fonctionnera pas. La requête de création d'une instance Looker (Google Cloud Core) échoue si les régions ne correspondent pas.

Suivez les instructions des pages de documentation Créer un trousseau de clés et Créer une clé pour répondre aux deux critères suivants:

  • Le champ Emplacement du trousseau doit correspondre à la région que vous allez définir pour l'instance Looker (Google Cloud Core).
  • Le champ Objectif de la clé doit être Chiffrement/déchiffrement symétriques.

Pour en savoir plus sur la rotation de la clé et la création de nouvelles versions, consultez la section Effectuer une rotation de vos clés.

Copiez ou notez KMS_KEY_ID et KMS_KEYRING_ID.

Si vous utilisez gcloud ou l'API pour configurer votre instance Looker (Google Cloud Core), suivez les instructions de la page Obtenir un ID de ressource Cloud KMS pour localiser les ID de ressource du trousseau de clés et de la clé que vous venez de créer. Copiez ou notez l'ID (KMS_KEY_ID) et l'emplacement de la clé, ainsi que l'ID (KMS_KEYLING_ID) du trousseau. Vous avez besoin de ces informations pour accorder au compte de service l'accès à la clé.

Accorder au compte de service l'accès à la clé

Vous ne devez effectuer cette procédure que si vous utilisez gcloud CLI ou l'API. Pour SERVICE_ACCOUNT_NAME, utilisez le nom du compte de service renvoyé lors de la création du compte de service.

Pour accorder l'accès au compte de service, procédez comme suit :

gcloud

gcloud Cloud KMS keys add-iam-policy-binding KMS_KEY_ID \
--location=GCP_REGION \
--keyring=KMS_KEYRING_ID \
--member=serviceAccount:SERVICE_ACCOUNT_NAME \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Créer une instance Looker (Google Cloud Core) avec CMEK

Pour créer une instance avec des clés de chiffrement gérées par le client dans la console Google Cloud, commencez par suivre les étapes de la section Créer un trousseau de clés et une clé que nous avons présentées précédemment, afin de créer un trousseau et une clé dans la région que vous utiliserez avec votre instance Looker (Google Cloud Core). Ensuite, à l'aide des paramètres suivants, suivez les instructions pour créer une instance Looker (Google Cloud Core) sur la page de documentation Créer une instance Looker (Google Cloud Core) à partir de la console Google Cloud:

Console

  1. Dans la section Édition de la page Créer une instance, vous devez sélectionner une édition Enterprise ou Embed pour utiliser des CMEK.
  2. Dans la section Chiffrement de la page Créer une instance, sélectionnez la case d'option Clé de chiffrement gérée par le client (CMEK). Un menu déroulant Sélectionner une clé gérée par le client s'affiche.
  3. Dans le champ Sélectionner une clé gérée par le client, définissez la clé que vous souhaitez utiliser. La clé doit se trouver dans un trousseau de clés dont l'emplacement est défini sur la même région que celle de l'instance Looker (Google Cloud Core) que vous créez, sinon la création de l'instance échouera. Vous pouvez sélectionner la clé via l'une des deux méthodes suivantes :
    1. Sélectionnez le nom de la clé dans la liste déroulante:les clés disponibles dans votre projet Google Cloud s'affichent dans une liste déroulante. Une fois la clé sélectionnée, cliquez sur OK.
    2. Saisissez l'ID de ressource de la clé:cliquez sur le texte Vous ne trouvez pas votre clé ? Saisissez l'ID de ressource de la clé en bas du menu déroulant. La boîte de dialogue Saisissez l'ID de ressource de la clé s'affiche. Vous pouvez y saisir l'ID de la clé. Une fois l'ID saisi, sélectionnez Enregistrer.
  4. Une fois que vous avez sélectionné une clé, un message vous demandant d'autoriser votre compte de service à l'utiliser s'affiche. Cliquez sur le bouton Grant (Accorder).
  5. Si le compte de service ne dispose pas des autorisations nécessaires pour chiffrer/déchiffrer des données à l'aide de la clé sélectionnée, un message s'affiche. Dans ce cas, cliquez sur Accorder pour attribuer au compte de service le rôle roles/cloudkms.cryptoKeyEncrypterDecrypter IAM sur la clé KMS sélectionnée.
  6. Une fois que vous avez terminé la configuration de votre instance Looker (Google Cloud Core), cliquez sur Créer.

gcloud

gcloud looker instances create INSTANCE_NAME \
--project=PROJECT_ID \
--oauth-client-id=OAUTH_CLIENT_ID\
--oauth-client-secret=OAUTH_CLIENT_SECRET \
--kms-key=KMS_KEY_ID
--region=REGION \
--edition=EDITION

Pour activer les CMEK, vous devez attribuer --edition à core-embed-annual ou core-enterprise-annual.

Votre instance Looker (Google Cloud Core) est désormais activée avec CMEK.

Afficher les informations sur les clés d'une instance configurée pour utiliser les CMEK

Une fois que vous avez créé une instance Looker (Google Cloud Core), vous pouvez vérifier si CMEK est activé.

Console

  1. Dans la console Google Cloud, accédez à la page Instances Looker.
  2. Cliquez sur le nom d'une instance pour ouvrir la page Détails correspondante. Si une CMEK est activée sur une instance, une ligne Chiffrement indique le chiffrement utilisé pour l'instance. Le champ Clé de chiffrement gérée par le client (CMEK) affiche l'identifiant de la clé.

gcloud

gcloud looker instances describe INSTANCE_NAME --region=REGION --format config

Cette commande doit renvoyer les valeurs kmsKeyName, kmsKeyNameVersion et kmsKeyState pour confirmer que l'instance a été configurée avec CMEK.

Utiliser Cloud External Key Manager (Cloud EKM)

Pour protéger les données sur des instances Looker (Google Cloud Core), vous pouvez utiliser des clés que vous gérez via un partenaire externe de gestion des clés compatible. Pour en savoir plus, consultez la page de documentation sur Cloud External Key Manager, y compris la section Remarques.

Lorsque vous êtes prêt à créer une clé Cloud EKM, consultez la section Fonctionnement de la page de documentation Cloud External Key Manager. Une fois la clé créée, indiquez son nom lorsque vous créez une instance Looker (Google Cloud Core).

Google ne contrôle pas la disponibilité des clés dans un système externe de gestion des clés partenaire.

Effectuer une rotation de votre clé

Vous pouvez alterner votre clé pour favoriser la sécurité. À chaque rotation de votre clé, une nouvelle version de la clé est créée. Pour en savoir plus sur la rotation des clés, consultez la page Documentation sur la rotation des clés.

Si vous effectuez une rotation de la clé permettant de sécuriser votre instance Looker (Google Cloud Core), la version de clé précédente est toujours nécessaire pour accéder aux sauvegardes ou aux exportations effectuées lorsque la version de clé était utilisée. C'est pourquoi nous vous recommandons de maintenir la version de clé précédente activée pendant au moins 45 jours après la rotation afin que ces éléments restent accessibles. Les versions de clé sont conservées par défaut jusqu'à ce qu'elles soient désactivées ou détruites.

Désactiver et réactiver des versions de clé

Consultez les pages de documentation suivantes:

Si une version de clé permettant de sécuriser une instance Looker (Google Cloud Core) est désactivée, celle-ci est requise pour arrêter de fonctionner, effacer toutes les données sensibles non chiffrées qu'elle peut avoir en mémoire et attendre que la clé redevienne disponible. Le processus est le suivant :

  1. La version de clé utilisée pour sécuriser une instance Looker (Google Cloud Core) est désactivée.
  2. Dans un délai d'environ 15 minutes, l'instance Looker (Google Cloud Core) détecte que la version de clé est révoquée, cesse de fonctionner et efface toutes les données chiffrées en mémoire.
  3. Une fois que l'instance cesse de fonctionner, les appels aux API Looker renvoient un message d'erreur.
  4. Une fois l'instance arrêtée, l'interface utilisateur de Looker (Google Cloud Core) affiche un message d'erreur.
  5. Si vous réactivez la version de clé, vous devez déclencher manuellement un redémarrage de l'instance.

Si vous désactivez une version de clé et ne souhaitez pas attendre que l'instance Looker (Google Cloud Core) s'arrête de lui-même, vous pouvez déclencher manuellement un redémarrage pour que l'instance Looker (Google Cloud Core) détecte immédiatement la version de clé révoquée.

Détruire des versions de clé

Consultez la page de documentation suivante:

Si une version de clé permettant de sécuriser une instance Looker (Google Cloud Core) est détruite, cette dernière devient inaccessible. L'instance doit être supprimée, et vous ne pourrez plus accéder à ses données.

Résoudre les problèmes

Cette section décrit les étapes à suivre lorsque vous recevez un message d'erreur lorsque vous configurez ou utilisez des instances pour lesquelles les clés CMEK sont activées.

Les opérations d'administration de Looker (Google Cloud Core), telles que la création ou la mise à jour, peuvent échouer en raison d'erreurs Cloud KMS et de l'absence de rôles ou d'autorisations. Les raisons courantes d'un échec sont les suivantes : version de clé Cloud KMS manquante, version de clé Cloud KMS désactivée ou détruite, autorisations IAM insuffisantes pour accéder à la version de clé Cloud KMS ou version de clé Cloud KMS située dans une région différente de celle de l'instance Looker (Google Cloud Core). Utilisez le tableau de dépannage suivant pour diagnostiquer et résoudre les problèmes courants.

Tableau de dépannage des clés de chiffrement gérées par le client

Message d'erreur Causes possibles Stratégies de dépannage
Le compte de service par produit et par projet est introuvable Le nom du compte de service est incorrect. Assurez-vous d'avoir créé un compte de service pour le bon projet utilisateur.

Accéder à la page "Comptes de service"

Impossible d'accorder l'accès au compte de service Le compte utilisateur n'a pas l'autorisation d'accorder l'accès à cette version de clé.

Ajoutez le rôle Administrateur de l'organisation à votre compte utilisateur ou de service.

Accéder à la page "Comptes IAM"

La version de clé Cloud KMS est détruite La version de clé est détruite. Si la version de clé est détruite, vous ne pouvez pas l'utiliser pour chiffrer ou déchiffrer des données. L'instance Looker (Google Cloud Core) doit être supprimée.
La version de clé Cloud KMS est désactivée La version de clé est désactivée.

Réactivez la version de clé Cloud KMS.

Accéder à la page "Gestion des clés"

Autorisation insuffisante pour utiliser la clé Cloud KMS Le rôle cloudkms.cryptoKeyEncrypterDecrypter est manquant sur le compte utilisateur ou de service que vous utilisez pour exécuter des opérations sur des instances Looker (Google Cloud Core) ou la version de clé Cloud KMS n'existe pas.

Ajoutez le rôle cloudkms.cryptoKeyEncrypterDecrypter à votre compte utilisateur ou de service.

Accéder à la page "Comptes IAM"

Si le rôle existe déjà dans votre compte, consultez la section Créer un trousseau de clés et une clé pour découvrir comment créer une version de clé. Recommencez ensuite les étapes de création de l'instance.

La clé Cloud KMS est introuvable La version de clé n'existe pas. Créez une version de clé, puis suivez à nouveau les étapes de création d'instance. Consultez la section Créer un trousseau de clés et une clé.
L'instance Looker (Google Cloud Core) et la version de clé Cloud KMS se trouvent dans des régions différentes La version de clé Cloud KMS et l'instance Looker (Google Cloud Core) doivent se trouver dans la même région. Elle ne fonctionne pas si la version de clé Cloud KMS se trouve dans une région mondiale ou multirégionale. Créez une version de clé dans la région où vous souhaitez créer des instances, puis suivez à nouveau les étapes de création d'instances. Consultez la section Créer un trousseau de clés et une clé.

Étapes suivantes