Chiavi di crittografia gestite dal cliente

Per impostazione predefinita, Gemini Enterprise cripta i contenuti inattivi dei clienti. Gemini Enterprise gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.

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 Gemini Enterprise. 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 monitorare l'utilizzo delle chiavi, 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 Gemini Enterprise è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).

Quando viene registrata una chiave CMEK, Gemini Enterprise chiama periodicamente Cloud KMS per mantenere un'istanza logicamente isolata dei tuoi dati. Questo accade anche se la configurazione CMEK non è impostata come predefinita e non ci sono app o connettori dati che la utilizzano. L'utilizzo deriva dalla configurazione e dall'esecuzione dell'istanza, non dal volume di dati o dal numero di utenti che vi accedono. Consulta i prezzi di Cloud Key Management Service.

Per interrompere completamente l'utilizzo di Cloud KMS, devi annullare la registrazione della chiave Cloud KMS, disattivare la chiave o revocarne le autorizzazioni. La disattivazione dell'API Gemini Enterprise non elimina il tuo CmekConfig o i tuoi dati e ti verrà comunque addebitato l'utilizzo di CMEK.

Limitazioni di Cloud KMS in Gemini Enterprise

Si applicano le seguenti limitazioni alle chiavi CMEK (Cloud KMS) in Gemini Enterprise:

  • Le chiavi già applicate a un'app o a un connettore dati non possono essere modificate, anche se le versioni delle chiavi possono essere ruotate.
  • I dati degli utenti finali costituiscono un'eccezione alla limitazione precedente. A differenza delle app e dei connettori dati, che conservano la chiave con cui sono stati creati, i dati dell'utente finale seguono sempre l'attuale CmekConfig predefinita. Per saperne di più, consulta Dati degli utenti finali e configurazione predefinita di Cloud KMS.
  • Devi utilizzare app o datastore multiregionali degli Stati Uniti o dell'UE (non globali). Per saperne di più sulle multiregioni e sulla residenza dei dati, inclusi i limiti associati all'utilizzo di località non globali, consulta Località.
  • Se devi registrare più di una chiave per un progetto, contatta il tuo team dell'account Google per richiedere un aumento della quota per le configurazioni CMEK, fornendo una motivazione per cui hai bisogno di più di una chiave.

    Si applicano le seguenti limitazioni a EKM o HSM con CMEK:

    • La quota EKM e HSM per le chiamate di crittografia e decrittografia deve avere almeno 1000 QPM di margine. Per informazioni su come controllare le quote, consulta Controlla le quote di Cloud KMS.

    • Se utilizzi EKM, la chiave deve essere raggiungibile per oltre il 90% di qualsiasi finestra temporale superiore a 30 secondi. Se la chiave non è raggiungibile per questo periodo di tempo, l'indicizzazione e l'aggiornamento della ricerca potrebbero risentirne negativamente.

    • Se si verificano problemi di fatturazione, problemi persistenti di superamento della quota o problemi persistenti di irraggiungibilità per più di 12 ore, il servizio disattiva automaticamente la risorsa CmekConfig associata alla chiave EKM o HSM.

  • Le app o i connettori di dati creati prima della registrazione di una chiave al progetto non possono essere protetti dalla chiave.
  • Per le app con più connettori dati, se un connettore dati utilizza una configurazione CMEK, anche tutti gli altri connettori dati devono utilizzare la stessa configurazione CMEK.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Crea una chiave Cloud KMS simmetrica multiregionale. Consulta Creare chiavi automatizzate e Creare una chiave nella documentazione di Cloud KMS.

    • Imposta il periodo di rotazione su Mai (rotazione manuale).

    • In Località, seleziona Multiregione e poi seleziona europe o us dal menu a discesa.

  • Se utilizzi connettori di terze parti, crea tre chiavi simmetriche Cloud KMS a singola regione. In caso contrario, è facoltativo.

    us single-regions europe single-regions
    us-east1 europe-west1
    us-central1 europe-west4
    us-west1 europe-north1
  • Il ruolo IAM Autore crittografia/decriptazione CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) per la chiave è stato concesso all'agente di servizio Discovery Engine. L'account dell'agente di servizio ha un indirizzo email che utilizza il seguente formato: service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com. Per istruzioni generali su come aggiungere un ruolo a un agente di servizio, consulta Concedi o revoca un singolo ruolo.

  • Il ruolo IAM CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) sulla chiave è stato concesso all'agente di servizio Cloud Storage. Se questo ruolo non viene concesso, l'importazione dei dati per le app e i connettori di dati protetti da CMEK non andrà a buon fine perché Discovery Engine non è in grado di creare il bucket e la directory temporanei protetti da CMEK necessari per l'importazione.

  • Non creare app o connettori dati che vuoi gestire con la chiave finché non hai completato le istruzioni per la registrazione della chiave riportate in questa pagina.

