Per impostazione predefinita, Dialogflow CX cripta i contenuti inattivi dei clienti. Dialogflow CX gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata 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 rigorosi dell'accesso alle chiavi e audit.
Se vuoi controllare le tue chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con servizi integrati con CMEK, tra cui 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 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 at-rest dell'agente Dialogflow CX con le CMEK.
Limitazioni
- La rotazione delle chiavi è supportata, ma la nuova crittografia dei dati no. La nuova crittografia dei dati precedentemente crittografati con una nuova versione della chiave non è supportata.
- Le seguenti regioni non sono supportate:
global
- Deve essere utilizzata una chiave per località del progetto.
- 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 retroattivamente. Invece, 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 l'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 le impostazioni di sicurezza per essere reindirizzato alla console CCAI.
- Nella console CCAI, vai alla scheda CMEK.
- Fai clic su Controlla o crea un 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 le chiavi automatizzate che hai creato.
- Seleziona la chiave che hai creato all'interno di quel keyring.
- Vai alla scheda Autorizzazioni.
- Fai clic su Concedi l'accesso.
- Nel campo Nuove entità, 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 della risorsa della chiave copiato nel campo Chiave per la località in cui vuoi attivare CMEK.
- Fai clic su Salva.
Viene avviata un'operazione a lunga esecuzione (LRO) per abilitare CMEK per la località scelta. Questo processo 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à.
Utilizzo dell'interfaccia a riga di comando per configurare CMEK
In alternativa, puoi utilizzare i seguenti comandi per configurare CMEK. Questo è utile quando la configuri per più regioni.
Utilizza Google Cloud CLI per creare il account di servizio CMEK di CCAI per il tuo progetto. Per saperne di più, consulta la documentazione sull'identità dei servizi gcloud.
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 CCAI CMEK 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
Utilizzo dell'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 progetto Google Cloud .LOCATION_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à nelle chiavi automatizzate, ad esempioprojects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING, deve corrispondere alla località in cui stai attivando 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 chiavi
Per revocare l'accesso di Dialogflow CX alla chiave, puoi disattivare 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é non vengono ripristinate le autorizzazioni della chiave.