Clés de chiffrement gérées par le client (CMEK)
Par défaut, Vertex AI Workbench chiffre le contenu client au repos. Vertex AI Workbench 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 Vertex AI Workbench. 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 Vertex AI Workbench est semblable à celui du chiffrement par défaut de Google. Pour en savoir plus sur les options de chiffrement, consultez Clés de chiffrement gérées par le client (CMEK).
Cette page décrit certains avantages et limites spécifiques de l'utilisation du chiffrement CMEK avec Vertex AI Workbench, et explique comment configurer une nouvelle instance Vertex AI Workbench pour utiliser le chiffrement CMEK.
Pour en savoir plus sur l'utilisation de CMEK pour Vertex AI, consultez la page CMEK Vertex AI.
Avantages du chiffrement CMEK
D'une manière générale, CMEK est particulièrement utile si vous avez besoin d'un contrôle total sur les clés utilisées pour chiffrer vos données. Avec CMEK, vous pouvez gérer vos clés dans Cloud Key Management Service. Par exemple, vous pouvez désactiver des clés, les alterner ou définir un calendrier de rotation à l'aide de l'API Cloud KMS.
Lorsque vous exécutez une instance Vertex AI Workbench, votre instance s'exécute sur une machine virtuelle (VM) gérée par Vertex AI Workbench. Lorsque vous activez CMEK pour une instance Vertex AI Workbench, Vertex AI Workbench utilise la clé que vous désignez, et non une clé gérée par Google, pour chiffrer les données sur les disques de démarrage de la VM.
La clé CMEK ne chiffre pas les métadonnées, telles que le nom et la région de l'instance, associées à votre instance Vertex AI Workbench. Les métadonnées associées aux instances Vertex AI Workbench sont toujours chiffrées à l'aide du mécanisme de chiffrement par défaut de Google.
Limites du chiffrement CMEK
Pour réduire la latence et éviter que les ressources ne dépendent de services répartis sur plusieurs domaines de défaillance, nous vous recommandons de protéger les instances Vertex AI Workbench régionales en faisant appel à des clés situées au même emplacement.
- Vous pouvez chiffrer des instances Vertex AI Workbench régionales à l'aide de clés situées dans le même emplacement ou dans l'emplacement global. Par exemple, vous pouvez chiffrer les données d'un disque situé dans la zone
us-west1-a
à l'aide d'une clé située dans la régionus-west1
ou dans l'emplacementglobal
. - Vous pouvez chiffrer des instances globales à l'aide de clés située dans n'importe quel emplacement.
- Configurer CMEK pour Vertex AI Workbench ne configure pas automatiquement CMEK pour les autres produits Google Cloud que vous utilisez. Pour chiffrer des données dans d'autres produits Google Cloud avec CMEK, vous devez effectuer une configuration supplémentaire.
Configurer CMEK pour votre instance Vertex AI Workbench
Dans les sections suivantes, nous allons voir comment créer un trousseau de clés et une clé dans Cloud Key Management Service, accorder des autorisations de chiffrement et de déchiffrement au compte de service pour votre clé, et créer une instance Vertex AI Workbench utilisant CMEK.
Avant de commencer
Nous vous recommandons d'utiliser une configuration compatible avec la séparation des tâches. Pour configurer CMEK pour Vertex AI Workbench, vous pouvez utiliser deux projets Google Cloud distincts :
- Un projet Cloud KMS : projet permettant de gérer votre clé de chiffrement.
- Un projet Vertex AI Workbench : projet permettant d'accéder aux instances Vertex AI Workbench et d'interagir avec tous les autres produits Google Cloud dont vous avez besoin pour votre cas d'utilisation.
Vous pouvez également utiliser un seul projet Google Cloud . Pour ce faire, utilisez le même projet pour toutes les tâches suivantes.
Configurer le projet Cloud KMS
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. - Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Lorsque vous choisissez l'emplacement de votre trousseau de clés, utilisez l'emplacement
global
ou l'emplacement de votre instance Vertex AI Workbench.Assurez-vous de créer votre trousseau et votre clé dans votre projet Cloud KMS.
Dans la console Google Cloud , accédez à la page IAM.
Sélectionnez Inclure les attributions de rôles fournies par Google.
Recherchez les membres qui correspondent aux formats d'adresse e-mail suivants. Notez ces adresses e-mail et utilisez-les dans les étapes suivantes.
L'adresse e-mail de l'agent de service de votre projet se présente comme suit :
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
L'adresse e-mail du compte de service Compute Engine se présente comme suit :
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Remplacez
NOTEBOOKS_PROJECT_NUMBER
par le numéro de projet de votre projet Vertex AI Workbench.Pour autoriser ces comptes à chiffrer et à déchiffrer des données à l'aide de votre clé, vous pouvez utiliser la console Google Cloud ou Google Cloud CLI.
Console
Dans la console Google Cloud , accédez à la page Gestion des clés.
Sélectionnez votre projet Cloud KMS.
Cliquez sur le nom du trousseau que vous avez créé à l'étape Créer un trousseau de clés et une clé. La page Détails du trousseau s'ouvre.
Cochez la case correspondant à la clé que vous avez créée à l'étape Créer un trousseau de clés et une clé. Si un panneau d'informations portant le nom de votre clé n'est pas déjà ouvert, cliquez sur Afficher le panneau d'informations.
Dans le panneau d'informations, cliquez sur Ajouter un membre
. La boîte de dialogue Ajouter des membres à "KEY_NAME" s'ouvre. Dans cette boîte de dialogue, procédez comme suit :Dans le champ Nouveaux membres, saisissez l'adresse e-mail de l'agent de service de votre projet :
service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
Dans la liste Sélectionner un rôle, cliquez sur Cloud KMS, puis sur le rôle Chiffreur/Déchiffreur de clé de chiffrement Cloud KMS.
Cliquez sur Enregistrer.
Répétez ces étapes pour l'agent de service Compute Engine :
service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
gcloud
Pour autoriser l'agent de service de votre projet à chiffrer et à déchiffrer des données à l'aide de votre clé, exécutez la commande suivante :
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Remplacez les éléments suivants :
KEY_NAME
: nom de la clé que vous avez créée à l'étape Créer un trousseau de clés et une clé.KEY_RING_NAME
: trousseau de clés que vous avez créé à l'étape Créer un trousseau de clés et une clé.REGION
: région dans laquelle vous avez créé votre trousseau de clés.KMS_PROJECT_ID
: ID de votre projet Cloud KMS.NOTEBOOKS_PROJECT_NUMBER
: numéro de votre projet Vertex AI Workbench, indiqué dans la section précédente dans l'adresse e-mail d'un compte de service.
Pour autoriser le compte de service Compute Engine à chiffrer et déchiffrer des données à l'aide de votre clé, exécutez la commande suivante :
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring=KEY_RING_NAME \ --location=REGION \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Dans la console Google Cloud , accédez à la page Instances.
Cliquez sur
Créer.Dans la boîte de dialogue Nouvelle instance, cliquez sur Options avancées.
Dans la boîte de dialogue Créer une instance, dans la section Détails, fournissez les informations suivantes pour la nouvelle instance :
- Nom : nom de la nouvelle instance.
- Région : région dans laquelle se trouve votre clé et votre trousseau.
- Zone : zone dans la région que vous avez sélectionnée.
Dans la section Disques, dans Chiffrement, sélectionnez Clé de chiffrement gérée par le client (CMEK).
Cliquez sur Sélectionner une clé gérée par le client.
- Si la clé gérée par le client que vous souhaitez utiliser figure dans la liste, sélectionnez-la.
Si la clé gérée par le client que vous souhaitez utiliser ne figure pas dans la liste, saisissez son ID de ressource. L'ID de ressource de votre clé gérée par le client se présente comme suit :
projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Remplacez les éléments suivants :
NOTEBOOKS_PROJECT_NUMBER
: ID de votre projet Vertex AI Workbench.KEY_RING_NAME
: trousseau de clés que vous avez créé à l'étape Créer un trousseau de clés et une clé.KEY_NAME
: nom de la clé que vous avez créée à l'étape Créer un trousseau de clés et une clé.
Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.
- En savoir plus sur les CMEK sur Google Cloud
- Découvrez comment utiliser CMEK avec d'autres produits Google Cloud.
Configurer le projet Vertex AI Workbench
Configurer la Google Cloud CLI
L'utilisation de gcloud CLI est obligatoire pour certaines étapes de ce guide et facultative pour d'autres.Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :
gcloud init
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Créer un trousseau de clés et une clé
Lorsque vous créez un trousseau et une clé, tenez compte des exigences suivantes :
Pour créer un trousseau et une clé, consultez la page Créer des clés de chiffrement symétriques.
Accorder des autorisations à Vertex AI Workbench
Pour utiliser CMEK pour votre instance Vertex AI Workbench, vous devez autoriser votre instance Vertex AI Workbench à chiffrer et déchiffrer des données à l'aide de votre clé. Vous accordez cette autorisation à l'agent de service de votre projet et au compte de service Compute Engine.
Pour rechercher les comptes spécifiques de votre projet Vertex AI Workbench, utilisez la console Google Cloud .
Créer une instance Vertex AI Workbench avec CMEK
Après avoir accordé à votre instance Vertex AI Workbench l'autorisation de chiffrer et de déchiffrer des données à l'aide de votre clé, vous pouvez créer une instance Vertex AI Workbench qui chiffre les données à l'aide de cette clé.
L'exemple suivant montre comment chiffrer et déchiffrer des données avec votre clé à l'aide de la console Google Cloud .
Pour créer une instance Vertex AI Workbench avec une clé de chiffrement gérée par le client, procédez comme suit :