Vom Kunden verwaltete Verschlüsselungsschlüssel

Auf dieser Seite wird beschrieben, wie Sie Ihre Datenspeicher in den USA und der EU mit einem eigenen Verschlüsselungsschlüssel schützen.

Standardmäßig verschlüsselt Vertex AI Agent Builder inaktive Daten. Vertex AI Agent Builder übernimmt und verwaltet diese Standardverschlüsselung für Sie Sie müssen nichts weiter tun.

Wenn Sie jedoch bestimmte Compliance- oder behördliche Anforderungen in Bezug auf die Schlüssel zum Schutz Ihrer Daten haben, können Sie zum Schutz Ihrer Ressourcen vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. In diesem Fall verwenden Sie Cloud KMS-Schlüssel und folgen der Anleitung auf dieser Seite. Der Schlüssel ist einem Bestimmter Standort: der multiregionale Standort „USA“ oder der multiregionale Standort „EU“

Cloud KMS-Schlüssel werden zum Verschlüsseln und Entschlüsseln der Daten in Ihren Daten verwendet und Apps. Allgemeine Informationen zu Cloud KMS finden Sie in der Dokumentation zu Cloud Key Management Service

Einschränkungen von Cloud KMS in Vertex AI Agent Builder

Die folgenden Einschränkungen gelten für CMEK-Schlüssel (Cloud KMS) in Vertex AI Agent Builder:

  • Schlüssel, die bereits auf einen Datenspeicher angewendet wurden, können nicht geändert werden.

  • Nachdem ein Schlüssel registriert wurde, kann er nicht mehr deregistriert oder aus einem Datenspeicher entfernt werden.

  • Sie müssen multiregionale Datenspeicher und ‑anwendungen in den USA oder der EU verwenden (keine globalen). Weitere Informationen zu Multiregionen und Datenspeicherort, einschließlich Einschränkungen bei der Verwendung nicht globaler Standorte, finden Sie unter Vertex AI Search-Standorte oder Vertex AI-Kundenservicemitarbeiter-Standorte.

  • Wenn Sie mehr als einen Schlüssel für ein Projekt registrieren müssen, wenden Sie sich an Ihr Google-Kontoteam, um eine Kontingenterhöhung für CMEK-Konfigurationen zu beantragen. Geben Sie dabei an, warum Sie mehr als einen Schlüssel benötigen.

  • Datenspeicher, die erstellt wurden, bevor ein Schlüssel für das Projekt registriert wurde, können nicht durch den Schlüssel geschützt werden.

  • Für Vertex AI Search ist die Enterprise-Version erforderlich. Für Informationen zur Enterprise-Version finden Sie unter Erweiterte Funktionen

  • Sie können keine Suchmodelle für Datenspeicher anpassen, die durch CMEK-Schlüssel geschützt.

  • Datenspeicher für Gesundheitssuche sind CMEK-konform. Andere Datenspeicher von Drittanbieter-Connectors und der BigQuery-Connector für periodische Daten sind jedoch nicht CMEK-kompatibel. Allgemeine Informationen zu Datenspeichern für die Gesundheitsbranche finden Sie unter Suchdatenspeicher für die Gesundheitsbranche erstellen. Allgemeine Informationen zu Drittanbieter-Connectors finden Sie unter Datenquelle eines Drittanbieters verbinden.

  • Die Schlüsselrotation wird für Empfehlungs-Apps nicht unterstützt. Wenn Sie eine Schlüsselversion deaktivieren oder zerstören, die einen zugehörigen Datenspeicher schützt, mit einer Empfehlungs-App funktioniert die Empfehlungs-App nicht mehr.

  • Die Schlüsselrotation ist nicht mit Analytics kompatibel. Wenn Sie Schlüssel für einen Datenspeicher rotieren, werden in Apps, die diesen Datenspeicher verwenden, keine Analysen mehr angezeigt.

  • CMEK-Schlüssel gelten nicht für die folgenden RAG APIs: Begründung, Ranking und Gegründete Generation.

Hinweis

