In Dialogflow werden inaktive Kundeninhalte standardmäßig verschlüsselt. Die Verschlüsselung wird von Dialogflow durchgeführt. Sie müssen nichts weiter tun. Diese Option wird Google-Standardverschlüsselung genannt.
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 Dialogflow 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 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 steuern 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 Dialogflow-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu den Verschlüsselungsoptionen finden Sie unter Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK).
Geschützte Daten
Alle inaktiven Daten von Conversational Agents (Dialogflow CX) können mit CMEKs geschützt werden.
Beschränkungen
- Die Schlüsselrotation wird unterstützt, die Neuverschlüsselung von Daten jedoch nicht. Das bedeutet, dass bereits verschlüsselte Daten nicht noch einmal mit einer neuen Schlüsselversion verschlüsselt werden können.
- Die folgenden Regionen werden nicht unterstützt:
global
eu
- Pro Projektstandort sollte ein Schlüssel verwendet werden.
- Wenn Sie einen Agenten mit aktivierter CMEK-Verschlüsselung wiederherstellen möchten, müssen Sie die Option „Cloud Storage“ auswählen.
- Vorhandene Ressourcen in Projekten, die nicht CMEK-integriert sind, können nicht rückwirkend CMEK-integriert werden. Stattdessen wird empfohlen, Ressourcen für CMEK in ein neues Projekt zu exportieren und wiederherzustellen.
- Für Vertex AI Agent Builder gelten einige Cloud KMS-Einschränkungen
Schlüssel erstellen
Zum Erstellen von Schlüsseln verwenden Sie den KMS-Dienst. Eine Anleitung finden Sie unter Symmetrische Schlüssel erstellen. Beim Erstellen oder Auswählen eines Schlüssels müssen Sie Folgendes konfigurieren:
- Wählen Sie unbedingt den Standort aus, den Sie für Ihren Agent verwenden. Andernfalls schlagen Anfragen fehl.
Agent für die Verwendung Ihrer Schlüssel konfigurieren
Wenn Sie einen Agent erstellen, können Sie den Standort des Agents angeben und angeben, ob der Agent einen von Google oder den bereits konfigurierten vom Kunden verwalteten Schlüssel für diesen Standort verwenden soll. Treffen Sie jetzt Ihre Auswahl.
Vorbereitung
Erstellen Sie das CCAI CMEK-Dienstkonto für Ihr Projekt mit der Google Cloud CLI. Weitere Informationen finden Sie in der Dokumentation zu Identitäten für gcloud services.
gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID
Das Dienstkonto wird erstellt. Sie wird nicht in der Antwort auf die Erstellung zurückgegeben, hat aber das folgende Format:
service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com
Weisen Sie dem CCAI CMEK-Dienstkonto die Rolle Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler zu, damit der Dienst mit Ihrem Schlüssel verschlüsseln und entschlüsseln kann.
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --project=PROJECT_ID \ --location=LOCATION_ID \ --keyring=KMS_KEY_RING \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Schlüssel für den Standort von Conversational Agents (Dialogflow CX) konfigurieren
Konfigurieren Sie den Schlüssel mit der
InitializeEncryptionSpec
API.Sie müssen die folgenden Variablen angeben:
PROJECT_ID
: Ihre Google Cloud-Projekt-ID.LOCATION_ID
: Der Speicherort, an dem Sie CMEK in Konversations-Agents (Dialogflow CX) aktiviert haben.KMS_KEY_RING
: Der Schlüsselbund, in dem Ihr KMS-Schlüssel erstellt wurde. Der Speicherort im Schlüsselbund, z. B.projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING
, muss mit dem Standort übereinstimmen, an dem Sie CMEK aktivieren.KMS_KEY_ID
: Der Name Ihres KMS-Schlüssels, mit dem Daten von Conversational Agents (Dialogflow CX) am ausgewählten Speicherort verschlüsselt und entschlüsselt werden.
Beispiel:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "{ encryption_spec: { kms_key: 'projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_ID' } }" \ "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec:initialize"
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID" }
Mit der
GetOperation
API können Sie das Ergebnis des Vorgangs mit langer Ausführungszeit prüfen.Beispiel:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
CMEK-Einstellungen prüfen
Mit der GetEncryptionSpec
API können Sie den für einen Standort konfigurierten Verschlüsselungsschlüssel prüfen.
Beispiel:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec"
Schlüssel widerrufen
Wenn Sie den Zugriff von Conversational Agents (Dialogflow CX) auf den Schlüssel widerrufen möchten, können Sie die KMS-Schlüsselversion deaktivieren oder die Rolle „Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler“ des Dienstkontos aus dem KMS-Schlüssel entfernen.
Nach dem Widerruf des Schlüssels sind die verschlüsselten Daten für Conversational Agents (Dialogflow CX) nicht mehr zugänglich. Der Dienst ist erst wieder einsatzbereit, wenn die Schlüsselberechtigungen reaktiviert wurden.