Utilizzo delle chiavi di crittografia gestite dal cliente

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Per impostazione predefinita, Google cripta i tuoi dati at-rest. Per proteggere Eventarc e i relativi dati at-rest, puoi anche utilizzare chiavi di crittografia gestite dal cliente (CMEK). Configurare CMEK per un canale utilizzato da Eventarc per criptare gli eventi trasmessi attraverso il canale. Queste chiavi vengono create e gestite tramite Cloud Key Management Service (Cloud KMS) e archiviate come chiavi software, in un cluster Cloud HSM o esternamente utilizzando Cloud External Key Manager.

L'attivazione di un canale con CMEK protegge i dati associati utilizzando una chiave di crittografia a cui solo tu puoi accedere. Questo tipo di crittografia ti consente di soddisfare i requisiti di conformità in determinati settori, come i servizi finanziari. Poiché la chiave è di tua proprietà e non è controllata da Google, se la chiave viene disattivata o eliminata, nessuno (inclusi te) potrà accedere ai dati protetti.

Cloud KMS produce Cloud Audit Logs quando le chiavi sono abilitate, disabilitate o utilizzate dalle risorse del canale Eventarc per criptare e decriptare i messaggi. Per ulteriori informazioni, consulta Informazioni sull'audit logging di Cloud KMS.

Prima di iniziare

Prima di utilizzare questa funzionalità in Eventarc, devi:

Console

  1. Abilita le API Cloud KMS and Eventarc.

    Abilita le API

  2. Crea un keyring.
  3. Crea una chiave per un keyring specificato.

gcloud

  1. Aggiorna i componenti gcloud.
    gcloud components update
    
  2. Abilitare le API Cloud KMS ed Eventarc per il progetto che archivierà le chiavi di crittografia.
    gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
    
  3. Crea un keyring.
  4. Crea una chiave per un keyring specificato.

Per informazioni su tutti i flag e i possibili valori, esegui il comando con il flag --help.

Cloud KMS ed Eventarc sono servizi a livello di regione. La regione per la chiave Cloud KMS e per il canale Eventarc protetto deve essere la stessa.

Concedi all'account di servizio Eventarc l'accesso a una chiave

Per concedere all'account di servizio Eventarc l'accesso alla chiave Cloud KMS, aggiungi l'account di servizio come entità della chiave e concedi all'account di servizio il ruolo Cloud Encrypter/Decrypter di Cloud KMS:

Console

Quando abiliti CMEK per un canale Google o di terze parti tramite la console, ti viene chiesto di concedere il ruolo Cloud Encrypter/Decrypter di CryptoKey Cloud KMS all'account di servizio. Per maggiori informazioni, in questo documento consulta Abilitare CMEK per un canale Google o un canale di terze parti.

gcloud

 gcloud kms keys add-iam-policy-binding KEY_NAME \
    --keyring KEY_RING \
    --location LOCATION \
    --member serviceAccount:SERVICE_AGENT_EMAIL \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter

Sostituisci quanto segue:

  • KEY_NAME: il nome della chiave. Ad esempio, my-key.
  • KEY_RING: il nome del keyring. Ad esempio: my-keyring.
  • LOCATION: la posizione della chiave. Ad esempio: us-central1.
  • SERVICE_AGENT_EMAIL: l'indirizzo email dell'account di servizio con il eventarc.serviceAgentruolo.

    Ad esempio: service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com. Per ulteriori informazioni, consulta la sezione Agenti di servizio.

Abilitare CMEK per un canale Google