Registra la chiave Cloud KMS

Per criptare i dati utilizzando CMEK, devi registrare la chiave multi-regione. (Facoltativo) Se i tuoi dati richiedono chiavi a singola regione, ad esempio quando utilizzi connettori di terze parti, devi anche registrare le chiavi a singola regione.

Registra la chiave Cloud KMS multiregionale

Prima di iniziare

Verifica quanto segue:

  • La regione non è già protetta da una chiave. La procedura riportata di seguito non va a buon fine se una chiave è già registrata per la regione tramite il comando REST. Per determinare se esiste una chiave attiva in Gemini Enterprise per una posizione, consulta Visualizzare le chiavi Cloud KMS.

Procedura

REST

Per registrare la tua chiave per Gemini Enterprise, segui questi passaggi:

  1. Chiama il metodo UpdateCmekConfig con la chiave che vuoi registrare.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

    Sostituisci quanto segue:

    • KMS_PROJECT_ID: l'ID del progetto che contiene la chiave. Il numero di progetto non funzionerà.
    • KMS_LOCATION: la località multiregionale della chiave: us o europe.
    • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
    • KEY_NAME: il nome della chiave.
    • PROJECT_ID: l'ID del progetto che contiene l'app o il connettore dati.
    • LOCATION: la multiregione dell'app o del connettore di dati: us o eu.
    • CMEK_CONFIG_ID: imposta un ID univoco per la risorsa CmekConfig, ad esempio default_cmek_config.
    • SET_DEFAULT: impostato su true per utilizzare la chiave come chiave predefinita per le app e i connettori dati successivi creati nella multi-regione.

  2. Prima di creare app o connettori dati, verifica che la chiave sia pronta per l'uso. Una chiave registrata non può proteggere le risorse finché non è pronta. In genere, la registrazione di una chiave richiede alcuni minuti. Consulta Verifica che la chiave Cloud KMS sia pronta per l'uso.

    Per monitorare l'operazione di registrazione, puoi registrare il valore name restituito dal metodo e seguire Recuperare i dettagli di un'operazione a lunga esecuzione.

    Una volta che la chiave è pronta, le nuove app e i nuovi connettori dati in quella multi-regione sono protetti dalla chiave. Per informazioni generali sulla creazione di app, vedi Informazioni su app e datastore.

  3. Crea l'app. Per istruzioni, consulta Crea un'app e Informazioni su app e datastore.

Console

Procedura

Per registrare la tua chiave per Gemini Enterprise, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

    Gemini Enterprise

  2. Fai clic su Impostazioni e seleziona la scheda CMEK.

  3. Fai clic su Aggiungi chiave per la località us o eu.

    Fai clic su Aggiungi chiave per una località.
    Fai clic su Aggiungi chiave.
    1. Fai clic sul menu a discesa Seleziona una chiave Cloud KMS e seleziona la chiave.

      • Se la chiave si trova in un altro progetto, fai clic su Cambia progetto, fai clic sul nome del progetto, digita il nome della chiave che hai creato e selezionala.

      • Se conosci il nome risorsa della chiave, fai clic su Inserisci manualmente, incolla il nome risorsa della chiave e fai clic su Salva.

    2. Fai clic su Ok > Salva.

  4. Prima di creare app o connettori di dati, verifica che la chiave sia pronta per l'uso. Una chiave registrata non può proteggere le risorse finché non è pronta. Consulta Verifica che la chiave Cloud KMS sia pronta per l'uso.

  5. Crea l'app. Per istruzioni, consulta Crea un'app e Informazioni su app e datastore.