Die folgenden Voraussetzungen müssen erfüllt sein:

  • Wenden Sie sich an Ihren Google-Kundenbetreuer und bitten Sie ihn, Sie der Zulassungsliste für kundenverwaltete Verschlüsselungsschlüssel in Vertex AI Agent Builder hinzuzufügen.

  • Ein symmetrischer Cloud KMS-Schlüssel, für den die Rotationsdauer auf Nie (manuelle Rotation) festgelegt ist. Siehe Schlüsselbund erstellen und Schlüssel in Cloud KMS erstellen Dokumentation.

  • Die IAM-Rolle „CryptoKey Encrypter/Decrypter“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Schlüssel wurde die dem Discovery Engine-Dienst-Agent gewährt wurden. Allgemeine Anweisungen zum Hinzufügen einer Rolle zu einer Dienst-Agent, siehe Einzelnen Zugriff gewähren oder widerrufen Rolle.

  • Dem Cloud Storage-Dienst-Agent wurde die IAM-Rolle „CryptoKey Encrypter/Decrypter“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Schlüssel zugewiesen. Wenn diese Rolle nicht gewährt wird, wird der Datenimport für CMEK-geschützte Datenspeicher schlagen, da die Discovery Engine können den CMEK-geschützten, temporären Bucket und das Verzeichnis nicht die für den Import erforderlich sind.

  • Erstellen Sie keine Datenspeicher oder Apps, die von Ihrem Schlüssel verwaltet werden sollen, bevor Sie die Anleitung zur Schlüsselregistrierung auf dieser Seite abgeschlossen haben.

  • Die Funktionen der Enterprise-Version sind für die App aktiviert. Siehe Turn Enterprise ein- oder ausschalten.

Cloud KMS-Schlüssel registrieren

So registrieren Sie einen eigenen verwalteten Schlüssel für Vertex AI Agent Builder:

  1. Rufen Sie die Methode UpdateCmekConfig mit dem Cloud KMS-Schlüssel auf, der die Sie registrieren möchten.

    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: Die ID des Projekts, das den Schlüssel enthält. Die Projektnummer funktioniert nicht.
    • KMS_LOCATION: Multiregion Ihres KMS-Schlüssels: us oder europe.
    • KEY_RING: Der Name des Schlüsselbunds, der den Schlüssel enthält.
    • KEY_NAME: der Name des Schlüssels
    • PROJECT_ID: Die ID des Projekts, das den Datenspeicher enthält.
    • LOCATION: Multiregion Ihres Datenspeichers: us oder eu.
    • CMEK_CONFIG_ID: Die ID der CmekConfig-Ressource.
    • SET_DEFAULT: Legen Sie den Wert auf true fest, um den Schlüssel als Standardschlüssel für nachfolgende Datenspeicher zu verwenden, die in der Multi-Region erstellt werden.

    Ein Beispiel für einen curl-Aufruf und eine Antwort sieht so aus:

    $ 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. Optional: Notieren Sie sich den von der Methode zurückgegebenen name-Wert und folgen Sie der Anleitung unter Details zu einem Vorgang mit langer Ausführungszeit abrufen, um zu sehen, wann der Vorgang abgeschlossen ist.

    Die Registrierung eines Schlüssels dauert in der Regel einige Minuten.

Nach Abschluss des Vorgangs werden neue Datenspeicher in dieser Multi-Region durch den Schlüssel geschützt. Allgemeine Informationen zum Erstellen von Datenspeichern finden Sie unter Suchdatenspeicher erstellen.

Cloud KMS-Schlüssel aufrufen

Führen Sie einen der folgenden Schritte aus, um einen registrierten Schlüssel für Vertex AI Agent Builder aufzurufen:

  • Wenn Sie den Ressourcennamen von CmekConfig haben, rufen Sie die Methode GetCmekConfig auf:

    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: Multiregion Ihres Datenspeichers: us oder eu.
    • PROJECT_ID: Die ID des Projekts, das die Daten enthält.
    • CMEK_CONFIG_ID: Die ID der CmekConfig-Ressource.

    Ein Beispiel für einen curl-Aufruf und eine Antwort sieht so aus:

    $ 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
    }
    

  • Wenn Sie den CmekConfig-Ressourcennamen nicht haben, rufen Sie die Methode ListCmekConfigs auf:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    
    • LOCATION: Multiregion Ihres Datenspeichers: us oder eu.
    • PROJECT_ID: Die ID des Projekts, das die Daten enthält.

    Ein Beispiel für einen curl-Aufruf und eine Antwort sieht so aus:

    $ 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"
        }
      ]
    }
    