Un canale Google è una risorsa tramite cui le origini Google Cloud possono interagire con le destinazioni. Questo canale è applicabile a tutte le aree geografiche. Puoi aggiungere più di una chiave di crittografia, ciascuna associata a una regione specifica per un canale Google.

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc > Canali.

    Vai a Eventarc
  2. Fai clic su un canale con un provider Google.
  3. Nella pagina Modifica canale, seleziona la casella di controllo Utilizza una chiave di crittografia gestita dal cliente (CMEK).
  4. Fai clic su Aggiungi chiave di crittografia.
  5. Seleziona una regione e, nell'elenco Chiave di crittografia CMEK, seleziona un keyring che hai creato per la regione. Tieni presente che puoi aggiungere una sola chiave di crittografia per regione per un canale.
  6. (Facoltativo) Per inserire manualmente il nome della risorsa della chiave, nell'elenco Chiave di crittografia CMEK, fai clic su Non vedi la chiave? Inserisci il nome risorsa della chiave e inserisci il nome della chiave nel formato specificato.
  7. Se richiesto, concedi il ruolo cloudkms.cyptoKeyEncrypterDecrypter all'account di servizio Eventarc con il ruolo eventarc.serviceAgent.
  8. (Facoltativo) Fai clic su Aggiungi chiave di crittografia per aggiungere un altro keyring che hai creato per un'altra area geografica.
  9. Fai clic su Salva.

gcloud

 gcloud eventarc google-channels update \
    --location=LOCATION \
    --crypto-key=KEY

Sostituisci quanto segue:

  • LOCATION: la località del canale Google da proteggere. Deve corrispondere alla posizione della chiave utilizzata.
  • KEY: il nome completo della chiave Cloud KMS nel formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.

Se crei trigger Pub/Sub utilizzando i tuoi argomenti esistenti, per una protezione CMEK completa, ti consigliamo di configurare anche la chiave KMS nell'argomento. Per saperne di più, consulta Configurazione di argomenti Pub/Sub.

Verificare l'utilizzo di Cloud KMS

Per verificare se il canale ora è conforme a CMEK:

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc > Trigger.

    Vai a Eventarc
  2. Fai clic su un trigger che elenca un'origine Google Cloud come provider di eventi e una regione che hai protetto utilizzando CMEK.
  3. Nella pagina Dettagli attivatore, viene visualizzato lo stato Crittografia, il messaggio Events encrypted using Customer-managed encryption keys.

gcloud

 gcloud eventarc google-channels describe \
    --location=LOCATION

L'output dovrebbe essere simile al seguente:

 cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
 name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig
 updateTime: '2022-06-28T17:24:56.365866104Z'

Il valore cryptokeyName mostra la chiave Cloud KMS utilizzata per il canale Google.

Abilita CMEK per un canale di terze parti

Un canale Eventarc per terze parti è una risorsa attraverso cui le entità non Google Cloud che offrono un'origine Eventarc possono interagire con le destinazioni. Questo canale è specifico per una regione e puoi aggiungere una sola chiave per canale di terze parti.

Per abilitare CMEK per un canale di terze parti:

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc > Canali.

    Vai a Eventarc
  2. Fai clic su un canale con un provider di terze parti.
  3. Nella pagina Dettagli canale, fai clic su Modifica.
  4. Nella pagina Modifica canale, seleziona la casella di controllo Utilizza una chiave di crittografia gestita dal cliente (CMEK).
  5. Nell'elenco Chiave di crittografia CMEK, seleziona un keyring che hai creato per la regione. Tieni presente che puoi aggiungere una sola chiave di crittografia per regione per un canale.
  6. (Facoltativo) Per inserire manualmente il nome della risorsa della chiave che vuoi utilizzare, nell'elenco Chiave di crittografia CMEK fai clic su Inserisci manualmente la chiave e inserisci il nome della chiave nel formato specificato.
  7. Se richiesto, concedi il ruolo cloudkms.cyptoKeyEncrypterDecrypter all'account di servizio Eventarc con il ruolo eventarc.serviceAgent.
  8. Fai clic su Salva.

gcloud

 gcloud eventarc channels update CHANNEL_NAME \
    --location=LOCATION \
    --crypto-key=KEY

Sostituisci quanto segue:

  • CHANNEL_NAME: il nome del canale di terze parti. Per creare un nuovo canale di terze parti, consulta l'articolo Creare un canale.
  • LOCATION: la località del canale di terze parti da proteggere. Deve corrispondere alla posizione della chiave.
  • KEY: il nome completo della chiave Cloud KMS nel formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.

