Utiliser des clés de chiffrement gérées par le client (CMEK)
Cette page explique comment effectuer des tâches liées aux clés de chiffrement gérées par le client (CMEK) pour Bigtable. Pour plus d'informations sur la CMEK en général, y compris quand et pourquoi l'activer, consultez la documentation Cloud KMS.
Nous vous recommandons d'utiliser la console Google Cloud pour toutes les tâches de gestion des clés. Si vous prévoyez d'utiliser Google Cloud CLI, installez gcloud CLI pour Bigtable.
Préparer vos clés CMEK
Pour pouvoir créer une ressource Bigtable protégée par une clé CMEK, vous devez effectuer les étapes suivantes afin de créer une clé CMEK pour chaque région dans laquelle se trouvent les clusters de l'instance:
- Créez (ou récupérez) un agent de service Bigtable.
- Créez une clé CMEK.
- Configurez les paramètres IAM pour cette clé.
Créer un agent de service Bigtable
Avant de créer une clé CMEK, vous devez disposer d'un agent de service Bigtable, qui est utilisé par Bigtable pour accéder à la clé.
Console
Vous ne pouvez pas créer d'agent de service dans la console Google Cloud . Bigtable peut provisionner automatiquement un agent de service lors du workflow de création d'instance lorsque vous créez ou sélectionnez votre clé. De plus, lorsque vous sélectionnez une clé gérée par le client, la console recherche l'agent de service. L'un des résultats suivants peut se produire :
- Si l'agent de service existe, vous êtes invité à lui attribuer le rôle Chiffreur/Déchiffreur Cloud KMS.
- Si l'agent de service n'est pas provisionné automatiquement ou si vous rencontrez des erreurs lors de la sélection de la clé, utilisez l'onglet gcloud pour créer manuellement l'agent et accorder les autorisations nécessaires.
gcloud
Exécutez la commande gcloud services identity create pour afficher l'agent de service utilisé par Bigtable pour accéder à la clé CMEK en votre nom. Cette commande crée le compte de service s'il n'existe pas déjà, puis l'affiche.
gcloud beta services identity create \ --service=bigtableadmin.googleapis.com \ --project CBT_PROJECTRemplacez
CBT_PROJECTpar le projet contenant vos ressources Bigtable.La commande affiche l'ID de l'agent de service, qui est formaté comme une adresse e-mail. Enregistrez la chaîne de l'e-mail de sortie, car vous en aurez besoin à une étape ultérieure.
Service identity created: service-xxx@gcp-sa-bigtable.iam.gserviceaccount.com
Créer une clé
Vous pouvez utiliser une clé créée directement dans Cloud KMS ou une clé gérée en externe que vous rendez disponible avec Cloud External Key Manager.
Dans le projet Google Cloud où vous souhaitez gérer vos clés :
Créez un trousseau de clés et une clé à l'aide de l'une des options suivantes :
- Créez le trousseau de clés et la clé directement dans Cloud KMS.
- Utilisez une clé gérée en externe. Créez la clé externe, puis créez une clé Cloud EKM permettant de la rendre disponible via Cloud KMS.
L'emplacement de clé Cloud KMS doit être identique au cluster Bigtable avec lequel il sera utilisé. Par exemple, si vous créez un trousseau de clés et une clé dans la région
us-central1(Iowa), les clusters deus-central1-a,us-central1-betus-central1-cpeuvent être protégés par des clés de ce trousseau.
Configurer les paramètres IAM de la clé
Console
Pour attribuer un rôle Cloud KMS à votre agent de service, procédez comme suit : Vous pouvez également accorder une autorisation au niveau de la clé ou du trousseau si vous souhaitez bénéficier d'un niveau de précision inférieur.
Dans la console Google Cloud , accédez à la page IAM.
Cliquez sur Ajouter.
Saisissez l'ID au format adresse e-mail de votre agent de service Bigtable.
Sélectionnez le rôle Chiffreur/Déchiffreur de clés cryptographiques Cloud KMS.
Cliquez sur