Utilizzo delle chiavi di crittografia gestite dal cliente

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

Puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per proteggere Eventarc e i dati inattivi at-rest. Queste chiavi vengono create e gestite tramite Cloud Key Management Service (Cloud KMS) e archiviate come chiavi software, in un cluster Cloud HSM o utilizzando esternamente Cloud Key Key Manager.

L'abilitazione di un canale con una CMEK protegge i dati associati utilizzando una chiave di crittografia a cui solo tu puoi accedere. Questo tipo di crittografia 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, nessuno (inclusi te) può accedere ai dati protetti da queste chiavi di crittografia quando le chiavi sono disattivate o distrutte.

Cloud KMS produce audit log Cloud 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 e aggiungi una nuova chiave.

gcloud

  1. Aggiorna gcloud componenti.
    gcloud components update
    
  2. Abilita le API Cloud KMS ed Eventarc per il progetto che memorizzerà le tue chiavi di crittografia.
    gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
    
  3. Crea un keyring e aggiungi una nuova chiave.

Per ulteriori informazioni, consulta la sezione Creazione di chiavi di crittografia simmetriche.

Cloud KMS ed Eventarc sono servizi a livello di regione. La regione tra la chiave Cloud KMS e 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 CryptoKey CryptoKey Encrypter/Decrypter:

console

Quando attivi CMEK per un canale Google o di terze parti, ti verrà chiesto di concedere il ruolo criptatore/crittografia CryptoKey Cloud KMS all'account di servizio tramite la console. Per ulteriori informazioni, consulta questo documento nel documento 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, vedi Agenti di servizio.

Abilita CMEK per un canale Google

Un canale Google è una risorsa tramite la quale le origini Google Cloud possono interagire con le destinazioni. Per ulteriori informazioni, consulta Elencare i fornitori di eventi.

Per attivare CMEK 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 Area geografica e, nell'elenco Chiave di crittografia CMEK, seleziona un keyring che hai creato per la regione.
  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. Fai clic su Salva.

gcloud

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

Sostituisci quanto segue:

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

Se stai creando trigger Pub/Sub utilizzando i tuoi argomenti esistenti, per una protezione CMEK completa, valuta la possibilità di configurare la chiave KMS sull'argomento. Per ulteriori informazioni, consulta Configurazione degli argomenti Pub/Sub.

Verificare l'utilizzo di Cloud KMS

Per verificare che il canale sia ora conforme a CMEK:

console

  1. In Google Cloud Console, 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 un'area geografica che hai protetto utilizzando CMEK.
  3. Nella pagina Dettagli trigger, lo stato di Crittografia mostra 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'

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

Abilita CMEK per un canale di terze parti

Un canale Eventarc è una risorsa attraverso la quale le entità non Google Cloud che offrono un'origine Eventarc possono interagire con le destinazioni.

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 fornitore 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.
  6. (Facoltativo) Per inserire manualmente il nome della risorsa che vuoi utilizzare, 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. 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 posizione del canale di terze parti da proteggere. Deve corrispondere alla posizione della chiave.
  • KEY: il nome della chiave Cloud KMS completo nel formato projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME.

Verificare l'utilizzo di Cloud KMS

Per verificare che il canale sia ora conforme a CMEK:

console

  1. In Google Cloud Console, 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 un'Area geografica che hai protetto usando CMEK.
  3. Nella pagina Dettagli trigger, lo stato di Crittografia mostra il messaggio Events encrypted using Customer-managed encryption keys.

gcloud

gcloud eventarc channels describe CHANNEL \
--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'

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

Disabilita Cloud KMS

Per impedire a Eventarc di decriptare i dati degli eventi:

  • Disattiva la versione della chiave che hai configurato per il canale. Questo influisce solo sui canali e i trigger Eventarc associati alla chiave specifica.
  • Revoca il ruolo cloudkms.cryptoKeyEncrypterDecrypter dall'account di servizio Eventarc. Questa operazione influisce su tutti i canali Eventarc del progetto e sui trigger che supportano gli eventi criptati con CMEK.
  • Elimina la protezione CMEK associata a un'area geografica:
    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 sopra la casella dell'elenco CMEK 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 fornitore 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.

Sebbene nessuna operazione garantisca la revoca immediata dell'accesso, in genere le modifiche a Identity and Access Management (IAM) vengono propagate più rapidamente. Per ulteriori informazioni, consulta la conformità delle risorse di Cloud KMS e le Domande frequenti su IAM.

Riattiva Cloud KMS

Quando Eventarc non può accedere a Cloud KMS, la pubblicazione degli eventi con i canali non riesce a causa di errori FAILED_PRECONDITION e la distribuzione degli eventi viene interrotta. Per riprendere la pubblicazione e la pubblicazione degli eventi, ripristina l'accesso a Cloud KMS.

Prezzi

Questa integrazione non prevede costi aggiuntivi oltre alle operazioni chiave, che vengono fatturate al tuo progetto Google Cloud. L'uso di CMEK su un canale comporta addebiti per l'accesso al servizio Cloud KMS in base ai prezzi di Pub/Sub.

Per ulteriori informazioni sui prezzi più aggiornati, consulta i prezzi di Cloud KMS.

Passaggi successivi