Verificare l'utilizzo di Cloud KMS

Per verificare se il canale ora è conforme a CMEK:

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc > Trigger.

    Vai a Eventarc
  2. Fai clic su un trigger con un'origine di terze parti come Provider di eventi e una Regione che hai protetto utilizzando CMEK.
  3. Nella pagina Dettagli trigger, lo stato della crittografia mostra il messaggio Events encrypted using Customer-managed encryption keys.

gcloud

 gcloud eventarc channels describe CHANNEL_NAME \
    --location=LOCATION

L'output dovrebbe essere simile al seguente:

 createTime: '2022-06-28T18:05:52.403999904Z'
 cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
 name: projects/PROJECT_ID/locations/LOCATION/googleChannelConfig
 pubsubTopic: projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID
 state: ACTIVE
 uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3
 updateTime: '2022-06-28T18:09:18.650727516Z'

Il valore cryptokeyName mostra la chiave Cloud KMS utilizzata per il canale di terze parti.

Disabilita CMEK

Puoi disattivare la protezione CMEK associata a un canale. Gli eventi distribuiti tramite questi canali sono comunque protetti dalle chiavi di crittografia gestite da Google. Per eliminare la protezione CMEK associata a un canale:

Console

  1. Nella console Google Cloud, vai alla pagina Eventarc > Canali.

    Vai a Eventarc
  2. In base al tipo di canale, procedi nel seguente modo:

    Canale Google

    1. Fai clic su un canale con un provider Google.
    2. Nella pagina Modifica canale, tieni il puntatore del mouse sulla casella di elenco della chiave di crittografia CMEK per visualizzare il pulsante Elimina elemento.
    3. Fai clic su Elimina elemento.
    4. Fai clic su Salva.

    Canale di terze parti

    1. Fai clic su un canale con un provider di terze parti.
    2. Nella pagina Dettagli canale, fai clic su Modifica.
    3. Nella pagina Modifica canale, deseleziona la casella di controllo Utilizza una chiave di crittografia gestita dal cliente (CMEK).
    4. Fai clic su Salva.

gcloud

In base al tipo di canale, procedi nel seguente modo:

Canale Google

gcloud eventarc google-channels \
    update --clear-crypto-key

Canale di terze parti

gcloud eventarc channels CHANNEL_NAME \
    update --clear-crypto-key

Disabilitazione e abilitazione delle chiavi Cloud KMS

Una versione della chiave archivia il materiale della chiave di crittografia che utilizzi per criptare, decriptare, firmare e verificare i dati. Puoi disattivare questa versione della chiave in modo che non sia possibile accedere ai dati criptati con la chiave.

Quando Eventarc non può accedere alle chiavi di Cloud KMS, la pubblicazione degli eventi con i canali non riesce con errori FAILED_PRECONDITION e la pubblicazione degli eventi viene interrotta. Puoi attivare una chiave in stato Disattivato in modo che sia possibile accedere nuovamente ai dati criptati.

Disabilita chiavi Cloud KMS

Per impedire a Eventarc di utilizzare la chiave per criptare o decriptare i dati degli eventi, esegui una delle seguenti operazioni:

Anche se nessuna delle operazioni garantisce la revoca istantanea dell'accesso, le modifiche a Identity and Access Management (IAM) in genere vengono propagate più rapidamente. Per ulteriori informazioni, consulta la conformità delle risorse Cloud KMS e queste Domande frequenti su IAM.

Riattiva le chiavi Cloud KMS

Per riprendere la distribuzione e la pubblicazione degli eventi, ripristina l'accesso a Cloud KMS.

Prezzi

Questa integrazione non comporta costi aggiuntivi oltre alle operazioni chiave, che vengono fatturate al tuo progetto Google Cloud. L'utilizzo di CMEK per un canale comporta un addebito per l'accesso al servizio Cloud KMS basato sui prezzi di Pub/Sub.

Per ulteriori informazioni sui prezzi più aggiornati, consulta la pagina relativa ai prezzi di Cloud KMS.

Passaggi successivi