In questo modo, la chiave viene registrata e viene creata una risorsa CmekResource denominata default_cmek_config.

La visualizzazione dei dati importati nei risultati di ricerca può richiedere diverse ore.

Registra le chiavi Cloud KMS a singola regione per i connettori di terze parti

REST

Per registrare la tua chiave per Gemini Enterprise, segui questi passaggi:

  1. Chiama il metodo UpdateCmekConfig con la chiave che vuoi registrare.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

    Sostituisci quanto segue:

    • KMS_PROJECT_ID: l'ID del progetto che contiene la chiave. Il numero di progetto non funzionerà.
    • KMS_LOCATION: la multiregione della chiave: us o europe.
    • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
    • KEY_NAME: il nome della chiave.
    • PROJECT_ID: l'ID del progetto che contiene l'app o il connettore dati.
    • LOCATION: la multiregione dell'app o del connettore di dati: us o eu.
    • CMEK_CONFIG_ID: imposta un ID univoco per la risorsa CmekConfig, ad esempio default_cmek_config.
    • SET_DEFAULT: impostato su true per utilizzare la chiave come chiave predefinita per le app e i connettori dati successivi creati nella multiregione.

  2. (Facoltativo) Registra il valore name restituito dal metodo e segui le istruzioni riportate in Recuperare i dettagli di un'operazione a lunga esecuzione per vedere quando l'operazione è completata.

    In genere, la registrazione di una chiave richiede alcuni minuti.

    Al termine dell'operazione, le nuove app e i nuovi connettori dati in quella multi-regione sono protetti dalla chiave. Per informazioni generali sulla creazione di app, consulta Informazioni su app e datastore.

  3. Se utilizzi connettori di terze parti e vuoi proteggere i tuoi dati di terze parti con la tua chiave, crea tre chiavi a singola regione aggiuntive come segue:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{
      "kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME",
      "singleRegionKeys": [ \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_1/keyRings/KEY_RING_1/cryptoKeys/KEY_NAME_1"}, \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_2/keyRings/KEY_RING_2/cryptoKeys/KEY_NAME_2"}, \
        {"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION_3/keyRings/KEY_RING_3/cryptoKeys/KEY_NAME_3"} \
      ] \
    }' \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    

    Sostituisci quanto segue:

    • KMS_PROJECT_ID: l'ID del progetto che contiene la chiave. Il numero di progetto non funzionerà.

    • Imposta i valori REGION:

      • REGION_1: per la località eu, imposta questo valore su europe-west1 e per la località us, imposta questo valore su us-east1.

      • REGION_2: per la località eu, imposta questo valore su europe-west4, mentre per la località us, impostalo su us-central1.

      • REGION_3: per la località eu, imposta questo valore su europe-north1, mentre per la località us, impostalo su us-west1.

    • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.

    • KEY_NAME: il nome della chiave multiregionale.

    • LOCATION: la località multiregionale della tua app o del tuo connettore dati: us o eu.

    • PROJECT_ID: l'ID del progetto che contiene l'app o il connettore dati.

    • CMEK_CONFIG_ID: impostato sull'ID della risorsa CmekConfig. Utilizza lo stesso valore del passaggio 1, ad esempio default_cmek_config.

    • SET_DEFAULT: impostato su true per utilizzare la chiave come chiave predefinita per le app e i connettori dati successivi creati nella multiregione.

  4. Prima di creare app o connettori dati, verifica che la chiave sia pronta per l'uso. Una chiave registrata non può proteggere le risorse finché non è pronta. Consulta Verifica che la chiave Cloud KMS sia pronta per l'uso.

  5. Crea l'app. Per istruzioni, consulta Crea un'app e Informazioni su app e datastore.

Console

Prima di iniziare

Assicurati che le regioni non siano già protette da chiavi. La procedura seguente non va a buon fine se una chiave è già registrata per la regione tramite il comando REST.

Per determinare se esiste una chiave attiva per una località, consulta Visualizza le chiavi Cloud KMS.

Procedura

