Chiavi di crittografia gestite dal cliente (CMEK)

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 di accesso alle chiavi e audit rigorosi.

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 chiavi 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, vedi Chiavi di crittografia gestite dal cliente (CMEK).

Dati protetti

Tutti i dati at-rest dell'agente Dialogflow CX possono essere protetti con le chiavi CMEK.

Limitazioni

  • La rotazione delle chiavi è supportata, ma la ricrittografia dei dati no. ovvero la nuova crittografia dei dati criptati in precedenza con una nuova versione della chiave non è supportata.
  • Le seguenti regioni non sono supportate:
    • global
  • Deve essere utilizzata una chiave per ogni località del progetto.
  • Per ripristinare un agente con CMEK abilitata, devi scegliere l'opzione Cloud Storage.
  • Le risorse esistenti nei progetti integrati non CMEK non possono essere integrate con CMEK in modo retroattivo. Ti consigliamo invece di esportare e ripristinare le risorse in un nuovo progetto per CMEK.
  • Vertex AI Agent Builder presenta alcune limitazioni di Cloud KMS

Crea chiavi

Per creare le chiavi, utilizza il servizio KMS. Per le istruzioni, vedi Creare chiavi simmetriche. Quando crei o scegli una chiave, devi configurare quanto segue:

  • Assicurati di selezionare la posizione che utilizzi per il tuo agente, altrimenti le richieste non andranno a buon fine.

Configura un agente per utilizzare le tue chiavi

Quando crei un agente, puoi specificare la posizione dell'agente e se l'agente utilizzerà una chiave gestita da Google o la chiave gestita dal cliente già configurata per quella posizione. Effettua le selezioni in questo momento.

Prerequisiti

  1. Crea il service account CMEK di CCAI per il tuo progetto con Google Cloud CLI. Per saperne di più, consulta la documentazione sull'identità dei servizi gcloud.

    gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID

    Verrà creato il account di servizio. Non verrà restituito nella risposta di creazione, ma avrà il seguente formato:

    service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com
  2. Concedi all'account di servizio CMEK di CCAI il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS per assicurarti che il servizio disponga delle autorizzazioni per 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

Configurare una chiave per la posizione di Dialogflow CX

  1. Utilizza l'API InitializeEncryptionSpec per configurare la chiave.

    Dovrai fornire le seguenti variabili:

    • PROJECT_ID: l'ID progetto Google Cloud .
    • LOCATION_ID: la località che hai scelto per abilitare CMEK in Dialogflow CX.
    • KMS_KEY_RING: le chiavi automatizzate in cui è stata creata la chiave KMS. La posizione nel portachiavi, ad esempio projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING, deve corrispondere alla posizione in cui stai attivando CMEK.
    • KMS_KEY_ID: il nome della chiave KMS che verrà 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"

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
    }
  2. Utilizza l'API GetOperation per controllare il risultato dell'operazione a lunga esecuzione.

    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"

Controllare le impostazioni CMEK

Utilizza l'API GetEncryptionSpec per controllare la chiave di crittografia configurata per una località.

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 Autore crittografia/decrittografia CryptoKey Cloud KMS dell'account di servizio dalla chiave KMS.

Dopo la revoca della chiave, i dati criptati diventeranno inaccessibili a Dialogflow CX e il servizio non sarà più operativo finché non verranno ripristinate le autorizzazioni della chiave.