Utiliser les clés de chiffrement gérées par le client

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 concernant 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 vos instances de notebooks gérés par Vertex AI Workbench.

Cette page décrit certains avantages et limites spécifiques de l'utilisation du chiffrement CMEK avec les notebooks gérés, et explique comment configurer une nouvelle instance de notebooks gérés pour utiliser le chiffrement CMEK.

Pour en savoir plus sur le chiffrement CMEK en général, y compris quand et pourquoi l'activer, consultez la page Clés de chiffrement gérées par le client.

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 de notebooks gérés, celle-ci s'exécute dans une infrastructure de calcul gérée par Google. Lorsque vous activez CMEK pour une instance de notebooks gérés, Vertex AI Workbench utilise la clé que vous désignez, et non une clé gérée par Google, pour chiffrer vos données utilisateur.

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 de notebooks gérés. Les métadonnées associées aux instances de notebooks gérés 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 régionales de notebooks gérés en faisant appel à des clés situées au même emplacement.

  • Vous pouvez chiffrer des instances régionales de notebooks gérés à l'aide de clés situées au même emplacement ou dans l'emplacement global. Par exemple, vous pouvez chiffrer les données utilisateur dans la région us-west1 à l'aide d'une clé dans us-west1 ou global.
  • Configurer CMEK pour les notebooks gérés 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 de notebooks gérés

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 de notebooks gérés utilisant CMEK.

Avant de commencer

Nous vous recommandons d'utiliser une configuration compatible avec la séparation des tâches. Pour configurer CMEK pour les notebooks gérés, vous pouvez utiliser deux projets Google Cloud distincts :

  • Un projet Cloud KMS : projet permettant de gérer votre clé de chiffrement.
  • Un projet de notebooks gérés : un projet permettant d'accéder aux instances de notebooks gérés 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

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  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

Configurer le projet de notebooks gérés

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  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 Notebooks 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 Notebooks API.

    Enable the API

Configurer Google Cloud CLI

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

Install the Google Cloud CLI, then initialize it by running the following command:

gcloud init

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

Lorsque vous créez un trousseau et une clé, tenez compte des exigences suivantes :

  • Lorsque vous choisissez l'emplacement de votre trousseau de clés, utilisez l'emplacement global ou l'emplacement de votre instance de notebooks gérés.

  • Assurez-vous de créer votre trousseau et votre clé dans votre projet Cloud KMS.

Pour créer un trousseau et une clé, consultez la page Créer des clés de chiffrement symétriques.

Accorder des autorisations pour les notebooks gérés

Si vous configurez votre instance avec un accès utilisateur unique, vous devez autoriser le projet de votre instance de notebooks gérés à chiffrer et à déchiffrer des données à l'aide de votre clé. Vous accordez cette autorisation à l'agent de service de votre projet. L'adresse e-mail de cet agent de service se présente comme suit :

service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com

Remplacez NOTEBOOKS_PROJECT_NUMBER par le numéro de projet de votre instance de notebooks gérés.

Notez l'adresse e-mail de votre agent de service. Vous allez l'utiliser dans les étapes suivantes pour autoriser le projet de votre instance de notebooks gérés à chiffrer et à déchiffrer des données à l'aide de votre clé. Vous pouvez accorder l'autorisation à l'aide de Google Cloud Console ou de Google Cloud CLI.

Console

  1. Dans Google Cloud Console, accédez à la page Clés cryptographiques.

    Accéder à la page Clés cryptographiques

  2. Sélectionnez votre projet Cloud KMS.

  3. 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.

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

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

    1. Dans le champ Nouveaux membres, saisissez l'adresse e-mail de l'agent de service dont vous avez pris note dans la section précédente.

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

    3. Cliquez sur Enregistrer.

gcloud

  1. Exécutez la commande suivante pour autoriser l'agent de service à chiffrer et à déchiffrer des données à l'aide de votre clé :

    gcloud kms keys add-iam-policy-binding KEY_NAME \
        --keyring=KEY_RING_NAME \
        --location=REGION \
        --project=KMS_PROJECT_ID \
        --member=serviceAccount:EMAIL_ADDRESS \
        --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.
    • EMAIL_ADDRESS : adresse e-mail de l'agent de service dont vous avez pris note dans la section précédente

Créer une instance de notebooks gérés avec CMEK

Après avoir accordé à votre instance de notebooks gérés l'autorisation de chiffrer et de déchiffrer des données à l'aide de votre clé, vous pouvez créer une instance de notebooks gérés qui chiffre les données à l'aide de cette clé. Procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés.

    Accéder à la page "Notebooks gérés"

  2. Cliquez sur  Nouveau notebook.

  3. Dans le champ Nom du notebook, saisissez un nom pour votre instance.

  4. Cliquez sur la liste Région et sélectionnez une région pour votre instance.

  5. Cliquez sur Paramètres avancés.

  6. Dans la section Chiffrement de disque, sélectionnez Clé de chiffrement gérée par le client (CMEK).

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

  8. Renseignez les autres champs de la boîte de dialogue Créer un notebook géré en fonction de vos besoins.

  9. Cliquez sur Create (Créer).

  10. Vertex AI Workbench crée une instance de notebooks gérés en fonction des propriétés spécifiées et la démarre automatiquement. Lorsque l'instance est prête à l'emploi, Vertex AI Workbench active un lien Ouvrir JupyterLab.

Étape suivante