Clés de chiffrement gérées par le client (CMEK)

Par défaut, Gemini Enterprise Agent Platform chiffre les contenus client au repos. Agent Platform 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 Agent Platform. 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, de consulter 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 Agent Platform 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 décrit certains avantages liés à l'utilisation des clés CMEK avec les ressources Gemini Enterprise Agent Platform et explique comment configurer un job d'entraînement pour qu'il utilise des clés CMEK.

Pour en savoir plus sur l'utilisation des clés CMEK pour Colab Enterprise, consultez la page Clés CMEK pour Colab Enterprise. Pour en savoir plus sur l'utilisation des clés CMEK pour les instances Gemini Enterprise Agent Platform Workbench, consultez la page Clés CMEK pour les instances Agent Platform Workbench.

CMEK pour les ressources Gemini Enterprise Agent Platform

Les sections suivantes décrivent les informations de base à connaître sur les clés CMEK pour les ressources Gemini Enterprise Agent Platform avant de les configurer pour vos jobs.

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 KMS. 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. Pour plus d'informations sur CMEK en général, y compris quand et pourquoi l'activer, consultez la documentation Cloud KMS.

Lorsque vous exécutez un AutoML personnalisé AutoML, votre code s'exécute sur une ou plusieurs instances de machine virtuelle (VM) gérées par Gemini Enterprise Agent Platform. Lorsque vous activez CMEK pour les ressources Gemini Enterprise Agent Platform, la clé que vous désignez, et non une clé gérée par Google, est utilisée pour chiffrer les données sur les disques de démarrage de 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
  • Modèles entraînés automatiquement
  • Fichiers multimédias (données) importés dans des ensembles de données multimédias.

En général, la clé CMEK ne chiffre pas les métadonnées associées à votre opération, telles que le nom et la région de la tâche, ou le nom à afficher d'un ensemble de données. Les métadonnées associées aux opérations sont toujours chiffrées à l'aide du mécanisme de chiffrement par défaut de Google.

Pour les ensembles de données, lorsqu'un utilisateur importe des données dans l'ensemble de données, les éléments de données et les annotations sont chiffrés par CMEK. Le nom à afficher de l'ensemble de données n'est pas chiffré avec le chiffrement CMEK.

Pour les modèles, les modèles stockés dans le système de stockage (par exemple, un disque) sont chiffrés avec CMEK. Tous les résultats d'évaluation du modèle sont chiffrés avec CMEK.

Pour les points de terminaison endpoints, tous les fichiers de modèle utilisés pour le déploiement de modèle dans le point de terminaison sont chiffrés par CMEK. Cela n'inclut pas les données en mémoire.

Pour la prédiction par lot, tous les fichiers temporaires (tels que les fichiers de modèle, les journaux, les disques de VM) utilisés pour exécuter le job de prédiction par lot sont chiffrés avec CMEK. Les résultats de la prédiction par lot sont stockés dans la destination fournie par l'utilisateur. Par conséquent, Agent Platform respecte la valeur par défaut de la configuration de chiffrement de la destination. Sinon, les résultats seront également chiffrés avec CMEK.

Pour l'étiquetage de données, tous les fichiers d'entrée (images, textes, tabulaires), toutes les discussions temporaires (par exemple questions, commentaires) et toutes les sorties (résultats de libellé) sont chiffrés par CMEK. Les noms à afficher des spécifications d'annotation ne sont pas chiffrés avec le chiffrement CMEK.

Pour les agents, CMEK chiffre tous les fichiers sources utilisés pour le développement des agents. De plus, les images de conteneur et les instances déployées pour l'agent sont également chiffrées avec CMEK.

Clés externes

Vous pouvez utiliser Cloud External Key Manager (Cloud EKM) pour créer des clés externes que vous gérez afin de chiffrer les données dans Google Cloud.

Lorsque vous utilisez une clé Cloud EKM, Google n'a aucun contrôle sur la disponibilité de votre clé gérée en externe. Si vous demandez l'accès à une ressource chiffrée avec une clé gérée en externe et que la clé n'est pas disponible, Gemini Enterprise Agent Platform rejette la requête. Il peut s'écouler jusqu'à 10 minutes avant que vous ne puissiez accéder à la ressource une fois la clé disponible.

Pour plus d'informations sur l'utilisation des clés externes, consultez la section Cloud External Key Manager.

Utiliser CMEK avec d'autres produits Google Cloud

