Clés de chiffrement gérées par le client

Cette page explique comment utiliser votre propre clé de chiffrement pour protéger vos données dans les emplacements multirégionaux États-Unis et UE.

Par défaut, Vertex AI Agent Builder chiffre votre contenu stocké au repos. Vertex AI Agent Builder traite et gère ce chiffrement par défaut à votre place sans action supplémentaire de votre part.

Toutefois, si vous avez des exigences réglementaires ou de conformité spécifiques concernant qui protègent vos données, vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) pour protéger vos ressources. Dans ce cas, vous utiliserez Cloud KMS et suivez la procédure décrite sur cette page. La clé est associée à un emplacement spécifique : l'emplacement multirégional des États-Unis ou l'emplacement multirégional de l'UE.

Les clés Cloud KMS permettent de chiffrer et de déchiffrer les données de vos datastores et applications. Pour obtenir des informations générales sur Cloud KMS, consultez la Documentation Cloud Key Management Service

Limites de Cloud KMS dans Vertex AI Agent Builder

Les limites suivantes s'appliquent aux clés CMEK (Cloud KMS) dans l'outil de création d'agents Vertex AI :

  • Les clés déjà appliquées à un data store ne peuvent pas être modifiées.

  • Si vous disposez de règles d'administration CMEK, vous devez créer des datastores en utilisant et non à la console Google Cloud. La création de magasins de données à l'aide de la console Google Cloud échoue si vous avez activé les règles d'administration CMEK.

  • Une fois qu'une clé a été enregistrée, vous ne pouvez plus la désenregistrer ni la supprimer d'un entrepôt de données.

  • Vous devez utiliser des applications et des magasins de données multirégionaux aux États-Unis ou dans l'UE (et non des applications et des magasins de données globaux). Pour en savoir plus sur les emplacements multirégionaux et la résidence des données, y compris les limites associés à l'utilisation d'emplacements non mondiaux, consultez Emplacements Vertex AI Search ou Emplacements des agents Vertex AI.

  • Si vous devez enregistrer plusieurs clés pour un projet, contactez votre de demander une augmentation de quota pour les configurations CMEK, et justifier la raison pour laquelle vous avez besoin de plusieurs clés.

  • L'utilisation d'un système externe de gestion des clés (EKM) ou d'un module de sécurité matériel (HSM) avec CMEK est disponible en version GA avec une liste d'autorisation. Pour utiliser EKM ou HSM avec une clé CMEK, contactez votre de gestion du compte.

    Les limites suivantes s'appliquent aux EKM ou HSM avec CMEK:

    • Votre quota EKM et HSM pour le chiffrement et le déchiffrement des appels doit être d'au moins 1 000 QPM. Pour savoir comment vérifier vos quotas, consultez la section Vérifier vos Quotas Cloud KMS

    • Si vous utilisez un EKM, la clé doit être accessible pendant plus de 90 % de toute période de plus de 30 secondes. Si la clé n'est pas accessible pendant cette période, cela peut avoir un impact négatif sur l'indexation et la fraîcheur des résultats de recherche.

    • En cas de problèmes de facturation, de dépassement de quota persistant ou d'indisponibilité persistante pendant plus de 12 heures, le service désactive automatiquement la configuration Cmek associée à la clé EKM ou HSM.

  • Les data stores créés avant l'enregistrement d'une clé dans le projet ne peuvent pas être protégées par la clé.

  • Pour Vertex AI Search, l'édition Enterprise est requise. Pour sur l'édition Enterprise, consultez la page À propos des fonctionnalités avancées

  • Vous ne pouvez pas ajuster les modèles de recherche pour les data stores protégées par des clés CMEK.

  • Les data stores de recherche dans le secteur de la santé sont compatibles avec les CMEK. Toutefois, d'autres les datastores de connecteurs et le connecteur périodique BigQuery ne sont pas Compatibles CMEK. Pour en savoir plus sur les data stores de recherche dans le secteur de la santé, consultez la page Créer un data store de recherche dans le secteur de la santé. Généralités des informations sur les connecteurs tiers, consultez l'article Connecter des données tierces source.

  • La rotation des clés n'est pas compatible avec les applications de recommandations. Si vous désactivez ou détruisez une version de clé qui protège un espace de stockage de données associé à une application de recommandations, l'application de recommandations ne fonctionne plus.

  • La rotation des clés n'est pas compatible avec les données analytiques. Si vous faites pivoter des clés pour un data store, les applications qui l'utilisent n'affichent plus d'analyse.

  • Les clés CMEK ne s'appliquent pas aux API RAG suivantes: vérifier l'ancrage, le classement et génération ancrée.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

  • Une clé Cloud KMS symétrique dont la période de rotation est définie sur Never (Rotation manuelle). Consultez les articles Créer un trousseau de clés et Créer une clé dans Cloud KMS dans la documentation Google Cloud.

  • Rôle IAM "Chiffreur/Déchiffreur de clés cryptographiques" (roles/cloudkms.cryptoKeyEncrypterDecrypter) de la clé a été accordé à l'agent de service Discovery Engine. Pour obtenir des instructions générales sur l'ajout d'un rôle à un agent de service, consultez la section Attribuer ou révoquer un rôle unique.

  • Rôle IAM "Chiffreur/Déchiffreur de clés cryptographiques" (roles/cloudkms.cryptoKeyEncrypterDecrypter) sur la clé a été accordé à l'agent de service Cloud Storage. Si ce rôle n'est pas accordé, l'importation de données pour les data stores protégés par une clé CMEK, car Discovery Engine ne peut pas rendre le bucket et le répertoire temporaires protégés par une clé CMEK requises pour l'importation.

  • Ne créez pas de data stores ni d'applications que vous souhaitez gérer avec votre clé tant que Après avoir effectué l'enregistrement de la clé les instructions de cette page.

  • Les fonctionnalités de l'édition Enterprise sont activées pour l'application. Consultez Activer ou désactiver l'édition Enterprise.

