Vom Kunden verwaltete Verschlüsselungsschlüssel

Vertex AI Search verschlüsselt ruhende Kundeninhalte standardmäßig. Vertex AI Search übernimmt die Verschlüsselung für Sie. Zusätzliche Maßnahmen Ihrerseits sind nicht erforderlich. Diese Option heißt Google-Standardverschlüsselung.

Wenn Sie Ihre Verschlüsselungsschlüssel selbst verwalten möchten, können Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs, Customer-Managed Encryption Keys) in Cloud KMS mit CMEK-integrierten Diensten wie Vertex AI Search verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutzlevel, Speicherort, Rotationszeitplan, Nutzungs- und Zugriffsberechtigungen sowie über kryptografische Grenzen. Mit Cloud KMS können Sie außerdem die Schlüsselnutzung verfolgen, Audit-Logs aufrufen und den Lebenszyklus von Schlüsseln steuern. Statt es Google zu überlassen, die symmetrischen Schlüsselverschlüsselungsschlüssel (Key Encryption Keys, KEKs) zum Schutz Ihrer Daten zu besitzen und zu verwalten, können Sie diese auch über Cloud KMS steuern und verwalten.

Nachdem Sie Ihre Ressourcen mit CMEKs eingerichtet haben, ähnelt der Zugriff auf Ihre Vertex AI Search-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselungsoptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).

Einschränkungen von Cloud KMS in Vertex AI Search

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

  • Schlüssel, die bereits auf einen Datenspeicher angewendet wurden, können nicht geändert werden. Schlüsselversionen können jedoch rotiert werden.
  • Sie müssen multiregionale Datenspeicher und Apps in den USA oder der EU verwenden (nicht globale). Weitere Informationen zu Multiregionen und zum Datenstandort, einschließlich der Einschränkungen, die mit der Verwendung nicht globaler Standorte verbunden sind, finden Sie unter Standorte.
  • Wenn Sie mehr als einen Schlüssel für ein Projekt registrieren müssen, wenden Sie sich an Ihr Google-Kontoteam, um eine Erhöhung des Kontingents für CMEK-Konfigurationen zu beantragen. Geben Sie dabei an, warum Sie mehr als einen Schlüssel benötigen.

  • Die Verwendung eines externen Schlüsselmanagers (External Key Manager, EKM) mit CMEK ist allgemein verfügbar, erfordert aber eine Zulassungsliste. Wenn Sie EKM 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 Spielraum haben. Informationen zum Prüfen Ihrer Kontingente finden Sie unter Cloud KMS-Kontingente prüfen.

    • Wenn Sie EKM verwenden, muss der Schlüssel in mehr als 90% aller Zeiträume von mehr als 30 Sekunden erreichbar sein. Wenn der Schlüssel für diesen Zeitraum nicht erreichbar ist, kann sich das negativ auf die Indexierung und Aktualität der Suche auswirken.

    • Bei Abrechnungsproblemen, dauerhaften Problemen mit dem Kontingent oder dauerhaften Problemen mit der Erreichbarkeit über mehr als 12 Stunden wird die mit dem EKM- oder HSM-Schlüssel verknüpfte CmekConfig automatisch deaktiviert.

  • Datenspeicher, die vor der Registrierung eines Schlüssels für das Projekt erstellt wurden, können nicht durch den Schlüssel geschützt werden.
  • Sie können Suchmodelle nicht für Datenspeicher optimieren, die durch Schlüssel geschützt sind.
  • Wenn eine App mehrere Datenspeicher hat und einer davon eine CMEK-Konfiguration verwendet, müssen alle anderen Datenspeicher dieselbe CMEK-Konfiguration verwenden.
  • Sie können Terraform nicht verwenden, um CMEK für Vertex AI Search zu konfigurieren.

Schlüssel für einzelne Regionen für Drittanbieter-Connectors

Wenn Sie Drittanbieter-Connectors verwenden und Ihre eigenen Schlüssel zum Schutz der verbundenen Daten verwenden möchten, müssen Sie zusätzlich zum multiregionalen Schlüssel drei zusätzliche Schlüssel für einzelne Regionen erstellen. Die Befehle zum Erstellen von Schlüsseln finden Sie im folgenden Verfahren Cloud KMS-Schlüssel registrieren.

Die einzelnen Schlüssel müssen für die folgenden Regionen erstellt werden:

Mehrere Regionen Einzelne Regionen
eu europe-west1 europe-west4 europe-north1
us us-east1 us-central1 us-west1