La configuration des clés CMEK pour les ressources Gemini Enterprise Agent Platform ne permet pas de configurer automatiquement des clés CMEK pour les autres produits Google Cloud utilisés avec Gemini Enterprise Agent Platform. Pour chiffrer des données dans d'autres produitsGoogle Cloud avec CMEK, une configuration supplémentaire est requise. Exemple :

Ressources actuelles compatibles avec les CMEK

Voici les ressources Gemini Enterprise Agent Platform actuellement couvertes par le chiffrement CMEK. La prise en charge de CMEK des fonctionnalités bêta est également au statut bêta.

Ressource Éléments chiffrés Liens vers la documentation
Ensemble de données
  • Toutes les données importées par l'utilisateur (par exemple, le contenu textuel) pour DataItems et Annotations.
  • Le contenu créé par l'utilisateur, tel que AnnotationSpecs ou ColumnSpecs.
Modèle
  • Fichiers de modèle importés.
  • Résultats de l'évaluation du modèle entraîné.
Point de terminaison
  • Tous les fichiers de modèle utilisés pour le déploiement du modèle sous le point de terminaison. Cela n'inclut pas les données en mémoire, mais le déploiement du modèle sera annulé automatiquement si la clé est désactivée.
Tâche personnalisée
  • Copie de votre code sur les VM utilisées pour exécuter l'opération.
  • 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.
HyperparameterTuningJob
  • Copie de votre code sur les VM utilisées pour exécuter l'opération.
  • 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.
TrainingPipeline
  • Copie de votre code sur les VM utilisées pour exécuter l'opération.
  • 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.
  • Modèles entraînés automatiquement
BatchPredictionJob (à l'exception de prédiction par lot d'image AutoML)
  • Tous les fichiers temporaires (par exemple les fichiers de modèle, les journaux, les disques de VM) utilisés dans le job pour effectuer la tâche de prédiction par lot.
  • Si les résultats écrits de la BatchPrediction sont stockés dans la destination fournie par l'utilisateur, ils respectent la configuration de chiffrement de sa valeur par défaut. Sinon, il sera également chiffré avec CMEK.
ModelDeploymentMonitoringJob
  • Tous les fichiers temporaires (par exemple les fichiers d'ensembles de données d'entraînement, les journaux, les disques de VM) utilisés dans le job pour traiter le job de surveillance de déploiement de modèle.
  • Toutes les données utilisées pour la détection d'anomalies dans la surveillance.
  • Si la clé est désactivée, la tâche de surveillance de déploiement de modèle sera mise en pause.
PipelineJob
  • La tâche de pipeline et toutes ses sous-ressources.
MetadataStore
  • Tout le contenu du magasin de métadonnées.
TensorBoard
  • Toutes les données des journaux TensorBoard importés, y compris les valeurs scalaires, les histogrammes, les définitions de graphes, les images et le texte.
Featurestore
  • Le featurestore et l'ensemble du contenu du featurestore.
Index
  • Tous les fichiers de données utilisés pour les index Vector Search stockés dans Cloud Storage, Pub/Sub et la mémoire de stockage interne. Le type Index et IndexEndpoint doivent être créés avec la même clé.
IndexEndpoint
  • Tous les fichiers de données utilisés pour les index Vector Search stockés dans Cloud Storage, Pub/Sub et la mémoire de stockage interne. Le type Index et IndexEndpoint doivent être créés avec la même clé.
Environnement d'exécution Colab Enterprise
  • Le disque de démarrage et les disques de données de la VM de l'environnement d'exécution.
Notebook Colab Enterprise
  • Le fichier notebook et ses commentaires
Environnement d'exécution de l'agent
  • Copie des fichiers sources de votre agent, y compris le code, les scripts et tous les fichiers de dépendance
  • Images de conteneur créées à partir des fichiers sources de votre agent
  • Instances en cours d'exécution déployées à partir des images de conteneur de votre agent
Bacs à sable Agent Platform
  • États des points de contrôle de la mémoire et stockage sur disque des instances de bac à sable en cours d'exécution
  • Configurations d'environnement et superposition de conteneurs personnalisées
  • Instantanés et modèles de bac à sable enregistrés
ServingProfile
  • Données stockées au repos par des API sans ressources (basées sur les requêtes), par exemple les données de reprise de session de l'API Gemini Live.

Compatibilité CMEK avec les pipelines de réglage de l'IA générative

La fonctionnalité CMEK est fournie dans le pipeline de réglage des modèles suivants :

  • BERT
  • T5
  • image-generation (GPU)

