Per impostazione predefinita, Eventarc cripta i contenuti dei clienti at-rest. Eventarc 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 Eventarc. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione, la posizione, la pianificazione della rotazione, l'utilizzo e le autorizzazioni di accesso e i limiti crittografici. L'utilizzo di Cloud KMS consente anche di visualizzare i log di controllo e controllare i cicli di vita delle chiavi. Anziché essere di proprietà di Google e gestite da Google, le chiavi di crittografia delle chiavi (KEK) simmetriche che proteggono i tuoi dati sono controllate e gestite da te in Cloud KMS.
Dopo aver configurato le risorse con le chiavi CMEK, l'esperienza di accesso alle risorse Eventarc è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Le chiavi di crittografia gestite dal cliente vengono archiviate come chiavi software, in un cluster Cloud HSM o esternamente utilizzando Cloud External Key Manager.
Cloud KMS produce audit log quando le chiavi vengono attivate, disattivate o utilizzate dalle risorse avanzate di Eventarc per criptare e decriptare i messaggi. Per ulteriori informazioni, consulta le informazioni sui log di controllo di Cloud KMS.
Cosa viene protetto con CMEK
Puoi configurare CMEK per un canale utilizzato da Eventarc Standard e criptare gli eventi che passano attraverso il canale. L'attivazione di un canale con CMEK protegge i dati associati utilizzando una chiave di crittografia a cui solo tu puoi accedere.
Quando abiliti CMEK per il canale Google in un progetto Google Cloud , tutti i trigger Eventarc Standard per i tipi di eventi Google in quel progetto e in quella regione vengono criptati completamente con la chiave CMEK. Le chiavi CMEK non possono essere applicate in base al singolo trigger.
Prima di iniziare
Prima di utilizzare questa funzionalità in Eventarc, devi:
Console
-
Enable the Cloud KMS and Eventarc APIs.
- Crea un keyring.
- Crea una chiave per un keyring specificato.
gcloud
- Aggiorna i componenti di
gcloud
.gcloud components update
- Abilita le API Cloud KMS ed Eventarc per il progetto che archivierà le chiavi di crittografia.
gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
- Crea un keyring.
- Crea una chiave per un keyring specificato.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag
--help
.
Terraform
Attiva le API Cloud KMS ed Eventarc per il progetto che archivierà le chiavi di crittografia configurando la risorsa
google_project_service
:Crea una chiave automatizzata e una chiave configurando le risorse
google_kms_key_ring
egoogle_kms_crypto_key
:
Per saperne di più sull'utilizzo di Terraform, consulta la documentazione Terraform su Google Cloud.
Tieni presente che Cloud KMS ed Eventarc sono servizi regionalizzati. La regione per la chiave Cloud KMS e il canale Eventarc protetto deve essere la stessa.
Concedi al 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 concedigli il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS:
Console
Quando abiliti CMEK per un canale Google o di terze parti tramite la console, ti viene chiesto di concedere il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio. Per ulteriori informazioni, in questo documento, vedi Attivare CMEK per i tipi di eventi Google o Attivare CMEK per un canale di eventi di terze parti.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring RING_NAME \ --location LOCATION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave. Ad esempio,my-key
.RING_NAME
: il nome del keyring. Ad esempio,my-keyring
.LOCATION
: la posizione della chiave. Ad esempio,us-central1
.SERVICE_AGENT_EMAIL
: l'indirizzo email del account di servizio con il ruoloeventarc.serviceAgent
.Ad esempio,
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com
. Per saperne di più, vedi Agenti di servizio.
Terraform
Genera l'identità del servizio per il servizio Eventarc configurando la risorsa
google_project_service_identity
:Concedi il ruolo Cloud KMS al service account Eventarc configurando la risorsa
google_kms_crypto_key_iam_member
:
Abilita CMEK per i tipi di eventi Google
I trigger Eventarc che instradano i tipi di eventi Google pubblicano eventi in un canale virtuale denominato canale Google specifico per progetto e regione. Questo canale virtuale è disponibile in tutte le regioni Eventarc.
Quando abiliti CMEK per il canale Google in un progetto Google Cloud , tutti i trigger Eventarc per i tipi di eventi Google in quel progetto e in quella regione vengono criptati completamente con la chiave CMEK. Puoi aggiungere più chiavi CMEK e associarle a una regione specifica per il canale Google. Le chiavi CMEK non possono essere applicate in base al trigger.
Console
Nella console Google Cloud , vai alla pagina Eventarc > Canali.
Fai clic su un canale con un provider Google.
Nella pagina Modifica canale, seleziona la casella di controllo Utilizza una chiave di crittografia gestita dal cliente (CMEK).
Fai clic su Aggiungi chiave di crittografia.
Seleziona una regione e, nell'elenco Chiave di crittografia CMEK, seleziona un portachiavi che hai creato per la regione. Tieni presente che puoi aggiungere una sola chiave di crittografia per regione per un canale.
(Facoltativo) Per inserire manualmente il nome risorsa della chiave, nell'elenco Chiave di crittografia CMEK, fai clic su Non vedi la tua chiave? Inserisci il nome risorsa della chiave e il nome della chiave nel formato specificato.
Se richiesto, concedi il ruolo
cloudkms.cryptoKeyEncrypterDecrypter
all'account di servizio Eventarc con il ruoloeventarc.serviceAgent
.(Facoltativo) Fai clic su Aggiungi chiave di crittografia per aggiungere un altro keyring che hai creato per una regione diversa.
Fai clic su Salva.
gcloud
gcloud eventarc google-channels update \ --location=LOCATION \ --crypto-key=KEY
Sostituisci quanto segue:
LOCATION
: la regione del canale Google da proteggere. Deve corrispondere alla posizione della chiave utilizzata. Tieni presente che puoi aggiungere una sola chiave di crittografia per regione per un canale.KEY
: il nome della chiave Cloud KMS completo nel formatoprojects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
.
Terraform
Attiva CMEK per la risorsa GoogleChannelConfig
in un progetto e una località specifici configurando la risorsa google_eventarc_google_channel_config
:
REST
Puoi aggiornare la risorsa GoogleChannelConfig
utilizzando il metodo
projects.locations.updateGoogleChannelConfig
e specificare una chiave CMEK per un determinato progetto e una determinata località.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale Google da proteggere. Deve corrispondere alla posizione della chiave utilizzata, ad esempious-central1
. Tieni presente che puoi aggiungere una sola chiave di crittografia per regione per un canale.KEY_NAME
: il nome della chiave, ad esempiomy-key
.RING_NAME
: il nome della chiave automatizzata, ad esempiomy-keyring
.
Corpo JSON della richiesta:
{ "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza aggiornata di
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Se stai creando trigger Pub/Sub utilizzando argomenti esistenti, per una protezione CMEK completa, ti consigliamo di configurare anche la chiave KMS nell'argomento. Per ulteriori informazioni, consulta la pagina Configurazione degli argomenti Pub/Sub.
Verifica l'utilizzo di Cloud KMS
Per verificare che il canale sia ora conforme a CMEK:
Console
Nella console Google Cloud , vai alla pagina Eventarc > Trigger.
Fai clic su un trigger che elenca un'origine Google Cloud come provider di eventi e una regione che hai protetto utilizzando CMEK.
Nella pagina Dettagli trigger, viene visualizzato lo stato Crittografia, il messaggio
Events encrypted using Customer-managed encryption keys
.
gcloud
Per confermare la chiave CMEK, puoi utilizzare il comando
google-channels describe
.
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.
Terraform
Per confermare la chiave CMEK, puoi utilizzare il comando Terraform state show
.
terraform state show google_eventarc_google_channel_config.default
L'output dovrebbe essere simile al seguente:
# google_eventarc_google_channel_config.default: resource "google_eventarc_google_channel_config" "default" { crypto_key_name = "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" id = "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig" location = "LOCATION" name = "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig" project = "PROJECT_ID" update_time = "2025-03-24T17:15:08.809635011Z" }
REST
Per confermare la chiave CMEK, puoi recuperare la risorsa GoogleChannelConfig
utilizzando il metodo
projects.locations.getGoogleChannelConfig
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale Google protetto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Attivare CMEK per un canale di terze parti
Un canale Eventarc per terze parti è una risorsa tramite la quale le entità nonGoogle 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 attivare CMEK per un canale di terze parti:
Console
Nella console Google Cloud , vai alla pagina Eventarc > Canali.
Fai clic su un canale con un provider di terze parti.
Nella pagina Dettagli del canale, fai clic su
Modifica.Nella pagina Modifica canale, per Crittografia, seleziona Chiave Cloud KMS.
Nell'elenco Tipo di chiave, seleziona un metodo per gestire le chiavi.
Puoi gestire le chiavi manualmente o utilizzare Autokey, che ti consente di generare portachiavi e chiavi on demand. Se l'opzione Autokey è disattivata, significa che non è ancora integrata nel tipo di risorsa attuale.
Nell'elenco Seleziona una chiave Cloud KMS, seleziona una chiave. Tieni presente che puoi aggiungere una sola chiave di crittografia per regione per un canale.
(Facoltativo) Per inserire manualmente il nome della risorsa della chiave, nell'elenco Seleziona una chiave Cloud KMS, fai clic su Inserisci chiave manualmente e inserisci il nome della chiave nel formato specificato.
Se richiesto, concedi il ruolo
cloudkms.cryptoKeyEncrypterDecrypter
all'agente di servizio Eventarc.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 la sezione Creare un canale.LOCATION
: la regione del canale di terze parti da proteggere. Deve corrispondere alla posizione della chiave.KEY
: il nome della chiave Cloud KMS completamente qualificato nel formatoprojects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
.
Terraform
Specifica una chiave CMEK per un canale di terze parti configurando la risorsa
google_eventarc_channel
. Ad esempio:
resource "google_eventarc_channel" "default" { location = "us-central1" name = "CHANNEL_NAME" crypto_key_name = google_kms_crypto_key.default.id }
Sostituisci CHANNEL_NAME
con il nome del canale di terze parti.
REST
Puoi aggiornare una risorsa Channel
utilizzando il metodo
projects.locations.channels.patch
e specificare una chiave CMEK per un determinato progetto e una determinata località.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
CHANNEL_NAME
: il nome del canale.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale da proteggere. Deve corrispondere alla posizione della chiave utilizzata, ad esempious-central1
. Tieni presente che puoi aggiungere una sola chiave di crittografia per regione per un canale.KEY_NAME
: il nome della chiave, ad esempiomy-key
.RING_NAME
: il nome della chiave automatizzata, ad esempiomy-keyring
.
Corpo JSON della richiesta:
{ "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di
Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Verifica l'utilizzo di Cloud KMS
Per verificare che il canale sia ora conforme a CMEK:
Console
Nella console Google Cloud , vai alla pagina Eventarc > Trigger.
Fai clic su un trigger con un'origine di terze parti come Provider di eventi e una Regione che hai protetto utilizzando CMEK.
Nella pagina Dettagli trigger, lo stato di 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.
Terraform
Per confermare la chiave CMEK, puoi utilizzare il comando Terraform state show
.
terraform state show google_eventarc_channel.default
L'output dovrebbe essere simile al seguente:
# google_eventarc_channel.default: resource "google_eventarc_channel" "default" { create_time = "2025-03-31T13:07:44.721274062Z" crypto_key_name = "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" id = "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME" location = "LOCATION" name = "CHANNEL_NAME" project = "PROJECT_ID" pubsub_topic = "projects/PROJECT_ID/topics/PUBSUB_TOPIC_ID" state = "ACTIVE" uid = "406302e9-1d41-4479-8f4f-2524a803790e" update_time = "2025-03-31T13:07:49.708241490Z" }
REST
Per confermare la chiave CMEK per un canale, puoi recuperare una risorsa Channel
utilizzando il metodo projects.locations.channels.get
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
CHANNEL_NAME
: il nome del canale.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale protetto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
Channel
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "uid": "12f941a6-196a-457b-bfdb-ca21138859d0", "createTime": "2025-01-29T15:05:12.113912689Z", "updateTime": "2025-01-29T15:05:17.210986285Z", "pubsubTopic": "projects/PROJECT_ID/topics/TOPIC_ID", "state": "ACTIVE", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Visualizzare la chiave utilizzata per un canale
Puoi descrivere un canale Eventarc e visualizzare la chiave Cloud KMS utilizzata per il canale.
Console
Nella console Google Cloud , vai alla pagina Eventarc > Canali.
Fai clic sul nome di un canale.
Vengono visualizzate le chiavi di crittografia CMEK utilizzate per il canale.
gcloud
In base al tipo di canale, esegui il comando seguente:
canale Google
gcloud eventarc google-channels describe \ --location=LOCATION
Canale di terze parti
gcloud eventarc channels describe CHANNEL_NAME \ --location=LOCATION
L'output dovrebbe contenere una riga simile alla seguente:
cryptoKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
Il valore cryptoKeyName
mostra la chiave Cloud KMS utilizzata per il canale.
Terraform
In base al tipo di canale, esegui il comando seguente:
canale Google
terraform state show google_eventarc_google_channel_config.default
Canale di terze parti
terraform state show google_eventarc_channel.default
L'output dovrebbe contenere una riga simile alla seguente:
crypto_key_name= "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME"
Il valore crypto_key_name
mostra la chiave Cloud KMS utilizzata per
il canale.
REST
In base al tipo di canale, invia la seguente richiesta:
canale Google
Per confermare la chiave CMEK per un determinato progetto e una determinata località, puoi recuperare la risorsa GoogleChannelConfig
utilizzando il metodo projects.locations.getGoogleChannelConfig
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale Google protetto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Canale di terze parti
Per confermare la chiave CMEK per un determinato progetto e una determinata posizione, puoi recuperare una risorsa Channel
utilizzando il metodo projects.locations.channels.get
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
CHANNEL_NAME
: il nome del canale.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale protetto.
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza di
Channel
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "uid": "12f941a6-196a-457b-bfdb-ca21138859d0", "createTime": "2025-01-29T15:05:12.113912689Z", "updateTime": "2025-01-29T15:05:17.210986285Z", "pubsubTopic": "projects/PROJECT_ID/topics/TOPIC_ID", "state": "ACTIVE", "cryptoKeyName": "projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME" }
Disattivare CMEK
Puoi disattivare la protezione CMEK associata a un canale. Gli eventi distribuiti tramite questi canali sono comunque protetti da Google-owned and Google-managed encryption keys. Per eliminare la protezione CMEK associata a un canale:
Console
Nella console Google Cloud , vai alla pagina Eventarc > Canali.
A seconda del tipo di canale, completa i seguenti passaggi:
canale Google
- Fai clic su un canale con un provider Google.
- Nella pagina Modifica canale, tieni il puntatore del mouse sopra l'elenco Chiave di crittografia CMEK per visualizzare il pulsante Elimina elemento.
- Fai clic su Elimina elemento.
Fai clic su Salva.
Potresti dover aggiornare la pagina per attivare la casella di controllo Utilizza una chiave di crittografia gestita dal cliente (CMEK).
Canale di terze parti
- Fai clic su un canale con un provider di terze parti.
- Nella pagina Dettagli del canale, fai clic su Modifica.
- Nella pagina Modifica canale, per Crittografia, seleziona Chiave di crittografia gestita da Google.
- Fai clic su Salva.
gcloud
In base al tipo di canale, esegui il comando seguente:
canale Google
gcloud eventarc google-channels \ update --clear-crypto-key
Canale di terze parti
gcloud eventarc channels CHANNEL_NAME \ update --clear-crypto-key
Terraform
A seconda del tipo di canale, cancella il valore crypto_key_name
non specificandolo durante la configurazione della risorsa Terraform:
canale Google
resource "google_eventarc_google_channel_config" "default" { location = "us-central1" name = "googleChannelConfig" }
Canale di terze parti
resource "google_eventarc_channel" "default" { location = "us-central1" name = "CHANNEL_NAME" }
REST
In base al tipo di canale, invia la seguente richiesta:
canale Google
Per eliminare la chiave CMEK, puoi aggiornare la risorsa GoogleChannelConfig
per un determinato progetto e una determinata località utilizzando il metodo projects.locations.updateGoogleChannelConfig
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale Google protetto da proteggere.
Corpo JSON della richiesta:
{ "cryptoKeyName": "" }
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza aggiornata di
GoogleChannelConfig
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/googleChannelConfig", "updateTime": "2025-03-05T17:56:54.106390447Z" }
Canale di terze parti
Per eliminare la chiave CMEK, puoi aggiornare una risorsa Channel
per un determinato progetto e una determinata località utilizzando il metodo projects.locations.channels.patch
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
CHANNEL_NAME
: il nome del canale.PROJECT_ID
: il tuo ID progetto Google Cloud.LOCATION
: la regione del canale protetto.
Corpo JSON della richiesta:
{ "cryptoKeyName": "" }
Per inviare la richiesta, espandi una di queste opzioni:
In caso di esito positivo, il corpo della risposta contiene un'istanza appena creata di
Operation
:
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/channels/CHANNEL_NAME", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Applica una policy dell'organizzazione CMEK
Eventarc è integrato con due vincoli di policy dell'organizzazione per contribuire a garantire l'utilizzo di CMEK in un'organizzazione:
constraints/gcp.restrictNonCmekServices
viene utilizzato per richiedere la protezione CMEK.constraints/gcp.restrictCmekCryptoKeyProjects
viene utilizzato per limitare le chiavi Cloud KMS utilizzate per la protezione CMEK.
Questa integrazione ti consente di specificare i seguenti requisiti di conformità alla crittografia per le risorse Eventarc nella tua organizzazione:
Considerazioni sull'applicazione dei criteri dell'organizzazione
Prima di applicare le policy dell'organizzazione CMEK, tieni presente quanto segue.
Preparati a un ritardo di propagazione
Dopo aver impostato o aggiornato una norma dell'organizzazione, l'applicazione della nuova norma può richiedere fino a 15 minuti.
Considera le risorse esistenti
Le risorse esistenti non sono soggette alle policy dell'organizzazione appena create. Ad esempio, un criterio dell'organizzazione non viene applicato retroattivamente alle pipeline esistenti. Queste risorse sono ancora accessibili senza una chiave CMEK e, se applicabile, sono ancora criptate con le chiavi esistenti.
Verificare le autorizzazioni necessarie per impostare un criterio dell'organizzazione
L'autorizzazione per impostare o aggiornare la policy dell'organizzazione potrebbe essere difficile da ottenere a scopo di test. Devi disporre del ruolo Amministratore criteri dell'organizzazione, che può essere concesso solo a livello di organizzazione (anziché a livello di progetto o cartella).
Sebbene il ruolo debba essere concesso a livello di organizzazione, è comunque possibile specificare un criterio che si applichi solo a un progetto o a una cartella specifici.
Richiedi chiavi CMEK per le nuove risorse Eventarc
Puoi utilizzare il vincolo constraints/gcp.restrictNonCmekServices
per richiedere
che le chiavi CMEK vengano utilizzate per proteggere le nuove risorse Eventarc in un'organizzazione.
Se impostato, questo criterio dell'organizzazione causa l'esito negativo di tutte le richieste di creazione di risorse senza una chiave Cloud KMS specificata.
Dopo aver impostato questo criterio, questo si applica solo alle nuove risorse del progetto. Tutte le risorse esistenti senza chiavi Cloud KMS applicate continuano a esistere e sono accessibili senza problemi.
Console
Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
Utilizzando il filtro, cerca il seguente vincolo:
constraints/gcp.restrictNonCmekServices
Nella colonna Nome, fai clic su Limita i servizi che possono creare risorse senza CMEK.
Fai clic su
Gestisci criterio.Nella pagina Modifica policy, in Origine policy, seleziona Esegui override della policy dell'unità organizzativa principale.
In Regole, fai clic su Aggiungi una regola.
Nell'elenco Valori policy, seleziona Personalizzato.
Nell'elenco Tipo di criterio, seleziona Rifiuta.
Nel campo Valori personalizzati, inserisci quanto segue:
is:eventarc.googleapis.com
Fai clic su Fine, quindi su Imposta policy.
gcloud
Crea un file temporaneo
/tmp/policy.yaml
per archiviare il criterio:name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:eventarc.googleapis.com
Sostituisci
PROJECT_ID
con l'ID del progetto in cui stai applicando questo vincolo.Esegui il comando
org-policies set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Per verificare che il criterio sia stato applicato correttamente, puoi provare a creare un canale Eventarc Standard nel progetto. Il processo non va a buon fine a meno che tu non specifichi una chiave Cloud KMS.
Limitare le chiavi Cloud KMS per un progetto Eventarc
Puoi utilizzare il vincolo constraints/gcp.restrictCmekCryptoKeyProjects
per limitare le chiavi Cloud KMS che puoi utilizzare per proteggere una risorsa in un progetto Eventarc.
Ad esempio, puoi specificare una regola simile alla seguente: "Per le risorse Eventarc applicabili in projects/my-company-data-project
, le chiavi Cloud KMS utilizzate in questo progetto devono provenire da projects/my-company-central-keys
O projects/team-specific-keys
".
Console
Nella console Google Cloud , vai alla pagina Policy dell'organizzazione.
Utilizzando il filtro, cerca il seguente vincolo:
constraints/gcp.restrictCmekCryptoKeyProjects
Nella colonna Nome, fai clic su Limita i progetti che possono fornire CryptoKey KMS per CMEK.
Fai clic su
Gestisci criterio.Nella pagina Modifica policy, in Origine policy, seleziona Esegui override della policy dell'unità organizzativa principale.
In Regole, fai clic su Aggiungi una regola.
Nell'elenco Valori policy, seleziona Personalizzato.
Nell'elenco Tipo di policy, seleziona Consenti.
Nel campo Valori personalizzati, inserisci quanto segue:
under:projects/KMS_PROJECT_ID
Sostituisci
KMS_PROJECT_ID
con l'ID del progetto in cui si trovano le chiavi Cloud KMS che vuoi utilizzare.Ad esempio,
under:projects/my-kms-project
.Fai clic su Fine, quindi su Imposta policy.
gcloud
Crea un file temporaneo
/tmp/policy.yaml
per archiviare il criterio:name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects spec: rules: - values: allowedValues: - under:projects/KMS_PROJECT_ID
Sostituisci quanto segue
PROJECT_ID
: l'ID del progetto in cui applichi questo vincolo.KMS_PROJECT_ID
: l'ID del progetto in cui si trovano le chiavi Cloud KMS che vuoi utilizzare.
Esegui il comando
org-policies set-policy
:gcloud org-policies set-policy /tmp/policy.yaml
Per verificare che il criterio sia stato applicato correttamente, puoi provare a creare un canale Eventarc Standard utilizzando una chiave Cloud KMS di un progetto diverso. Il processo non andrà a buon fine.
Disattivazione e attivazione delle chiavi Cloud KMS
Una versione della chiave memorizza 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 Cloud KMS, la pubblicazione di eventi con i canali non riesce e la distribuzione degli eventi si interrompe.FAILED_PRECONDITION
Puoi abilitare una chiave nello stato Disabilitata in modo che sia possibile accedere di nuovo ai dati criptati.
Disattivare le chiavi Cloud KMS
Per impedire a Eventarc di utilizzare la chiave per criptare o decriptare i dati degli eventi, esegui una delle seguenti operazioni:
- Ti consigliamo di disattivare la versione della chiave che hai configurato per il canale. Questo riguarda solo i canali e i trigger Eventarc associati alla chiave specifica.
- (Facoltativo) Revoca il ruolo
cloudkms.cryptoKeyEncrypterDecrypter
dal account di servizio Eventarc. Ciò influisce su tutti i canali e i trigger Eventarc del progetto che supportano gli eventi criptati utilizzando CMEK.
Sebbene nessuna operazione garantisca la revoca immediata dell'accesso, le modifiche di Identity and Access Management (IAM) vengono propagate più rapidamente. Per ulteriori informazioni, consulta Coerenza delle risorse Cloud KMS e Propagazione della modifica di accesso.
Riattivare le chiavi Cloud KMS
Per riprendere la pubblicazione e la distribuzione 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 addebiti per l'accesso al servizio Cloud KMS in base ai prezzi di Pub/Sub.
Per ulteriori informazioni sui prezzi più recenti, consulta Prezzi di Cloud KMS.
Passaggi successivi
- Risolvere i problemi relativi a CMEK
- Best practice per l'utilizzo delle chiavi CMEK
- Utilizzare CMEK con Eventarc Advanced