Enregistrer votre clé Cloud KMS

Si vous souhaitez enregistrer votre propre clé gérée pour Vertex AI Agent Builder, suivez ces étapes:

  1. Appelez la méthode UpdateCmekConfig avec la clé Cloud KMS que vous que vous souhaitez enregistrer.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kms_key":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    
    • KMS_PROJECT_ID: ID du projet contenant le . Le numéro de projet ne fonctionne pas.
    • KMS_LOCATION : multirégion de votre clé KMS : us ou europe.
    • KEY_RING: nom du trousseau de clés contenant la clé.
    • KEY_NAME : nom de la clé.
    • PROJECT_ID: ID du projet contenant les données Google Store.
    • LOCATION : emplacement multirégional de votre data store (us ou eu).
    • CMEK_CONFIG_ID: ID de la ressource CmekConfig.
    • SET_DEFAULT: définissez la valeur sur true pour utiliser la clé par défaut. pour les data stores suivants créés dans l'emplacement multirégional.

    Voici un exemple d'appel et de réponse curl:

    $ curl -X PATCH
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json
    -d '{"kms_key":"projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"}'
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1?set_default=true"
     
    {
     "name": "projects/my-ai-app-project-123/locations/us/operations/update-cmek-config-56789",
     "metadata": {
      "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.UpdateCmekConfigMetadata"
     }
    }
    

  2. Facultatif: Enregistrez la valeur name renvoyée par la et suivez les instructions de la section Obtenir des détails sur une opération de longue durée voir quand l'opération est terminée.

    L'enregistrement d'une clé prend généralement quelques minutes.

Une fois l'opération terminée, les nouveaux datastores de cet emplacement multirégional sont protégées par la clé. Pour en savoir plus sur la création de data stores, consultez la page Créer un data store de recherche.

Afficher les clés Cloud KMS