Limites

La compatibilité CMEK n'est pas fournie dans les cas suivants :

  • Prédiction par lot d'un modèle d'image AutoML (BatchPredictionJob)
  • Réglage des TPU
  • Agent Platform Memory Bank ou Agent Platform Sessions configurés pour utiliser le point de terminaison global. Cloud KMS exige que les clés de chiffrement résident dans une limite de résidence des données géographiques fixe. Étant donné que la région mondiale ne dispose pas de limite géographique physique, elle ne peut pas chiffrer les ressources régionales ou multirégionales localisées.
  • La clé CMEK du profil de diffusion pour les API sans ressources est limitée à l'API Gemini Live, dans les multirégions us et eu. La région mondiale n'est pas acceptée.

Configurer les CMEK pour vos ressources

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 à Agent Platform pour votre clé, et créer des ressources utilisant des clés CMEK.

Avant de commencer

Dans ce guide, nous partons du principe que vous utilisez deux projets Google Cloud distincts pour configurer les clés CMEK associées aux données Agent Platform :

  • Un projet de gestion de votre clé de chiffrement (dénommé "projet Cloud KMS")
  • Projet permettant d'accéder aux données ou aux résultats d'Agent Platform dans Cloud Storage, et d'interagir avec tous les autres produits Google Clouddont vous avez besoin pour votre cas d'utilisation (appelé "projet AI Platform").

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 AI Platform.

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 sans frais 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.

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Configurer le projet AI Platform

  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 sans frais 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.

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Configurer la Google Cloud CLI

L'utilisation de la 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é

Suivez le guide Cloud KMS sur la création de clés symétriques pour créer un trousseau de clés et une clé. Lorsque vous créez votre trousseau de clés, spécifiez une région compatible avec les opérations de l'Agent Platform comme emplacement du trousseau de clés. L'entraînement Agent Platform n'est compatible avec CMEK que lorsque votre ressource 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 Agent Platform

Pour utiliser CMEK pour vos ressources, vous devez autoriser la plate-forme d'agent à chiffrer et déchiffrer des données à l'aide de votre clé. Agent Platform 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 AI Platform, accédez à la page IAM dans la console Google Cloud , puis recherchez le membre correspondant à ce format d'adresse e-mail, avec le numéro de projet de votre projet AI Platform en remplaçant la variable AI_PLATFORM_PROJECT_NUMBER. Le compte de service porte également le nom Agent Platform 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 de clés que vous avez créé dans une section précédente de ce guide pour accéder à la page Détails du trousseau de clés.

  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-AI_PLATFORM_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-AI_PLATFORM_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.
  • AI_PLATFORM_PROJECT_NUMBER : numéro de votre projet AI Platform, indiqué dans la section précédente dans l'adresse e-mail d'un compte de service.

Créer des ressources 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.

Console

Lorsque vous créez une ressource compatible avec CMEK dans la section "Plate-forme d'agent" de laGoogle Cloud  Console, vous pouvez sélectionner votre clé dans la section "Général" ou "Options avancées" :

Section sur la sélection de clé de chiffrement pour une ressource

API REST et ligne de commande

Lorsque vous créez une ressource compatible, ajoutez un objet encryptionSpec à votre requête et définissez le champ encryptionSpec.kmsKeyName pour qu'il pointe vers votre ressource de clé.

Par exemple, lors de la création d'une ressource dataset, vous devez spécifier votre clé dans le corps de la requête:

 {
   "displayName": DATASET_NAME,
   "metadataSchemaUri": METADATA_URI,
   "encryptionSpec": {
     "kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
   }
 }

Java

Lorsque vous créez une ressource compatible, définissez EncryptionSpec pour qu'il pointe vers votre ressource de clé. Pour en savoir plus, consultez la documentation de la bibliothèque cliente Agent Platform pour Java.

Node.js

Lorsque vous créez une ressource compatible, définissez le paramètre encryptionSpec pour qu'il pointe vers votre ressource de clé. Pour en savoir plus, consultez la documentation de la bibliothèque cliente Agent Platform pour Node.js.

Python

Lorsque vous créez une ressource compatible, définissez le paramètre encryption_spec pour qu'il pointe vers votre ressource de clé. Reportez-vous à la documentation sur le client Python pour Cloud AI Platform pour en savoir plus.

Utiliser CMEK avec les API sans ressources

