Utiliser des clés de chiffrement gérées par le client (CMEK)
Par défaut, Colab Enterprise chiffre le contenu client au repos. Colab Enterprise gère le chiffrement pour vous sans que vous ayez à effectuer d'actions supplémentaires. 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 Colab Enterprise. 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. Grâce à Cloud KMS, vous pouvez également afficher les journaux d'audit et 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 Colab Enterprise 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).
Ce guide explique comment utiliser CMEK pour Colab Enterprise.
Pour en savoir plus sur l'utilisation de CMEK pour Vertex AI, consultez la page CMEK Vertex AI.
CMEK pour Colab Enterprise
Vous pouvez utiliser CMEK pour chiffrer les environnements d'exécution et les fichiers de notebook (notebooks) Colab Enterprise.
Environnements d'exécution
Lorsque vous exécutez du code dans un notebook Colab Enterprise, un environnement d'exécution exécute le code sur une ou plusieurs instances de machine virtuelle (VM) gérées par Colab Enterprise. Lorsque vous activez CMEK pour vos environnements d'exécution Colab Enterprise, la clé que vous désignez, et non une clé gérée par Google, est utilisée pour chiffrer les données sur ces VM. La clé CMEK chiffre les types de données suivants :
- La copie de votre code sur les VM
- Toutes les données qui sont chargées par votre code
- Toutes les données temporaires qui sont enregistrées sur le disque local par votre code
Vous pouvez démarrer, arrêter et mettre à niveau votre environnement d'exécution sans affecter son chiffrement CMEK.
En général, la clé CMEK ne chiffre pas les métadonnées associées à votre opération, telles que le nom de l'environnement d'exécution ou le nom et la région de votre notebook. Ces métadonnées sont toujours chiffrées à l'aide du mécanisme de chiffrement par défaut de Google.
Notebooks
Les notebooks Colab Enterprise sont stockés dans des dépôts Dataform. Lorsque vous créez un notebook, Colab Enterprise crée automatiquement un dépôt Dataform masqué dans lequel le notebook est stocké. Comme le dépôt est masqué, vous ne pouvez pas modifier ses paramètres de chiffrement comme vous le feriez avec d'autres dépôts Dataform.
Pour utiliser CMEK pour vos notebooks, vous devez définir une clé CMEK Dataform par défaut pour le Google Cloud projet qui contiendra vos notebooks. Une fois que vous avez défini une clé CMEK Dataform par défaut, Dataform l'applique par défaut à tous les nouveaux dépôts créés dans le Google Cloud projet, y compris les dépôts masqués créés pour stocker vos notebooks.
La clé CMEK Dataform par défaut n'est pas appliquée aux dépôts existants. Par conséquent, si vous avez déjà des notebooks dans ce projet, ils ne seront pas chiffrés par la clé CMEK Dataform par défaut. Pour utiliser CMEK avec un notebook créé avant que vous n'ayez défini la clé CMEK Dataform par défaut de votre projet, vous pouvez enregistrer le fichier de notebook en tant que nouveau notebook Colab Enterprise.
Pour en savoir plus sur les clés CMEK Dataform par défaut, consultez Utiliser les clés CMEK Dataform par défaut.
Pour utiliser CMEK pour vos notebooks, consultez Définir une clé CMEK Dataform par défaut.
Clés compatibles
Colab Enterprise est compatible avec les types de clés CMEK suivants :
La disponibilité des clés varie selon le type de clé et la région. Pour en savoir plus sur la disponibilité géographique des clés CMEK, consultez Emplacements Cloud KMS.
Restrictions et limitations
Colab Enterprise est compatible avec CMEK, avec les restrictions et limitations suivantes :
- Le quota par défaut dans Vertex AI est d'une clé de chiffrement par projet et par région. Si vous devez enregistrer plusieurs clés pour une région dans votre projet, contactez l'équipe de gestion de votre compte Google pour demander une augmentation de quota pour les configurations CMEK, en expliquant pourquoi vous avez besoin de plusieurs clés.
Quotas Cloud KMS et Colab Enterprise
Lorsque vous utilisez une CMEK dans Colab Enterprise, vos projets peuvent consommer des quotas de requêtes de chiffrement Cloud KMS. Les opérations de chiffrement et de déchiffrement à l'aide de clés CMEK n'affectent les quotas Cloud KMS que si vous utilisez des clés matérielles (Cloud HSM) ou externes (Cloud EKM). Pour en savoir plus, consultez Quotas Cloud KMS.
Configurer CMEK pour vos environnements d'exécution
Les sections suivantes décrivent comment créer un trousseau et une clé dans Cloud Key Management Service, accorder à Colab Enterprise des autorisations de chiffrement et de déchiffrement pour votre clé, et créer une configuration de modèle d'exécution pour utiliser CMEK. Tout environnement d'exécution généré par Colab Enterprise à partir de ce modèle d'exécution utilise le chiffrement CMEK.
Avant de commencer
Ce guide suppose que vous utilisez deux Google Cloud projets distincts pour configurer CMEK pour les environnements d'exécution Colab Enterprise :
- Un projet de gestion de votre clé de chiffrement (dénommé "projet Cloud KMS")
- Un projet pour accéder à vos ressources Colab Enterprise et interagir avec tous les autres Google Cloud produits dont vous avez besoin (dénommé "projet Notebook").
Cette configuration recommandée accepte la séparation des tâches.
Vous pouvez également utiliser un seul Google Cloud projet pour l'ensemble du guide. Pour ce faire, utilisez le même projet pour toutes les tâches suivantes qui se rapportent au projet Cloud KMS et les tâches qui se rapportent au projet Notebook.
Configurer le projet Cloud KMS
- Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles.
Configurer le projet Notebook
- Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Configurer 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, initialisezla en exécutant la commande suivante :
gcloud initSi 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é
Suivez le guide Cloud KMS sur la création de clés symétriques pour créer un trousseau et une clé. Lorsque vous créez votre trousseau, spécifiez une région compatible avec les opérations Colab Enterprise en tant que l'emplacement du trousseau de clés. Colab Enterprise n'est compatible avec CMEK que lorsque votre environnement d'exécution et votre clé utilisent la même région. Vous ne devez pas spécifier d'emplacement birégional, multirégional ou mondial pour votre trousseau de clés.
Assurez-vous de créer votre trousseau et votre clé dans votre projet Cloud KMS.
Accorder des autorisations à Colab Enterprise
Pour utiliser CMEK pour vos ressources, vous devez autoriser Colab Enterprise à chiffrer et déchiffrer des données à l'aide de votre clé.
Colab Enterprise utilise un agent de service
géré par Google pour exécuter des
opérations à l'aide de vos ressources. Ce compte de service est identifié par une adresse e-mail
au format suivant :
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com.
Pour trouver le compte de service approprié pour votre
projet Notebook, accédez à la page IAM dans la
Google Cloud console, puis recherchez le membre correspondant à ce format d'adresse
e-mail, en remplaçant la variable
NOTEBOOK_PROJECT_NUMBER par le numéro
de projet de votre projet Notebook. Le compte de service porte également le nom Vertex AI Service Agent.
Prenez note de l'adresse e-mail de ce compte de service et utilisez-la dans les étapes suivantes pour lui accorder l'autorisation de chiffrer et de déchiffrer des données à l'aide de votre clé. Vous pouvez accorder l'autorisation à l'aide de la Google Cloud console ou à l'aide de Google Cloud CLI :
Google Cloud Console
Dans la Google Cloud console, cliquez sur Sécurité , puis sélectionnez Gestion des clés. Vous serez redirigé vers la page Clés de chiffrement et vous pourrez sélectionner votre projet Cloud KMS.
Cliquez sur le nom du trousseau que vous avez créé dans une section précédente de ce guide pour accéder à la page Informations sur le trousseau.
Cochez la case de la clé que vous avez créée dans une section précédente de ce guide. 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 pour ouvrir la boîte de dialogue Ajouter des membres à "KEY_NAME". Dans cette boîte de dialogue, procédez comme suit :
Dans la zone Nouveaux membres, saisissez l'adresse e-mail du compte de service dont vous avez pris note dans la section précédente :
service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.comDans la liste déroulante 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.
gcloud
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-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Dans cette commande, remplacez les espaces réservés suivants :
- KEY_NAME : nom de la clé que vous avez créée dans une section précédente de ce guide.
- KEY_RING_NAME : trousseau de clés que vous avez créé dans une section précédente de ce guide.
- REGION : région dans laquelle vous avez créé votre trousseau de clés.
- KMS_PROJECT_ID : ID de votre projet Cloud KMS.
- NOTEBOOK_PROJECT_NUMBER : numéro de votre projet Notebook, indiqué dans la section précédente dans l'adresse e-mail d'un compte de service.
Configurer un modèle d'exécution avec la clé KMS
Lorsque vous créez une nouvelle ressource compatible avec CMEK, vous pouvez spécifier votre clé comme l'un des paramètres de création. Pour créer un environnement d'exécution Colab Enterprise, vous créez un modèle d'exécution avec votre clé CMEK spécifiée comme paramètre. Tout environnement d'exécution généré par Colab Enterprise à partir de ce modèle d'exécution utilise le chiffrement CMEK.
Pour créer un modèle d'exécution à l'aide de la Google Cloud console, spécifiez la clé dans la boîte de dialogue Créer un modèle d'exécution. Procédez comme suit :
-
Dans la Google Cloud console, accédez à la page Modèles d'exécution de Colab Enterprise.
-
Cliquez sur Nouveau modèle.
La boîte de dialogue Créer un modèle d'exécution s'affiche.
-
Dans la section Configurer le calcul, sous Chiffrement, sélectionnez Clé Cloud KMS.
-
Pour Type de clé, sélectionnez Cloud KMS, et puis, dans le champ suivant, sélectionnez votre clé de chiffrement gérée par le client.
-
Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.
Votre modèle d'exécution apparaît dans la liste sur l'onglet Modèles d'exécution.
Étape suivante
- Pour utiliser CMEK pour vos notebooks, consultez Définir une clé CMEK Dataform par défaut.
- En savoir plus sur CMEK sur Google Cloud.
- Découvrez comment utiliser CMEK avec d'autres Google Cloud produits.