Dialogflow CX verschlüsselt ruhende Kundendaten standardmäßig. Dialogflow CX übernimmt die Verschlüsselung für Sie, ohne dass Sie etwas tun müssen. Diese Option heißt Google-Standardverschlüsselung. Für die Google-Standardverschlüsselung werden dieselben gehärteten Schlüsselverwaltungssysteme verwendet, die wir auch für unsere eigenen verschlüsselten Daten verwenden. Diese Systeme umfassen strenge Schlüsselzugriffskontrollen und Auditing.
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 CX verwenden. Mit Cloud KMS-Schlüsseln haben Sie die Kontrolle über Schutz level, 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 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 Dialogflow CX-Ressourcen der Verwendung der Google-Standardverschlüsselung. Weitere Informationen zu Ihren Verschlüsselung soptionen finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).
Geschützte Daten
Sie können alle ruhenden Daten von Dialogflow CX-Agents mit CMEKs schützen.
Beschränkungen
- Die Schlüsselrotation wird unterstützt, die Datenverschlüsselung jedoch nicht. Das erneute Verschlüsseln zuvor verschlüsselter Daten mit einer neuen Schlüsselversion wird nicht unterstützt.
- Die folgenden Regionen werden nicht
unterstützt:
global
- Pro Projektstandort sollte ein Schlüssel verwendet werden.
- Wenn Sie einen Agent mit aktiviertem CMEK wiederherstellen möchten, müssen Sie die Cloud Storage-Option auswählen.
- Vorhandene Ressourcen in Projekten ohne CMEK-Integration können nicht nachträglich in CMEK-integrierte Ressourcen umgewandelt werden. Stattdessen müssen Sie Ressourcen in einem neuen Projekt für CMEK exportieren und wiederherstellen.
- Für Vertex AI Agent Builder gelten einige Einschränkungen für den Cloud Key Management Service.
Schlüssel erstellen
Verwenden Sie Cloud KMS, um Schlüssel zu erstellen. Eine Anleitung finden Sie unter Symmetrische Schlüssel erstellen. Achten Sie beim Erstellen oder Auswählen eines Schlüssels darauf, dass Sie Folgendes konfigurieren:
- Wählen Sie den Standort aus, den Sie für Ihren Agent verwenden. Anfragen schlagen fehl, wenn die Standorte nicht übereinstimmen.
Dialogflow-Dienstkonto identifizieren
So identifizieren Sie das Dialogflow-Dienstkonto:
- Öffnen Sie die Conversational Agents-Konsole.
- Wählen Sie Ihr Projekt aus.
- Wählen Sie den Agent aus.
- Klicken Sie im Navigationsmenü auf Einstellungen und wechseln Sie dann zum Tab Sicherheit.
- Klicken Sie auf Sicherheitseinstellungen verwalten , um zur CCAI-Konsole weitergeleitet zu werden.
- Rufen Sie in der CCAI-Konsole den Tab CMEK auf.
- Klicken Sie auf Dienstkonto prüfen oder erstellen.
- Notieren Sie sich den Namen des angezeigten Dienstkontos, z.B.
service-665989447347@gcp-sa-ccai-cmek.IAM.gserviceaccount.com.
Berechtigungen für das Dienstkonto gewähren
So gewähren Sie dem Dienstkonto Berechtigungen:
- Rufen Sie die Cloud KMS-Seite auf.
- Wählen Sie den von Ihnen erstellten Schlüsselbund aus.
- Wählen Sie den Schlüssel aus, den Sie in diesem Schlüsselbund erstellt haben.
- Wechseln Sie zum Tab Berechtigungen.
- Klicken Sie auf Zugriff gewähren.
- Geben Sie im Feld Neue Hauptkonten das Dialogflow-Dienstkonto ein, das Sie im vorherigen Schritt identifiziert haben.
- Wählen Sie in der Liste Rolle auswählen die Option Cloud KMS CryptoKey-Verschlüsseler/Entschlüsseler aus.
- Klicken Sie auf Speichern.
Ressourcennamen des Schlüssels kopieren
So kopieren Sie den Ressourcennamen des Schlüssels:
- Rufen Sie die Seite mit den KMS-Schlüsseldetails auf.
- Klicken Sie auf das Menü Aktion und wählen Sie Ressourcennamen kopieren aus.
Dadurch wird der vollständige Pfad Ihres KMS-Schlüssels kopiert, z. B.
projects/<var>PROJECT_ID</var>/locations/<var>LOCATION_ID</var>/keyRings/<var>KEY_RING</var>/cryptoKeys/<var>KEY_ID</var>.
CMEK in Dialogflow aktivieren
So aktivieren Sie CMEK in Dialogflow:
- Kehren Sie in der CCAI-Konsole zum Tab CMEK zurück.
- Fügen Sie den kopierten Ressourcennamen des Schlüssels in das Feld Schlüssel für den Standort ein, an dem Sie CMEK aktivieren möchten.
- Klicken Sie auf Speichern.
Dadurch wird ein Vorgang mit langer Ausführungszeit gestartet, um CMEK für den ausgewählten Standort zu aktivieren. Dieser Vorgang dauert 2 bis 3 Minuten.
Agent für die Verwendung Ihrer Schlüssel konfigurieren
Wenn Sie einen Agent erstellen, geben Sie den Standort an und legen Sie fest, ob für diesen Standort ein Google-managed encryption key oder ein CMEK verwendet werden soll.
CMEK über die Befehlszeile einrichten
Alternativ können Sie CMEK mit den folgenden Befehlen einrichten. Das ist hilfreich, wenn Sie CMEK für mehrere Regionen einrichten.
Erstellen Sie mit der Google Cloud CLI das CCAI CMEK-Dienstkonto für Ihr Projekt. Weitere Informationen finden Sie in der Dokumentation zur Identität von gcloud-Diensten.
gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID
Das Dienstkonto wird erstellt. Es wird in der Antwort auf die Erstellung nicht zurückgegeben, hat aber das folgende Format:
service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.comWeisen 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 über die API konfigurieren und Einstellungen prüfen
Wenn Sie einen Schlüssel für einen Dialogflow CX-Standort konfigurieren möchten, rufen Sie die
InitializeEncryptionSpecAPI auf und geben Sie die folgenden Variablen an:PROJECT_ID: Die Google Cloud Projekt ID.LOCATION_ID: Der Standort, den Sie auswählen, um CMEK in Dialogflow CX zu aktivieren.KMS_KEY_RING: Der Schlüsselbund, in dem Ihr KMS-Schlüssel erstellt wurde. Der Standort 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, der zum Verschlüsseln und Entschlüsseln von Dialogflow CX-Daten am ausgewählten Standort verwendet wird.
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"
Die JSON-Antwort sieht in etwa so aus:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID" }
Rufen Sie die
GetOperationAPI auf, um das Ergebnis des Vorgangs mit langer Ausführungszeit abzurufen.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"
Rufen Sie die
GetEncryptionSpecAPI auf, um den für einen Standort konfigurierten Verschlüsselungsschlüssel abzurufen.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 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 kann Dialogflow CX nicht mehr auf die verschlüsselten Daten zugreifen und der Dienst ist erst wieder betriebsbereit, wenn die Schlüsselberechtigungen wiederhergestellt wurden.