Certaines API Gemini Enterprise Agent Platform sont sans ressource (basées sur les requêtes) : elles traitent les requêtes d'inférence sans créer de ressource de premier niveau de longue durée. Pour prendre en charge des fonctionnalités telles que la continuité de session, ces API peuvent stocker les données utilisateur au repos pendant une durée limitée. Par exemple, l'API Gemini Live stocke les données de reprise de session pendant 24 heures maximum. Étant donné qu'il n'existe aucune ressource persistante à laquelle associer une clé lors de la création des données, vous utilisez un profil de diffusion pour appliquer la CMEK à ces données au repos.

Un profil de diffusion est une ressource Gemini Enterprise Agent Platform qui associe une clé Cloud KMS à un projet, un emplacement et un champ d'application d'API. Si un profil de diffusion existe pour le projet, l'emplacement et le champ d'application d'une requête, Agent Platform chiffre automatiquement les données persistantes de ce champ d'application avec votre clé. Le format de votre demande d'inférence ne change pas.

Avantages des profils de diffusion

  • Respecter les exigences de conformité : répondre aux critères d'audit qui exigent que le client contrôle la clé de chiffrement et le cycle de vie des données.
  • Contrôle total de vos données : désactivez ou révoquez l'accès aux clés à tout moment pour bloquer l'accès à vos données chiffrées.
  • Transparence, sans modification du code : le format de votre requête d'inférence existant reste inchangé. Le chiffrement est appliqué automatiquement tant qu'un profil de diffusion existe.
  • Contrôle précis : appliquez une clé distincte par champ d'application de l'API pour limiter l'impact en cas de clé compromise et suivez le principe du moindre privilège.

Fonctionnement du chiffrement transparent

  1. Vous envoyez une requête à une API sans ressource compatible au niveau de votre point de terminaison régional Agent Platform.
  2. Agent Platform résout le profil de diffusion pour votre projet, votre emplacement et votre portée.
  3. Les données persistantes pour ce champ d'application sont automatiquement chiffrées avec votre clé, sans aucune modification de la requête.
  4. Si aucun profil de diffusion n'existe pour ce projet, cet emplacement et cette portée, la plate-forme d'agent utilise par défaut le chiffrement géré par Google.