Per registrare la tua chiave quando utilizzi connettori di terze parti di Gemini Enterprise, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

    Gemini Enterprise

  2. Fai clic su Impostazioni e seleziona la scheda CMEK.

  3. Fai clic su Aggiungi chiave per la località Stati Uniti o Europa.

    Fai clic su Aggiungi chiave per una posizione.
    Fai clic su Aggiungi chiave.
    1. Fai clic sul menu a discesa Seleziona una chiave Cloud KMS e seleziona la chiave.

      • Se la chiave si trova in un altro progetto, fai clic su Cambia progetto, fai clic sul nome del progetto, digita il nome della chiave che hai creato e selezionala.

      • Se conosci il nome risorsa della chiave, fai clic su Inserisci manualmente, incolla il nome risorsa della chiave e fai clic su Salva.

    2. Fai clic su Ok > Salva.

      In questo modo, la chiave viene registrata e viene creata una risorsa CmekResource denominata default_cmek_config.

  4. Se stai connettendo un'origine dati di terze parti, fai clic su Imposta chiavi per singola regione.

    fai clic su Imposta chiavi per singola regione e sulle chiavi specifiche per una località.
    Fai clic su Imposta chiavi per singola regione.
    1. Fai clic sul menu a discesa Seleziona una chiave Cloud KMS e seleziona la chiave per ogni regione.

      • Se la chiave si trova in un altro progetto, fai clic su Cambia progetto, fai clic sul nome del progetto, digita il nome della chiave che hai creato e seleziona la chiave.

      • Se conosci il nome risorsa della chiave, fai clic su Inserisci manualmente, incolla il nome risorsa della chiave e fai clic su Salva.

    2. Fai clic su Salva.

      In questo modo, le chiavi a regione singola vengono registrate nella risorsa CmekResource chiamata default_cmek_config.

  5. Prima di creare app o connettori dati, verifica che la chiave sia pronta per l'uso. Una chiave registrata non può proteggere le risorse finché non è pronta. Consulta Verifica che la chiave Cloud KMS sia pronta per l'uso.

  6. Crea l'app. Per istruzioni, consulta Crea un'app e Informazioni su app e datastore.

La visualizzazione dei dati importati nei risultati di ricerca può richiedere diverse ore.

Visualizza le chiavi Cloud KMS

Per visualizzare una chiave registrata per Gemini Enterprise, esegui una delle seguenti operazioni:

  • Se hai il nome della risorsa CmekConfig, chiama il metodo GetCmekConfig:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

    Sostituisci quanto segue:

    • LOCATION: la multiregione dell'app o del connettore di dati: us o eu.
    • PROJECT_ID: l'ID del progetto che contiene i dati.
    • CMEK_CONFIG_ID: l'ID della risorsa CmekConfig. Se hai registrato la chiave utilizzando la console, l'ID è default_cmek_config.

    Ecco un esempio di chiamata e risposta curl:

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
    
    { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key", "kmsKeyVersion": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/2", "state": "ACTIVE", "isDefault": true, "lastRotationTimestampMicros": "1788220800000000" }

  • Se non hai il nome della risorsa CmekConfig, chiama il metodo ListCmekConfigs:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    

    Sostituisci quanto segue:

    • LOCATION: la multiregione del connettore di app o dati: us o eu.
    • PROJECT_ID: l'ID del progetto che contiene i dati.

    Ecco un esempio di chiamata e risposta curl:

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs"
    
    { "cmek_configs": [ { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key", "kmsKeyVersion": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/2", "state": "ACTIVE", "isDefault": true, "lastRotationTimestampMicros": "1788220800000000" } ] }

Verifica che la chiave Cloud KMS sia pronta per l'uso

Dopo aver registrato una chiave, devi verificare che sia pronta per l'uso prima che possa proteggere le risorse:

  1. Visualizza le chiavi Cloud KMS registrate. Consulta Visualizzare le chiavi Cloud KMS.

  2. Esamina l'output del comando. CmekConfig è pronto per l'uso se nell'output sono presenti tutti i seguenti valori:

    • "state": "ACTIVE"
    • "isDefault": true

    Se "isDefault": true, la chiave viene applicata automaticamente per proteggere le nuove app e i nuovi connettori dati.

Puoi anche verificare che sia impostata una configurazione CMEK predefinita (ovvero "isDefault": true) utilizzando la console Google Cloud :

  1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

  2. Fai clic su Impostazioni e seleziona la scheda CMEK.

  3. Verifica che lo stato della configurazione per la tua località mostri la chiave registrata.

