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 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 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. Cloud KMS vous permet également 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 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 les clés CMEK pour Colab Enterprise.

Pour en savoir plus sur l'utilisation de CMEK pour Vertex AI, consultez la page CMEK pour Vertex AI.

CMEK pour Colab Enterprise

Vous pouvez utiliser des clés CMEK pour chiffrer les environnements d'exécution et les fichiers de 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é. Étant donné que 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 projet Google Cloud 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 projet Google Cloud , 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 du notebook en tant que 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 avec vos notebooks, consultez Définir une clé CMEK Dataform par défaut.

Clés acceptées

Colab Enterprise est compatible avec les types de clés CMEK suivants :

La disponibilité des clés varie selon leur type 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 les clés CMEK, mais avec les restrictions et limites 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 votre compte Google pour demander une augmentation du quota de configurations CMEK. Indiquez pourquoi vous avez besoin de plusieurs clés.

Quotas Cloud KMS et Colab Enterprise

Lorsque vous utilisez des clés 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 la page Quotas Cloud KMS.

Configurer CMEK pour vos runtimes

Les sections suivantes décrivent 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 à Colab Enterprise pour votre clé, et créer une configuration de modèle d'exécution configurée pour utiliser CMEK. Tout environnement d'exécution généré par Colab Enterprise à partir de ce modèle d'environnement d'exécution utilise le chiffrement CMEK.

Avant de commencer

Ce guide suppose que vous utilisez deux projets Google Cloud 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 produits Google Cloud dont vous avez besoin (dénommé "projet Notebooks").

Cette configuration recommandée accepte la séparation des tâches.

Vous pouvez également utiliser un seul projet Google Cloud 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 Notebooks.

Configurer le projet Cloud KMS

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API.

    Enable the API

  8. Configurer le projet Notebook

    1. 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.
    2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    3. Make sure that billing is enabled for your Google Cloud project.

    4. Enable the Vertex AI API.

      Enable the API

    5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    6. Make sure that billing is enabled for your Google Cloud project.

    7. Enable the Vertex AI API.

      Enable the API

    8. Configurer la Google Cloud CLI

      L'utilisation de gcloud CLI est obligatoire pour certaines étapes de ce guide et facultative pour d'autres.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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 qu'emplacement du trousseau de clés. Colab Enterprise n'accepte les clés 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 Notebooks, accédez à la page IAM dans la consoleGoogle Cloud , 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 Notebooks. Le compte de service porte également le nom Vertex AI Service Agent.

      Accéder à la page IAM

      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 console Google Cloud ou de Google Cloud CLI :

      Console Google Cloud

      1. Dans la console Google Cloud , cliquez sur Sécurité, puis sélectionnez Gestion des clés. Vous serez redirigé vers la page Clés de chiffrement. Sélectionnez votre projet Cloud KMS.

        Accéder à la page Clés de chiffrement

      2. Cliquez sur le nom du trousseau que vous avez créé dans une section précédente de ce guide pour accéder à la page Détails du trousseau.

      3. Cochez la case correspondant à 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.

      4. 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 :

        1. 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.com

        2. Dans 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.

        3. 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 Notebooks, 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 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 devez créer un modèle d'exécution avec votre clé CMEK spécifiée en tant que paramètre. Tout environnement d'exécution généré par Colab Enterprise à partir de ce modèle d'environnement d'exécution utilise le chiffrement CMEK.

      Pour créer un modèle d'exécution à l'aide de la console Google Cloud , vous spécifiez la clé dans la boîte de dialogue Créer un modèle d'exécution. Procédez comme suit :

      1. Dans la console Google Cloud , accédez à la page Modèles d'exécution de Colab Enterprise.

        Accéder à la page "Modèles d'exécution"

      2. Cliquez sur  Nouveau modèle.

        La boîte de dialogue Créer un modèle d'exécution s'affiche.

      3. Dans la section Configurer le calcul, sous Chiffrement, sélectionnez Clé Cloud KMS.

      4. Pour Type de clé, sélectionnez Cloud KMS, puis, dans le champ suivant, sélectionnez votre clé de chiffrement gérée par le client.

      5. 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 de l'onglet Modèles d'exécution.

      Étapes suivantes