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. Diese Standardverschlüsselung wird von Vertex AI Agent Builder vorgenommen und verwaltet. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich.

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 mit einem bestimmten Standort verknüpft: dem multiregionalen Standort „USA“ oder dem multiregionalen Standort „EU“.

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

Einschränkungen von Cloud KMS in Vertex AI Agent Builder

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

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

  • Wenn Sie CMEK-Organisationsrichtlinien haben, müssen Sie neue Datenspeicher mit der API und nicht mit der Google Cloud Console erstellen. Das Erstellen neuer Datenspeicher über die Google Cloud Console schlägt fehl, wenn Sie CMEK-Organisationsrichtlinien aktiviert haben.

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

  • Die Verwendung eines externen Schlüsselverwaltungssystems (External Key Manager, EKM) oder eines Hardwaresicherheitsmoduls (Hardware Security Module, HSM) mit CMEK ist in der Allgemeinverfügbarkeit mit Zulassungsliste verfügbar. Wenn Sie EKM oder HSM mit CMEK verwenden möchten, wenden Sie sich an Ihr Google-Kontoteam.

    Für EKM oder HSM mit CMEK gelten die folgenden Einschränkungen:

    • Ihr EKM- und HSM-Kontingent für Verschlüsselungs- und Entschlüsselungsaufrufe sollte mindestens 1.000 QPM Puffer haben. Informationen zum Prüfen Ihrer Kontingente finden Sie unter Cloud KMS-Kontingente prüfen.

    • Bei Verwendung eines EKM-Dienstes muss der Schlüssel in jedem Zeitfenster von mehr als 30 Sekunden zu mehr als 90% erreichbar sein. Wenn der Schlüssel in dieser Zeit nicht erreichbar ist, kann sich das negativ auf die Indexierung und die Aktualität der Suche auswirken.

    • Bei Abrechnungsproblemen, anhaltenden Problemen mit dem Kontingent oder anhaltenden Problemen mit der Erreichbarkeit über einen Zeitraum von mehr als 12 Stunden lehnt der Dienst die mit dem EKM- oder HSM-Schlüssel verknüpfte CmekConfig automatisch ab.

  • 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. Informationen zur Enterprise-Version finden Sie unter Erweiterte Funktionen.

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

  • Datenspeicher für die Suche nach Gesundheitsdaten sind CMEK-kompatibel. 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 Apps für Empfehlungen nicht unterstützt. Wenn Sie eine Schlüsselversion deaktivieren oder löschen, die einen Datenspeicher schützt, der mit einer Empfehlungs-App verknüpft ist, 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: check grounding, ranking und grounded generation.

Hinweise

Sie müssen die folgenden Voraussetzungen erfüllen:

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

  • Dem Discovery Engine-Dienst-Agent wurde die IAM-Rolle „CryptoKey Encrypter/Decrypter“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Schlüssel gewährt. Eine allgemeine Anleitung zum Hinzufügen einer Rolle zu einem Kundenservicemitarbeiter finden Sie unter Einzelne Rolle zuweisen oder widerrufen.

  • 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, schlägt der Datenimport für CMEK-geschützte Datenspeicher fehl, da die Discovery Engine den für den Import erforderlichen CMEK-geschützten temporären Bucket und das Verzeichnis nicht erstellen kann.

  • 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. Weitere Informationen finden Sie unter Enterprise-Version aktivieren oder deaktivieren.

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, den 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: Die Multiregion Ihres KMS-Schlüssels: us oder europe.
    • KEY_RING: Der Name des Schlüsselbunds, in dem sich der Schlüssel befindet.
    • KEY_NAME: der Name des Schlüssels
    • PROJECT_ID: Die ID des Projekts, das den Datenspeicher enthält.
    • LOCATION: Die 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

So rufen Sie einen registrierten Schlüssel für Vertex AI Agent Builder auf:

  • 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: Die 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 die entsprechende Antwort:

    $ 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 Ressourcennamen von „CmekConfig“ 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: Die 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 prüfen möchten, ob ein bestimmter Datenspeicher durch Ihren Schlüssel geschützt ist, gehen Sie so vor:

  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. Sehen Sie sich die Ausgabe des Befehls an: Wenn das Feld cmekConfig in der Ausgabe enthalten ist und im Feld kmsKey der von Ihnen registrierte Schlüssel angezeigt wird, ist der Datenspeicher durch den Schlüssel geschützt.

    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 legen diese als primäre Version fest. Lassen Sie die ursprüngliche Version des Schlüssels eine Weile aktiviert, bevor Sie sie deaktivieren. So haben alle langwierigen Vorgänge, bei denen möglicherweise der ältere Schlüssel verwendet wird, Zeit zum Abschluss.

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

Wichtig:Rotieren Sie keine Schlüssel in Datenspeichern, die mit Empfehlungs-Apps oder Apps verknüpft sind, für die Analysen erforderlich sind. 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 Cloud KMS-Schlüssel registrieren.

  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är fest.

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

    3. Deaktivieren Sie nach etwa einer Woche die ältere Schlüsselversion und prüfen Sie, ob alles wie gewohnt 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 wird

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 Reaktivieren eines Schlüssels oder das Wiederherstellen von Berechtigungen dauert jedoch sehr 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 beispielsweise einen Schlüssel wiederholt zwischen „Deaktiviert“ und „Aktiviert“ wechseln, dauert es lange, bis der Datenspeicher einen geschützten Status erreicht. 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.