Annulla la configurazione predefinita di Cloud KMS

L'annullamento dell'impostazione predefinita impedisce la protezione automatica di nuove app e nuovi connettori di dati da parte della chiave e rimuove la protezione CMEK dai dati degli utenti finali. Le app e i connettori dati esistenti mantengono la chiave con cui sono stati creati.

Per disattivare il valore predefinito, chiama il metodo UpdateCmekConfig con set_default impostato su false:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=false"

Sostituisci quanto segue:

  • LOCATION: la multiregione del connettore di app o dati: us o eu.
  • PROJECT_ID: l'ID del progetto che contiene l'app o il connettore dati.
  • CMEK_CONFIG_ID: l'ID della risorsa CmekConfig. Se hai registrato la chiave utilizzando la console, l'ID è default_cmek_config.

La disattivazione dell'impostazione predefinita non elimina CmekConfig o la chiave e l'utilizzo di Cloud KMS continua. Per interrompere l'utilizzo di Cloud KMS, annulla la registrazione della chiave.

Annulla la registrazione della chiave Cloud KMS

Per annullare la registrazione della chiave da Gemini Enterprise, segui questi passaggi:

  1. Chiama il metodo DeleteCmekConfig con il nome della risorsa CmekConfig che vuoi annullare la registrazione.

    curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    

    Sostituisci quanto segue:

    • LOCATION: la località multiregionale della tua app o del tuo connettore dati: us o eu.
    • PROJECT_ID: l'ID del progetto che contiene l'app o il connettore dati.
    • CMEK_CONFIG_ID: l'ID della risorsa CmekConfig. Se hai registrato la chiave utilizzando la console, l'ID è default_cmek_config.

    Ecco un esempio di chiamata e risposta curl:

    $ curl -X DELETE
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
     
    {
     "name": "projects/my-ai-app-project-123/locations/us/operations/delete-cmek-config-56789",
     "metadata": {
      "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.DeleteCmekConfigMetadata"
     }
    }
    

  2. (Facoltativo) Registra il valore name restituito dal metodo e segui le istruzioni riportate in Visualizza i dettagli di un'operazione a lunga esecuzione per vedere quando l'operazione è stata completata.

    L'eliminazione di un CmekConfig è un'operazione a lunga esecuzione che può richiedere fino a un paio di giorni. Questo perché il deprovisioning delle risorse criptate sottostanti viene eseguito completamente prima della rimozione di CmekConfig.

Se i dati dell'utente finale sono ancora protetti da CmekConfig, la richiesta non va a buon fine e viene visualizzato un errore FAILED_PRECONDITION simile al seguente:

The default user store is currently protected by this CmekConfig. Please unset
the default CmekConfig (UpdateCmekConfig with set_default set to false) before
trying to delete the CmekConfig.

Per risolvere questo errore, annulla la configurazione predefinita di Cloud KMS e riprova a inviare la richiesta di eliminazione. La disattivazione dell'impostazione predefinita rimuove la protezione CMEK dai dati degli utenti finali. Per saperne di più, consulta Dati dell'utente finale e configurazione predefinita di Cloud KMS.

Verifica che un'app o un connettore dati sia protetto da una chiave

Le app e i connettori dati creati dopo la registrazione della chiave sono protetti dalla chiave. Se vuoi verificare che una determinata app o un determinato connettore di dati sia protetto dalla tua chiave, segui questi passaggi:

Verifica utilizzando la console Google Cloud

  1. Per verificare se un'app è protetta da una chiave:

    1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

    2. Fai clic su App e seleziona la tua app.

    3. Fai clic su Sicurezza e individua la sezione Configurazione CMEK.

    4. Verifica che il campo Chiave KMS mostri la chiave registrata.

  1. Per verificare se un connettore dati è protetto da una chiave:

    1. Nella console Google Cloud , vai alla pagina Gemini Enterprise.

    2. Fai clic su Datastore e seleziona il connettore dati.

    3. Verifica che nel campo Chiave KMS sia visualizzata la chiave registrata.

