Per impostazione predefinita, Dialogflow CX cripta i contenuti inattivi dei clienti. Dialogflow CX gestisce la crittografia per te senza ulteriori azioni da parte tua. Questa opzione è chiamata crittografia predefinita di Google. La crittografia predefinita di Google utilizza gli stessi sistemi avanzati di gestione delle chiavi che utilizziamo per i nostri dati criptati. Questi sistemi includono controlli e audit rigorosi dell'accesso alle chiavi.
Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, incluso Dialogflow CX. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione , la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre visualizzare gli audit log e controllare i cicli di vita delle chiavi. Invece di Google, sei tu ad avere la proprietà e la gestione delle chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati. Puoi controllare e gestire queste chiavi in Cloud KMS.
Dopo aver configurato le risorse con le CMEK, l'esperienza di accesso alle risorse di Dialogflow CX è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Dati protetti
Puoi proteggere tutti i dati degli agenti di Dialogflow CX at-rest con le CMEK.
Limitazioni
- La rotazione delle chiavi è supportata, ma la nuova crittografia dei dati no. La nuova crittografia dei dati criptati in precedenza con una nuova versione della chiave non è supportata.
- Le seguenti regioni non sono
supportate:
global
- Per ogni località del progetto deve essere utilizzata una chiave.
- Per ripristinare un agente con CMEK abilitata, devi scegliere l'opzione Cloud Storage.
- Le risorse esistenti nei progetti non integrati con CMEK non possono essere integrate con CMEK in modo retroattivo. Esporta e ripristina le risorse in un nuovo progetto per CMEK.
- Vertex AI Agent Builder presenta alcune limitazioni di Cloud Key Management Service.
Crea chiavi
Per creare le chiavi, utilizza Cloud KMS. Per le istruzioni, consulta Creazione di chiavi simmetriche. Quando crei o scegli una chiave, assicurati di configurare quanto segue:
- Seleziona la località che utilizzi per il tuo agente, perché le richieste non vanno a buon fine se le località non corrispondono.
Identifica il account di servizio Dialogflow
Per identificare il account di servizio Dialogflow:
- Apri la console Conversational Agents.
- Seleziona il progetto.
- Seleziona l'agente.
- Nel menu di navigazione, fai clic su Impostazioni, quindi vai alla scheda Sicurezza.
- Fai clic su Gestisci impostazioni di sicurezza per essere reindirizzato alla console CCAI.
- Nella console CCAI, vai alla scheda CMEK.
- Fai clic su Controlla o crea service account.
- Prendi nota del nome del account di servizio visualizzato (ad es.
service-665989447347@gcp-sa-ccai-cmek.IAM.gserviceaccount.com).
Concedi le autorizzazioni al account di servizio
Per concedere le autorizzazioni al account di servizio:
- Vai alla pagina Cloud KMS.
- Seleziona il keyring che hai creato.
- Seleziona la chiave che hai creato all'interno del keyring.
- Vai alla scheda Autorizzazioni.
- Fai clic su Concedi l'accesso.
- Nel campo Nuovi principali, inserisci il service account Dialogflow che hai identificato nel passaggio precedente.
- Nell'elenco Seleziona un ruolo, seleziona Cloud KMS CryptoKey Encrypter/Decrypter.
- Fai clic su Salva.
Copia il nome risorsa della chiave
Per copiare il nome risorsa della chiave:
- Vai alla pagina dei dettagli della chiave KMS.
- Fai clic sul menu Azione e seleziona Copia nome risorsa.
Questa azione copia il percorso completo della chiave KMS (ad esempio,
projects/<var>PROJECT_ID</var>/locations/<var>LOCATION_ID</var>/keyRings/<var>KEY_RING</var>/cryptoKeys/<var>KEY_ID</var>).
Abilita CMEK in Dialogflow
Per abilitare CMEK in Dialogflow:
- Torna alla scheda CMEK nella console CCAI.
- Incolla il nome risorsa della chiave copiato nel campo Chiave per la località in cui vuoi abilitare CMEK.
- Fai clic su Salva.
Viene avviata un'operazione a lunga esecuzione (LRO) per abilitare CMEK per la località scelta. Questa procedura richiede 2-3 minuti.
Configura un agente per utilizzare le tue chiavi
Quando crei un agente, specifica la sua località e se utilizzare una Google-managed encryption key o una CMEK per quella località.
Utilizza l'interfaccia a riga di comando per configurare CMEK
In alternativa, puoi utilizzare i seguenti comandi per configurare CMEK. Questa opzione è utile quando la configuri per più regioni.
Utilizza Google Cloud CLI per creare il account di servizio CMEK CCAI per il tuo progetto. Per saperne di più, consulta la documentazione di gcloud services identity.
gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID
Il account di servizio viene creato. Non viene restituito nella risposta di creazione, ma ha il seguente formato:
service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.comConcedi al account di servizio CMEK CCAI il ruolo Cloud KMS CryptoKey Encrypter/Decrypter per consentire al servizio di criptare e decriptare con la tua chiave.
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
Utilizza l'API per configurare una chiave e controllare le impostazioni
Per configurare una chiave per la località di Dialogflow CX, chiama l'API
InitializeEncryptionSpece fornisci le seguenti variabili:PROJECT_ID: l'ID del progetto. Google CloudLOCATION_ID: la località che selezioni per abilitare CMEK in Dialogflow CX.KMS_KEY_RING: il keyring in cui è stata creata la chiave KMS. La località nel keyring, ad esempioprojects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING, deve corrispondere alla località in cui stai abilitando CMEK.KMS_KEY_ID: il nome della chiave KMS utilizzata per criptare e decriptare i dati di Dialogflow CX nella località selezionata.
Ad esempio:
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"
La risposta JSON è simile alla seguente:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID" }
Per ottenere il risultato dell'operazione a lunga esecuzione (LRO), chiama l'API
GetOperation.Ad esempio:
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"
Per recuperare la chiave di crittografia configurata per una località, chiama l'API
GetEncryptionSpec.Ad esempio:
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"
Revoca le chiavi
Per revocare l'accesso di Dialogflow CX alla chiave, puoi disabilitare la versione della chiave KMS o rimuovere il ruolo Cloud KMS CryptoKey Encrypter/Decrypter del account di servizio dalla chiave KMS.
Dopo la revoca della chiave, i dati criptati diventano inaccessibili a Dialogflow CX e il servizio non è più operativo finché le autorizzazioni della chiave non vengono ripristinate.