Optional: Prüfen, ob ein Datenspeicher durch einen Schlüssel geschützt ist

Datenspeicher, die vor der Registrierung Ihres Schlüssels erstellt wurden, sind nicht durch den Schlüssel geschützt. Wenn Sie überprüfen möchten, ob ein bestimmter Datenspeicher durch Ihren Schlüssel auf, führen Sie diese Schritte aus:

  1. Führen Sie den folgenden curl-Befehl auf dem Datenspeicher aus:

    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: Die Multiregion Ihres Datenspeichers: us oder eu.
    • PROJECT_ID: Die ID des Projekts, das den Datenspeicher enthält.
    • DATA_STORE_ID: Die ID des Datenspeichers.

    Ein Beispiel für einen curl-Aufruf:

    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. Prüfen Sie die Ausgabe des Befehls: Wenn sich das Feld cmekConfig im Feld und das Feld kmsKey den von Ihnen registrierten Schlüssel anzeigt, dann der Datenspeicher durch den Schlüssel geschützt ist.

    Eine Beispielantwort sieht so aus:

    {
     "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"
     }
    }
    

Schlüssel rotieren

Wenn Sie Schlüssel rotieren, erstellen Sie eine neue Version des Schlüssels und der Einstellung. die neue Version als primäre Version. Ursprüngliche Version des Schlüssels beibehalten eine Zeit lang aktiviert, bevor sie deaktiviert werden. So können alle langfristigen Vorgänge ausführen, für deren Abschluss möglicherweise die ältere Schlüsselzeit verwendet wird.

Im Folgenden wird beschrieben, wie Sie Schlüssel für einen Vertex AI Agent Builder-Datenspeicher rotieren. Allgemeine Informationen zum Rotieren von Schlüsseln finden Sie Weitere Informationen finden Sie im Cloud KMS-Leitfaden unter Schlüsselrotation.

Wichtig:Schlüssel für Datenspeicher, die mit Empfehlungen verknüpft sind, dürfen nicht rotiert werden. oder Apps, die Analysedaten benötigen. Weitere Informationen finden Sie unter Einschränkungen von Cloud KMS in Vertex AI Agent Builder.

  1. Registrieren Sie Ihren Schlüssel noch einmal. Wiederholen Sie dazu Schritt 1 unter Ihre Cloud KMS-Schlüssel.

  2. Folgen Sie der Anleitung im Abschnitt Schlüssel verwalten des Cloud KMS-Leitfadens, um Folgendes zu tun:

    1. Erstellen Sie eine neue Schlüsselversion, aktivieren Sie sie und legen Sie sie als primäre Version fest.

    2. Lassen Sie die ältere Schlüsselversion aktiviert.

    3. Deaktivieren Sie nach etwa einer Woche die ältere Schlüsselversion und stellen Sie sicher, dass dass alles wie bisher funktioniert.

    4. Wenn Sie später sicher sind, dass durch das Deaktivieren der älteren Schlüsselversion keine Probleme verursacht wurden, können Sie sie löschen.

Wenn ein Schlüssel deaktiviert oder widerrufen wurde

Wenn ein Schlüssel deaktiviert wird oder die Berechtigungen für den Schlüssel widerrufen werden, werden im Datenspeicher innerhalb von 15 Minuten keine Daten mehr aufgenommen und bereitgestellt. Das erneute Aktivieren eines Schlüssels oder das Wiederherstellen von Berechtigungen dauert jedoch lange. Es kann bis zu 24 Stunden dauern, bis der Datenspeicher wieder Daten bereitstellen kann.

Deaktivieren Sie einen Schlüssel daher nur, wenn es unbedingt erforderlich ist. Das Deaktivieren und Aktivieren eines Schlüssels in einem Datenspeicher ist ein zeitaufwendiger Vorgang. Wenn Sie z. B. wiederholt zwischen Schlüssel zwischen „Deaktiviert“ und „Aktiviert“ stehen, bedeutet, dass es lange dauert, um einen geschützten Zustand zu erreichen. Wenn Sie einen Schlüssel deaktivieren und sofort wieder aktivieren, kann es zu einer mehrtägigen Ausfallzeit kommen, da der Schlüssel zuerst im Datenspeicher deaktiviert und anschließend wieder aktiviert wird.