Vom Kunden verwaltete Verschlüsselungsschlüssel

Vertex AI Search verschlüsselt ruhende Kundeninhalte standardmäßig. Die Verschlüsselung wird von Vertex AI Search übernommen. Weitere 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 US- oder EU-multiregionale Datenspeicher und -Anwendungen verwenden (keine globalen). Weitere Informationen zu multiregionalen Standorten 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 Konten-Team, 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, jedoch nur für Nutzer auf einer Zulassungsliste. Wenn Sie EKM mit CMEK verwenden möchten, wenden Sie sich an Ihr Google Konten-Team.

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

    • Ihr EKM- und HSM-Kontingent für Verschlüsselungs- und Entschlüsselungsaufrufe muss pro Minute mindestens 1.000 zusätzliche freie Anfragen verarbeiten können, um Lastspitzen abzufangen. Informationen zum Prüfen Ihrer Kontingente finden Sie unter Cloud KMS-Kontingente prüfen.

    • Wenn Sie EKM verwenden, muss der Schlüssel in jedem beliebigen Zeitfenster von mehr als 30 Sekunden für mindestens 90 % der Zeit erreichbar sein. Wenn der Schlüssel in diesem 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, d. h., wenn die Probleme länger als 12 Stunden bestehen, wird die mit dem EKM- oder HSM-Schlüssel verknüpfte CmekConfig-Ressource 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.
  • Wenn eine Anwendung mehrere Datenspeicher hat und einer davon eine CMEK-Konfiguration verwendet, müssen alle anderen Datenspeicher dieselbe CMEK-Konfiguration verwenden.
  • Sie können CMEK für Vertex AI Search nicht mit Terraform konfigurieren.

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

Wenn Sie Drittanbieter-Connectors verwenden und die verbundenen Daten mit eigenen Schlüsseln schützen möchten, müssen Sie zusätzlich zum Schlüssel für mehrere Regionen 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 folgende Voraussetzungen erfüllt sind:

  • Erstellen Sie einen multiregionalen, symmetrischen Cloud KMS-Schlüssel. 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ü Europa oder USA aus.

  • Die IAM-Rolle „CryptoKey Encrypter/Decrypter“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Schlüssel wurde dem Discovery Engine-Dienst-Agent 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 gewähren oder widerrufen.

  • Die IAM-Rolle „CryptoKey Encrypter/Decrypter“ (roles/cloudkms.cryptoKeyEncrypterDecrypter) für den Schlüssel wurde dem Cloud Storage-Dienst-Agent 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 Anwendungen, 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

Beachten Sie folgende Punkte:

  • 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 darüber, ob für einen Standort ein aktiver Schlüssel in Vertex AI Search vorhanden ist, finden Sie unter Cloud KMS-Schlüssel ansehen.

  • Sie haben die Rolle Discovery Engine Admin (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: der multiregionale Standort 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: der multiregionale Standort Ihres Datenspeichers: us oder eu
    • CMEK_CONFIG_ID: eine eindeutige ID für die CmekConfig-Ressource festlegen, z. B. default_cmek_config
    • SET_DEFAULT: ist auf true festgelegt, um den Schlüssel als Standardschlüssel für nachfolgende Datenspeicher zu verwenden, die an dem multiregionalen Standort erstellt werden.
  2. Optional: Notieren Sie sich den name-Wert, der von der Methode zurückgegeben wird. 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 diesem multiregionalen Standort durch den Schlüssel geschützt. Allgemeine Informationen zum Erstellen von Datenspeichern finden Sie unter Anwendungen 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 USA oder EU auf Schlüssel hinzufügen.

    Klicken Sie für einen Standort auf „Schlüssel hinzufügen“.
    Auf „Schlüssel hinzufügen“ klicken.
    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 dann 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 CMEK-Ressource namens default_cmek_config erstellt.

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

Cloud KMS-Schlüssel ansehen

So rufen Sie einen registrierten Schlüssel für Vertex AI Search ab:

  • Wenn Sie den Namen der CmekConfig-Ressource kennen, 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: der multiregionale Standort 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 Console 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 Namen der CmekConfig-Ressource nicht kennen, 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: der multiregionale Standort 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 melden Sie die Registrierung Ihres Schlüssels bei Vertex AI Search ab:

  1. Rufen Sie die Methode DeleteCmekConfig mit dem Namen der CmekConfig-Ressource auf, deren Registrierung Sie abmelden 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: der multiregionale Standort 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 Console 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. 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: der multiregionale Standort 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

Zusätzlich zu den Daten in den Datenspeichern können Ihre Schlüssel auch andere Arten von anwendungseigenen Kerndaten schützen, die von Vertex AI Search gehalten werden – etwa Sitzungsdaten, die während einer Suche mit weiterführenden Fragen generiert werden. Diese Art von Kerndaten ist CMEK-geschützt, wenn die Datenspeicher, die mit der Anwendung verknüpft sind, 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 zum Prüfen, ob ein Datenspeicher durch einen Schlüssel geschützt ist, ausführen und den Schlüssel in der CmekConfig-Ressource sehen, wissen Sie, dass die Sitzungsdaten geschützt sind.

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 erhalten Vorgänge mit langer Ausführungszeit, die möglicherweise noch den älteren Schlüssel verwenden, genügend Zeit, um 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 Empfehlungsanwendungen oder Anwendungen verknüpft sind, die Analysen benötigen, 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 und führen Sie folgende Schritte aus:

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

      Nachdem der neue Schlüssel zur primären Version gemacht wurde, werden die bereits vorhandenen Dokumente im Datenspeicher mit dem neuen Schlüssel erneut verschlüsselt. Alle anschließend hinzugefügten Dokumente werden ebenfalls mit dem neuen Schlüssel verschlüsselt.

    2. Lassen Sie die ältere Schlüsselversion zunächst noch aktiviert.

    3. Nach etwa einer Woche können Sie die ältere Schlüsselversion deaktivieren. Prüfen Sie, ob alles wie zuvor funktioniert.

    4. Löschen Sie die ältere Schlüsselversion aber erst, wenn Sie später sicher sind, dass durch das Deaktivieren der älteren Schlüsselversion keine Probleme verursacht wurden.

Deaktivieren oder Widerrufen eines Cloud KMS-Schlüssels

Wenn ein Schlüssel deaktiviert wird oder die Berechtigungen für den Schlüssel widerrufen werden, hat dies diese Konsequenzen: Innerhalb von 15 Minuten können keine Daten mehr in den Datenspeicher aufgenommen und keine Daten mehr bereitgestellt werden. Soll derselbe Schlüssel später reaktiviert oder die Berechtigungen wiederhergestellt werden, dauert dies jedoch sehr lange. Es kann bis zu 24 Stunden dauern, bis der Datenspeicher die Daten wieder 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 wieder 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.