Hinweise

Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:

  • Erstellen Sie einen symmetrischen Cloud KMS-Schlüssel für mehrere Regionen. Weitere Informationen finden Sie in der Cloud KMS-Dokumentation unter Schlüsselbund erstellen und Schlüssel erstellen.

    • Legen Sie den Rotationszeitraum auf Nie (manuelle Rotation) fest.

    • Wählen Sie als Standort die Option Mehrere Regionen aus und wählen Sie im Drop-down-Menü europe oder us aus.

  • Dem Discovery Engine-Dienst-Agent wurde die IAM-Rolle „CryptoKey Encrypter/Decrypter“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Schlüssel zugewiesen. Das Dienst-Agent-Konto hat eine E-Mail-Adresse im folgenden Format: service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com. Eine allgemeine Anleitung zum Hinzufügen einer Rolle zu einem Dienst-Agent 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 Discovery Engine den CMEK-geschützten temporären Bucket und das Verzeichnis, die für den Import erforderlich sind, nicht erstellen kann.

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

Cloud KMS-Schlüssel registrieren

Wenn Sie Daten mit CMEK verschlüsseln möchten, müssen Sie Ihren multiregionalen Schlüssel registrieren. Wenn für Ihre Daten Schlüssel für einzelne Regionen erforderlich sind, z. B. bei Verwendung von Drittanbieter-Connectors, müssen Sie Ihre Schlüssel für einzelne Regionen registrieren.

Hinweise

Folgende Punkte sollten beachtet werden:

  • Die Region ist noch nicht durch einen Schlüssel geschützt. Die folgende Vorgehensweise schlägt fehl, wenn bereits ein Schlüssel für die Region über den REST-Befehl registriert ist. Informationen dazu, ob ein aktiver Schlüssel in Vertex AI Search für einen Standort vorhanden ist, finden Sie unter Cloud KMS-Schlüssel ansehen.

  • Sie haben die Rolle Discovery Engine-Administrator (roles/discoveryengine.admin).

Prozedur

REST

So registrieren Sie Ihren eigenen Schlüssel für Vertex AI Search:

  1. Rufen Sie die Methode UpdateCmekConfig mit dem 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 '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

    Ersetzen Sie Folgendes:

    • KMS_PROJECT_ID: Die ID des Projekts, das den Schlüssel enthält. Die Projektnummer funktioniert nicht.
    • KMS_LOCATION: Die Multiregion Ihres 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: die Multiregion Ihres Datenspeichers: us oder eu.
    • CMEK_CONFIG_ID: Legen Sie eine eindeutige ID für die CmekConfig-Ressource fest, z. B. default_cmek_config.
    • SET_DEFAULT: Auf true festgelegt, um den Schlüssel als Standardschlüssel für nachfolgende Datenspeicher zu verwenden, die in der Multiregion erstellt werden.
  2. Optional: Notieren Sie sich den name-Wert, der von der Methode zurückgegeben wird, 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 nur wenige Minuten.

    Nach Abschluss des Vorgangs werden neue Datenspeicher in dieser multiregionalen Region durch den Schlüssel geschützt. Allgemeine Informationen zum Erstellen von Datenspeichern finden Sie unter Apps und Datenspeicher.

Console

Prozedur

So registrieren Sie Ihren eigenen Schlüssel für Vertex AI Search:

  1. Rufen Sie in der Google Cloud Console die Seite KI-Anwendungen auf.

    KI-Anwendungen

  2. Klicken Sie auf Einstellungen und wählen Sie den Tab CMEK aus.

  3. Klicken Sie für den Standort us oder eu auf Schlüssel hinzufügen.

    Klicken Sie auf „Schlüssel für einen Standort hinzufügen“.
    Klicken Sie auf „Schlüssel hinzufügen“.
    1. Klicken Sie auf das Drop-down-Menü Cloud KMS-Schlüssel auswählen und wählen Sie den Schlüssel aus.

      • Wenn sich der Schlüssel in einem anderen Projekt befindet, klicken Sie auf Projekt wechseln, klicken Sie auf den Namen Ihres Projekts, geben Sie den Namen des von Ihnen erstellten Schlüssels ein und wählen Sie den Schlüssel aus.

      • Wenn Sie den Ressourcennamen des Schlüssels kennen, klicken Sie auf Manuell eingeben, fügen Sie den Ressourcennamen des Schlüssels ein und klicken Sie auf Speichern.

    2. Klicken Sie auf OK > Speichern.

Dadurch wird Ihr Schlüssel registriert und eine CmekResource namens default_cmek_config erstellt.

Es kann einige Stunden dauern, bis die aufgenommenen Daten in den Suchergebnissen angezeigt werden.

Cloud KMS-Schlüssel ansehen

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

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

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

    Ersetzen Sie Folgendes:

    • 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. Wenn Sie Ihren Schlüssel über die Konsole registriert haben, lautet die ID default_cmek_config.

    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/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
    
    { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true }

  • Wenn Sie den Ressourcennamen der 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/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    

    Ersetzen Sie Folgendes:

    • 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/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs"
    
    { "cmek_configs": [ { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true } ] }

Cloud KMS-Schlüssel abmelden