Verifica utilizzando l'interfaccia a riga di comando o l'API

  1. Per eseguire la verifica per un datastore:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: PROJECT_ID" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
    

    Sostituisci quanto segue:

    • LOCATION: la località multiregionale del progetto: us o eu.
    • PROJECT_ID: l'ID del progetto che contiene l'app o il connettore dati.
    • DATA_STORE_ID: l'ID del datastore associato alla tua app o al tuo connettore dati.

    Ecco un esempio di chiamata curl:

    curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json"
    -H "x-goog-user-project: my-ai-app-project-123"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
    

  2. Per eseguire la verifica per un'app:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -H "x-goog-user-project: PROJECT_ID" \
    "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/ENGINE_ID"
    

    Sostituisci quanto segue:

    • LOCATION: la multiregione del tuo progetto: us o eu.
    • PROJECT_ID: l'ID del progetto che contiene l'app.
    • ENGINE_ID: l'ID della tua app.

    Ecco un esempio di chiamata curl:

    curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json"
    -H "x-goog-user-project: my-ai-app-project-123"
    "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/engines/my-app"
    

  3. Esamina l'output del comando: se il campo cmekConfig è presente nell'output e il campo kmsKey mostra la chiave che hai registrato, l'app o il connettore dati sono protetti dalla chiave.

    Una risposta di esempio per un datastore è simile alla seguente:

    {
     "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1",
     "displayName": "my-data-store-1",
     "industryVertical": "GENERIC",
     "createTime": "2023-09-05T21:20:21.520552Z",
     "solutionTypes": [
       "SOLUTION_TYPE_SEARCH"
     ],
     "defaultSchemaId": "default_schema",
     "cmekConfig": {
       "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

    Ecco un esempio di risposta per un'app:

    {
      "name": "projects/969795412903/locations/us/collections/default_collection/engines/my-app",
      "displayName": "my-app",
      "dataStoreIds": [
        "my-data-store-1"
      ],
      "solutionType": "SOLUTION_TYPE_SEARCH",
      "searchEngineConfig": {
        "searchTier": "SEARCH_TIER_STANDARD"
      },
      "industryVertical": "GENERIC",
      "appType": "APP_TYPE_INTRANET",
      "cmekConfig": {
       "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

Altri dati protetti dalla chiave Cloud KMS

Oltre ai dati nelle app e ai connettori dati, le tue chiavi possono proteggere altri tipi di informazioni principali di proprietà dell'app conservate da Gemini Enterprise, come i dati della sessione generati durante la ricerca con follow-up. Questo tipo di informazioni di base è protetto da CMEK se le app e i connettori dati sono protetti da CMEK.

Anche se non puoi eseguire un comando specifico per verificare che le sessioni siano protette, puoi verificare se l'app è protetta. Esegui il comando Verifica che un'app o un connettore dati sia protetto da una chiave per l'app per visualizzare la chiave nella risorsa cmekConfig. In questo modo saprai che i dati della sessione sono protetti.

Dati degli utenti finali e configurazione predefinita di Cloud KMS

Gemini Enterprise memorizza i dati relativi agli utenti finali, come le impostazioni di personalizzazione, le preferenze dell'interfaccia utente e le credenziali che autorizzano i connettori dati per loro conto. Gemini Enterprise esegue automaticamente il provisioning di questo spazio di archiviazione per il tuo progetto. Non puoi crearla o eliminarla e non puoi assegnarle direttamente una chiave.

I dati degli utenti finali sono invece protetti dalla risorsa CmekConfig predefinita per la località. La sua protezione cambia quindi quando cambia l'impostazione predefinita:

Azione Effetto sui dati degli utenti finali
Hai impostato un CmekConfig come predefinito (set_default=true) I dati degli utenti finali sono protetti da questa chiave.
Hai impostato un altro CmekConfig come predefinito I dati dell'utente finale sono protetti dalla nuova chiave. I dati archiviati con la chiave precedente non vengono migrati e diventano inaccessibili.
Hai annullato l'impostazione predefinita (set_default=false) I dati dell'utente finale non sono più protetti dalla CMEK e vengono ripristinati Google-owned and Google-managed encryption key. I dati archiviati con la chiave precedente non vengono migrati e diventano inaccessibili.

Poiché i dati degli utenti finali seguono la configurazione CMEK predefinita, non puoi eliminare una configurazione CMEK mentre protegge ancora i dati degli utenti finali. Per eliminarla, devi prima annullare l'impostazione della configurazione Cloud KMS predefinita. Per saperne di più, consulta Annulla la registrazione della chiave Cloud KMS.

Ruotare le chiavi Cloud KMS

Non puoi modificare la chiave che protegge un'app o un connettore dati esistente, ma puoi ruotare la chiave in una nuova versione. Quando imposti una nuova versione di una chiave registrata come versione principale, Gemini Enterprise rileva la modifica e cripta nuovamente i dati con la nuova versione della chiave in modo automatico. Non devi chiamare un metodo Gemini Enterprise per avviare una rotazione.

Per informazioni generali sulla rotazione delle chiavi, consulta Rotazione delle chiavi nella guida di Cloud KMS.

Importante: non ruotare le chiavi su app o connettori dati associati ai suggerimenti o con app che richiedono analisi e non ruotare le chiavi a regione singola utilizzate per i connettori di terze parti. Consulta Limitazioni di Cloud KMS in Gemini Enterprise.

Per ruotare una chiave, segui questi passaggi:

  1. Crea una nuova versione della chiave e impostala come versione principale. Per istruzioni, consulta Ruotare una chiave nella guida di Cloud KMS.

    Lascia abilitata la versione precedente della chiave. La ricriptazione inizia automaticamente dopo che Gemini Enterprise rileva la nuova versione primaria.

  2. Verifica che Gemini Enterprise abbia rilevato la nuova versione della chiave. Per visualizzare la configurazione CMEK, consulta Visualizza le chiavi Cloud KMS. Controlla i seguenti campi nell'output:

    • kmsKeyVersion mostra la nuova versione della chiave.
    • state è pari a ACTIVE.
    • lastRotationTimestampMicros mostra quando è iniziata la rotazione.
  3. Mantieni attiva la versione precedente della chiave per almeno 30 giorni dopo che kmsKeyVersion mostra la nuova versione della chiave.

  4. Disabilita la versione della chiave precedente e assicurati che tutto funzioni come prima. Consulta Abilita e disabilita le versioni delle chiavi nella guida di Cloud KMS.

  5. Quando hai la certezza che la disabilitazione della versione precedente della chiave non ha causato problemi, distruggila. Consulta Elimina e ripristina le versioni delle chiavi nella guida di Cloud KMS.

Se una chiave Cloud KMS viene disattivata o revocata

Se una chiave viene disattivata o se le autorizzazioni per la chiave vengono revocate, l'app o il connettore dati interrompe l'importazione e la pubblicazione dei dati entro 15 minuti. Puoi riattivare la chiave entro 30 giorni per riprendere le operazioni prima che la configurazione CMEK scada e che tutti i dati associati vengano eliminati definitivamente. Tuttavia, la riattivazione di una chiave o il ripristino delle autorizzazioni richiede molto tempo. Potrebbero trascorrere fino a 24 ore prima che l'app o il connettore dati possa riprendere a pubblicare dati.

Pertanto, non disattivare una chiave se non è necessario. La disattivazione e l'attivazione di una chiave su un'app o un connettore dati è un'operazione che richiede tempo. Ad esempio, se una chiave viene disattivata e attivata ripetutamente, l'app o il connettore dati impiegherà molto tempo per raggiungere uno stato protetto. La disattivazione di una chiave e la sua riattivazione immediata potrebbero comportare giorni di inattività perché la chiave viene prima disattivata dall'app o dal connettore dati e successivamente riattivata.

Risolvi i problemi: errore Progetti di chiavi KMS non trovati

Sintomo: quando provi a creare un connettore dati o app utilizzando una chiave KMS, ricevi un errore simile al seguente:

KMS key projects/[...] not found for location: [...] and project number: [...]

Problema: questo messaggio di errore può essere fuorviante. Ciò non significa necessariamente che la chiave non esista. Potrebbe invece indicare che la chiave KMS non è stata registrata per l'utilizzo con Gemini Enterprise nella località specificata.

Soluzione: per risolvere il problema, registra la chiave seguendo i passaggi descritti in Registra la chiave Cloud KMS. Una volta completata la registrazione, puoi creare app o connettori di dati protetti da questa chiave.