Pour afficher une clé enregistrée pour Vertex AI Agent Builder, procédez comme suit :

  • Si vous disposez du nom de la ressource CmekConfig, appelez la méthode GetCmekConfig :

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    
    • LOCATION : emplacement multirégional de votre data store (us ou eu).
    • PROJECT_ID : ID de votre projet contenant les données
    • CMEK_CONFIG_ID : ID de la ressource CmekConfig.

    Voici un exemple d'appel et de réponse curl :

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1"
     
    {
      "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1",
      "kms_key": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
      "state": "ACTIVE"
      "is_default": true
    }
    

  • Si vous ne disposez pas du nom de ressource CmekConfig, appelez la méthode ListCmekConfigs:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    
    • LOCATION : emplacement multirégional de votre magasin de données : us ou eu.
    • PROJECT_ID : ID de votre projet contenant les données

    Voici un exemple d'appel et de réponse curl :

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs"
     
    {
      "cmek_configs": [
        {
          "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1",
          "kms_key": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
          "state": "ACTIVE"
          "is_default": true
        }
        {
          "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-2",
          "kms_key": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key-2"
          "state": "ACTIVE"
        }
      ]
    }
    

Facultatif: Vérifier qu'un data store est protégé par une clé

Les data stores créés avant l'enregistrement de votre clé ne sont pas protégés par la clé. Si vous souhaitez vérifier qu'un data store particulier est protégé par votre clé, procédez comme suit :

  1. Exécutez la commande curl suivante sur le data store:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: PROJECT_ID" \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
    
    • LOCATION : emplacement multirégional de votre data store (us ou eu).
    • PROJECT_ID: ID du projet contenant les données Google Store.
    • DATA_STORE_ID: ID du data store.

    Voici un exemple d'appel curl :

    curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json"
    -H "x-goog-user-project: my-ai-app-project-123"
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
    

  2. Examinez la sortie de la commande : si le champ cmekConfig figure dans la sortie et que le champ kmsKey affiche la clé que vous avez enregistrée, le datastore est protégé par la clé.

    Voici un exemple de réponse:

    {
     "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1",
     "displayName": "my-data-store-1",
     "industryVertical": "GENERIC",
     "createTime": "2023-09-05T21:20:21.520552Z",
     "solutionTypes": [
       "SOLUTION_TYPE_SEARCH"
     ],
     "defaultSchemaId": "default_schema",
     "cmekConfig": {
       "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/cmek-config-1",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

Rotation des clés

Lorsque vous effectuez une rotation de clés, vous créez une nouvelle version de la clé et définissez cette nouvelle version comme version principale. Laissez la version d'origine de la clé activée pendant un certain temps avant de la désactiver. Ainsi, les modèles de longue durée les opérations susceptibles d'utiliser l'ancien temps de clé.

La procédure suivante décrit les étapes à suivre pour alterner les clés d'un Data store de Vertex AI Agent Builder. Pour en savoir plus sur la rotation des clés, consultez la section Rotation des clés du guide Cloud KMS.

Important:N'alternez pas les clés des data stores associés aux recommandations applications ou avec des applications nécessitant des analyses. Consultez la section Limites de Cloud KMS dans Vertex AI Agent Builder.

  1. Enregistrez à nouveau votre clé. Pour ce faire, répétez l'étape 1 de la section Enregistrer votre clé Cloud KMS.

  2. Pour effectuer les opérations suivantes, consultez les instructions de la section Gérer les clés du guide Cloud KMS :

    1. Créez une version de clé, activez-la et définissez-la comme principale.

    2. Laissez l'ancienne version de clé activée.

    3. Au bout d'une semaine environ, désactivez l'ancienne version de clé et assurez-vous que que tout fonctionne comme avant.

    4. À une date ultérieure, lorsque vous êtes certain qu'aucun problème n'a été causé par désactiver l'ancienne version de clé, vous pouvez la détruire.

Si une clé est désactivée ou révoquée

Si une clé est désactivée ou si les autorisations associées sont révoquées, le datastore cesse d'ingérer et de diffuser des données sous 15 minutes. Toutefois, la réactivation d'une clé ou la restauration des autorisations prend beaucoup de temps. Il peut il peut s'écouler jusqu'à 24 heures avant que le data store puisse reprendre la diffusion des données.

Par conséquent, ne désactivez pas une clé, sauf si c'est nécessaire. La désactivation et l'activation d'une clé sur un magasin de données est une opération chronophage. Par exemple, si vous désactivez et activez une clé à plusieurs reprises, le magasin de données mettra beaucoup de temps à atteindre un état protégé. Désactiver une clé et Si vous le réactivez immédiatement après, vous risquez de provoquer des temps d'arrêt de plusieurs jours. car la clé est d'abord désactivée du data store réactivées.