So heben Sie die Registrierung Ihres Schlüssels bei Vertex AI Search auf:

  1. Rufen Sie die Methode DeleteCmekConfig mit dem Ressourcennamen der CmekConfig auf, deren Registrierung Sie aufheben möchten.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

    Ersetzen Sie Folgendes:

    • LOCATION: die Multiregion Ihres Datenspeichers: us oder eu.
    • PROJECT_ID: Die ID des Projekts, das den Datenspeicher enthält.
    • CMEK_CONFIG_ID: die ID der CmekConfig-Ressource. Wenn Sie Ihren Schlüssel über die Konsole registriert haben, lautet die ID default_cmek_config.

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

    $ curl -X DELETE
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
     
    {
     "name": "projects/my-ai-app-project-123/locations/us/operations/delete-cmek-config-56789",
     "metadata": {
      "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.DeleteCmekConfigMetadata"
     }
    }
    

  2. Optional: Notieren Sie sich den name-Wert, der von der Methode zurückgegeben wird, und folgen Sie der Anleitung unter Details zu einem Vorgang mit langer Ausführungszeit abrufen, um zu sehen, wann der Vorgang abgeschlossen ist.

    Das Löschen eines Schlüssels dauert in der Regel einige Minuten.

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

Datenspeicher, die nach der Registrierung Ihres Schlüssels erstellt werden, sind durch den Schlüssel geschützt. So prüfen Sie, ob ein bestimmter Datenspeicher durch Ihren Schlüssel geschützt ist:

  1. Führen Sie den folgenden curl-Befehl für den 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/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
    

    Ersetzen Sie Folgendes:

    • 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/v1/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/default_cmek_config",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

Andere durch den Cloud KMS-Schlüssel geschützte Daten

Neben Daten in den Datenspeichern können Ihre Schlüssel auch andere Arten von anwendungsbezogenen Kerninformationen schützen, die von Vertex AI Search gespeichert werden, z. B. die Sitzungsdaten, die während der Suche mit Follow-ups generiert werden. Diese Art von wichtigen Informationen ist CMEK-geschützt, wenn die mit der App verknüpften Datenspeicher CMEK-geschützt sind.

Sie können zwar keinen bestimmten Befehl ausführen, um zu prüfen, ob Sitzungen geschützt sind, aber wenn Sie den Befehl Prüfen, ob ein Datenspeicher durch einen Schlüssel geschützt ist ausführen und den Schlüssel in der cmekConfig-Ressource sehen, sind die Sitzungsdaten geschützt.

Cloud KMS-Schlüssel rotieren

Wenn Sie Schlüssel rotieren, erstellen Sie eine neue Version des Schlüssels und legen die neue Version als primäre Version fest. Lassen Sie die Originalversion des Schlüssels eine Weile aktiviert, bevor Sie sie deaktivieren. So haben alle lang andauernden Vorgänge, die möglicherweise den älteren Schlüssel verwenden, Zeit, abgeschlossen zu werden.

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

Wichtig:Rotieren Sie keine Schlüssel für Datenspeicher, die mit Empfehlungs-Apps oder Apps, die Analysen benötigen, verknüpft sind, und rotieren Sie auch nicht die Schlüssel für einzelne Regionen, die für Drittanbieter-Connectors verwendet werden. Weitere Informationen finden Sie unter Einschränkungen von Cloud KMS in Vertex AI Search.

  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 im Cloud KMS-Leitfaden, um:

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

      Nachdem der neue Schlüssel zum primären Schlüssel gemacht wurde, werden Dokumente im Datenspeicher mit dem neuen Schlüssel neu verschlüsselt. Alle nachfolgenden Dokumente, die dem Datenspeicher hinzugefügt werden, werden mit dem neuen Schlüssel verschlüsselt.

    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 zuvor funktioniert.

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

Wenn ein Cloud KMS-Schlüssel deaktiviert oder widerrufen wird

Wenn ein Schlüssel deaktiviert wird oder Berechtigungen für den Schlüssel widerrufen werden, werden innerhalb von 15 Minuten keine Daten mehr in den Datenspeicher aufgenommen und keine Daten mehr bereitgestellt. Das Reaktivieren 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 einen Schlüssel beispielsweise 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 tagelangen Ausfallzeiten kommen, da der Schlüssel zuerst im Datenspeicher deaktiviert und dann wieder aktiviert wird.

Fehlerbehebung: Fehler „KMS-Schlüsselprojekte nicht gefunden“

Symptom:Wenn Sie versuchen, einen Datenspeicher mit einem KMS-Schlüssel zu erstellen, erhalten Sie einen Fehler wie den folgenden:

KMS key projects/[...] not found for location: [...] and project number: [...]

Problem:Diese Fehlermeldung kann irreführend sein. Das bedeutet nicht zwangsläufig, dass der Schlüssel nicht vorhanden ist. Stattdessen kann es darauf hinweisen, dass der KMS-Schlüssel nicht für die Verwendung mit Vertex AI Search am angegebenen Standort registriert wurde.

Lösung:Registrieren Sie Ihren Schlüssel, indem Sie die Schritte unter Cloud KMS-Schlüssel registrieren ausführen. Nach Abschluss der Registrierung können Sie Datenspeicher erstellen, die durch diesen Schlüssel geschützt sind.