Limites concernant les profils de diffusion

  • API acceptée : API Gemini Live (champ d'application GEMINI_LIVE).
  • Régions acceptées : emplacements multirégionaux us et eu. La région mondiale n'est pas acceptée en raison des limites de Cloud KMS et de CMEK de stockage dans cette région.
  • Une fois la clé et le champ d'application du chiffrement créés, ils ne peuvent plus être modifiés. Seuls le nom à afficher et la description peuvent être modifiés. Pour modifier la clé ou le champ d'application, supprimez le profil de diffusion et créez-en un avec un autre servingProfileId (voir Désactiver CMEK et revenir au chiffrement par défaut).

Avant de commencer

  1. Activez les API Cloud KMS et Agent Platform dans votre projet.
  2. Créez ou identifiez une clé Cloud KMS dans une multirégion compatible (us ou eu). N'utilisez pas la région mondiale. Consultez Créer un trousseau de clés et une clé.
  3. Attribuez le rôle roles/cloudkms.cryptoKeyEncrypterDecrypter à l'agent de service Gemini Enterprise Agent Platform sur la clé. Consultez Accorder des autorisations à Agent Platform.
  4. Assurez-vous de disposer des autorisations IAM nécessaires pour gérer les profils de diffusion (aiplatform.servingProfiles.create, get, list, update et delete).

Les exemples des sections suivantes utilisent ces valeurs :

  • LOCATION : emplacement multirégional, us ou eu.
  • PROJECT : ID ou numéro de votre projet.
  • API_VERSION : v1 ou v1beta1.
  • SERVING_PROFILE_ID : entre 1 et 63 caractères (lettres minuscules, chiffres et traits d'union). Il doit commencer par une lettre et se terminer par une lettre ou un chiffre. Cette valeur devient le dernier composant du nom de ressource.
  • scope : API sans ressource à laquelle le profil de diffusion s'applique. La valeur acceptée est GEMINI_LIVE.
  • La clé Cloud KMS est définie dans cmekConfig.encryptionSpec.kmsKeyName et doit correspondre à projects/*/locations/*/keyRings/*/cryptoKeys/*.

Les requêtes REST sont envoyées au point de terminaison régional https://LOCATION-aiplatform.googleapis.com et authentifiées avec un jeton porteur OAuth 2.0 :

-H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "Content-Type: application/json"

Créer un profil de diffusion

La création d'un profil de diffusion permet la protection CMEK pour les données persistantes du champ d'application. Les champs displayName, scope et cmekConfig.encryptionSpec.kmsKeyName sont obligatoires.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles?servingProfileId=SERVING_PROFILE_ID" \
  -d '{
    "displayName": "My CMEK serving profile",
    "description": "CMEK for Gemini Live",
    "scope": "GEMINI_LIVE",
    "cmekConfig": {
      "encryptionSpec": {
        "kmsKeyName": "projects/PROJECT/locations/LOCATION/keyRings/RING/cryptoKeys/KEY"
      }
    }
  }'

La méthode "Create" renvoie une opération de longue durée. Interrogez-le à l'adresse GET https://LOCATION-aiplatform.googleapis.com/API_VERSION/OPERATION_NAME jusqu'à ce que la réponse contienne "done": true. Attendez la fin de l'opération avant de récupérer, de mettre à jour ou de supprimer le profil de diffusion.

Confirmer le profil de diffusion

Une fois l'opération de création terminée, utilisez get ou list pour confirmer le profil de diffusion :

# Get one serving profile.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID"

# List serving profiles in a location.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles?pageSize=50"

Mettre à jour les métadonnées du profil de diffusion

Vous ne pouvez mettre à jour que les champs displayName et description. La clé et le champ d'application sont immuables. Le paramètre updateMask est facultatif. Si vous l'omettez, tous les champs modifiables renseignés sont mis à jour. Cet appel renvoie le profil de diffusion mis à jour.

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID?updateMask=displayName,description" \
  -d '{"displayName": "Renamed profile", "description": "Updated description"}'

Désactiver CMEK et revenir au chiffrement par défaut

Supprimez le profil de diffusion. Les nouvelles données pour le champ d'application sont ensuite chiffrées avec le chiffrement géré par Google. Les données déjà chiffrées avec votre clé restent protégées jusqu'à ce qu'elles atteignent leur TTL ou soient effacées, conformément au règlement de conservation de l'API.

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID"

Après la suppression d'un profil de diffusion, son servingProfileId est réservé pendant 30 jours afin que vous puissiez restaurer la clé et le champ d'application d'origine. Pendant cette période, pour créer un profil de diffusion avec une clé ou un champ d'application différents, utilisez un autre servingProfileId.

Restaurer un profil de diffusion supprimé

Vous pouvez restaurer un profil de diffusion dans les 30 jours suivant sa suppression. Vérifiez que la clé Cloud KMS d'origine est toujours activée et que l'agent de service Gemini Enterprise Agent Platform y a toujours accès. Créez ensuite un profil de diffusion avec les mêmes servingProfileId, scope et clé. Agent Platform reprend la protection des données persistantes du champ d'application avec votre clé, y compris les données qui ont été chiffrées avant la suppression du profil.

La révocation des clés

Si vous désactivez la clé Cloud KMS ou supprimez l'accès de l'agent de service Gemini Enterprise Agent Platform, les conséquences suivantes se produisent :

  • Agent Platform ne peut plus chiffrer ni déchiffrer les données persistantes du champ d'application.
  • Les requêtes qui doivent accéder à des données protégées échouent avec une erreur FAILED_PRECONDITION indiquant que la clé n'est pas disponible.

Réactivez la clé ou restaurez l'autorisation IAM pour rétablir l'accès.

Tarifs des profils de diffusion

Aucuns frais supplémentaires ne sont facturés pour la diffusion de profils. Vous payez les tarifs standards des opérations de clés Cloud KMS pour le chiffrement et le déchiffrement.

Dépannage

  • Échec ou blocage de la création du profil de diffusion : vérifiez que l'agent de service Gemini Enterprise Agent Platform dispose du rôle roles/cloudkms.cryptoKeyEncrypterDecrypter sur la clé, et que la clé est activée et se trouve dans une multirégion compatible (us ou eu, et non globale).
  • L'inférence n'utilise pas CMEK : vérifiez qu'un profil de diffusion existe pour le projet, l'emplacement et le champ d'application correspondants (GEMINI_LIVE).
  • Erreurs FAILED_PRECONDITION : ces erreurs indiquent généralement que la clé a été désactivée ou que l'accès a été révoqué. Réactivez la clé ou restaurez l'autorisation IAM.

Étapes suivantes