Questa pagina descrive come criptare i contenuti archiviati nei plug-in Service Extensions con chiavi di crittografia gestite dal cliente (CMEK).
Panoramica
Per impostazione predefinita, Service Extensions cripta i contenuti dei clienti at rest. Le estensioni di servizio gestiscono la crittografia senza che tu debba eseguire ulteriori azioni. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, incluse le Service Extensions. 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 anche 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 CMEK, l'esperienza di accesso alle risorse di Service Extensions è simile all'utilizzo della crittografia predefinita di Google. Per ulteriori informazioni sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Tutte le operazioni di crittografia vengono fatturate al Google Cloud progetto proprietario della chiave, indipendentemente dal tipo di chiave. Per le informazioni sui prezzi, consulta Prezzi di Cloud KMS.
Creare una chiave e concedere le autorizzazioni
Le seguenti istruzioni spiegano come creare una chiave per un plug-in e concedere le autorizzazioni per criptare e decriptare i dati del plug-in con la chiave.
Nel Google Cloud progetto in cui vuoi gestire le chiavi, procedi nel seguente modo:
Per poter creare una chiave, abilita l'API Cloud Key Management Service.
Crea un keyring e una chiave utilizzando una delle seguenti opzioni:
La posizione della chiave Cloud KMS deve corrispondere alla posizione del plug-in che vuoi criptare.
Il account di servizio di Service Extensions deve esistere nel progetto di Service Extensions. Il nome account di servizio è
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com, dovePROJECT_NUMBERè il numero del progetto del Google Cloud progetto in cui sono in esecuzione Service Extensions.Il account di servizio viene creato automaticamente quando crei il primo plug-in nel progetto Service Extensions. Se non hai ancora creato un plug-in nel tuo progetto, crea il account di servizio eseguendo il seguente comando:
gcloud beta services identity create \ --service=networkactions.googleapis.com \ --project=PROJECTSostituisci PROJECT con l'ID del progetto in cui sono in esecuzione le Service Extensions.
Concedi il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) al account di servizio di Service Extensions sulla chiave che hai creato.Console
Nella Google Cloud console, vai alla pagina Gestione delle chiavi.
Seleziona la chiave che hai creato.
Concedi l'accesso al account di servizio di Service Extensions:
- Seleziona Mostra riquadro informazioni.
- Fai clic su Aggiungi membro.
- Aggiungi il account di servizio di Service Extensions. Il
account di servizio è
service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com. - In Seleziona un ruolo, seleziona Cloud KMS > Autore crittografia/decrittografia CryptoKey Cloud KMS
- Fai clic su Salva.
Ripeti il passaggio precedente per concedere l'accesso all'account del creatore del plug-in.
Torna alla pagina Gestione delle chiavi e seleziona di nuovo la chiave.
Seleziona Mostra riquadro informazioni. Nella colonna Ruolo/Membro vengono visualizzati i ruoli.
gcloud
Concedi l'accesso al account di servizio di Service Extensions eseguendo il
gcloud kms keys add-iam-policy-bindingcomando:gcloud kms keys add-iam-policy-binding [--project=PROJECT] KEY_NAME \ --location LOCATION --keyring=KEYRING_NAME \ --member=serviceAccount:service-PROJECT-NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypterSostituisci quanto segue:
PROJECT: l'ID del progetto che contiene la chiaveKEY_NAME: il nome della chiaveLOCATION: la posizione della chiaveKEYRING_NAME: il nome del keyringPROJECT-NUMBER: il numero del progetto del Google Cloud progetto
Ripeti il passaggio precedente con
memberimpostato sull'account del creatore del plug-in.
Quando crei un plug-in o lo aggiorni, specifica la chiave CMEK. La chiave fornisce la crittografia per l'immagine del plug-in e i dati di configurazione. Gli altri dati del plug-in sono protetti dalla crittografia predefinita di Google.
Ricrittografia automatica
Quando la versione principale della chiave KMS cambia (a causa di una modifica manuale dell'utente o della rotazione automatica), i dati del plug-in protetti dalla chiave vengono automaticamente ricriptati con la nuova versione della chiave.
Monitoraggio delle chiavi
Puoi utilizzare il monitoraggio delle chiavi per elencare le risorse del plug-in protette da una chiave. Per saperne di più, consulta Visualizzare l'utilizzo delle chiavi.
Quote di Cloud Key Management Service ed estensioni di servizio
Quando utilizzi le chiavi CMEK nelle estensioni di servizio, ad esempio nelle seguenti operazioni, i tuoi progetti possono consumare le quote delle richieste di crittografia di Cloud KMS:
- Creazione o aggiornamento di un plug-in protetto da CMEK
- Aggiunta di nuove versioni o modifica della versione principale dei plug-in protetti da CMEK
- Elenco delle versioni dei plug-in protetti da CMEK con il campo
plugin_config_dataimpostato - Collegamento di un plug-in all'estensione
Nel tempo, i plug-in collegati comportano anche operazioni di decrittografia.
Se utilizzi chiavi hardware (Cloud HSM) o esterne (Cloud EKM), le operazioni di crittografia e decrittografia che utilizzano le chiavi CMEK influiscono sulle quote di Cloud KMS.
Rimuovere l'accesso a un plug-in criptato con CMEK
Esistono diversi modi per rimuovere l'accesso a un plug-in criptato con CMEK:
- Revoca il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS dal account di servizio Service Extensions utilizzando la Google Cloud console o la gcloud CLI. Le modifiche alle autorizzazioni diventano effettive in pochi secondi, ma potrebbero essere necessari decine di minuti prima che tutte le repliche di pubblicazione di un plug-in smettano di pubblicare il traffico dopo la revoca della chiave.
- Disattiva temporaneamente la chiave di crittografia gestita dal cliente.
- Elimina definitivamente la chiave CMEK.
Ti consigliamo di revocare le autorizzazioni dal account di servizio Service Extensions prima di disattivare o eliminare una chiave.
Implicazioni della rimozione dell'accesso
I dati protetti da CMEK sono costituiti da immagini scaricate da Artifact Registry e da tutti i dati di configurazione del plug-in forniti direttamente (tramite il campo plugin_config_data).
Dopo aver disattivato o eliminato la chiave di crittografia per un plug-in, tutti i dati del plug-in protetti da CMEK diventano inaccessibili in pochi minuti. Potrebbero essere necessari decine di minuti prima che tutte le repliche di pubblicazione di un plug-in smettano di pubblicare il traffico dopo la revoca della chiave.
I metadati del plug-in, come il nome, la descrizione, le etichette o la configurazione della registrazione, rimangono accessibili.
Di conseguenza, la rimozione dell'accesso a una chiave che protegge un plug-in attivo (ovvero un plug-in collegato a un'estensione) impedisce al plug-in di pubblicare il traffico. Tutte le richieste al plug-in non vanno a buon fine.
Quando la chiamata del plug-in non va a buon fine, il comportamento dell'estensione dipende dal campo fail_open:
- Se il campo è impostato su
true, la richiesta procede al servizio di destinazione, senza fornire alcuna indicazione che la chiamata del plug-in non è andata a buon fine. - Se il campo è impostato su
false, la richiesta non raggiunge il servizio di destinazione.
Limitazioni
La protezione CMEK impostata su un plug-in è limitata alle estensioni di servizio.
Per proteggere le risorse del plug-in su altri prodotti Google, attiva CMEK tramite questi prodotti. Per le immagini dei plug-in caricate in Artifact Registry, configura CMEK per Artifact Registry. Per proteggere i log generati dal plug-in, configura CMEK per Cloud Logging.
Non puoi modificare la modalità di crittografia (gestita da Google o CMEK) di un plug-in. Tuttavia, puoi aggiornare il plug-in in modo che utilizzi una chiave KMS diversa.
Sono supportati solo i plug-in regionali. Inoltre, i plug-in possono essere criptati solo da una chiave nella stessa regione del plug-in.
Passaggi successivi
- Scopri di più sulla creazione di un plug-in.
- Scopri di più su CMEK.
- Scopri di più sulla crittografia at-rest predefinita.