In questa pagina viene descritto l'utilizzo di CMEK con Apigee. Per le best practice, consulta Best practice per CMEK di Apigee.
Panoramica
Per impostazione predefinita, Google Cloud cripta automaticamente i dati at-restutilizzando chiavi di crittografia di proprietà di Google e gestite da Google. Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK).
Puoi scoprire di più sull'utilizzo di CMEK per Apigee in Utilizzo di CMEK con Apigee. Per saperne di più sulle CMEK in generale, incluso quando e perché abilitarle, consulta la documentazione di Cloud Key Management Service.
L'utilizzo di chiavi di crittografia gestite dal cliente (CMEK) non fornisce necessariamente una maggiore sicurezza rispetto ai meccanismi di crittografia predefiniti di Google, ma ti offre il controllo su più aspetti del ciclo di vita e della gestione delle chiavi per soddisfare i requisiti di sicurezza e conformità.
Se hai bisogno di un maggiore controllo sulle operazioni con le chiavi rispetto a quanto consentito dalle basate su Google Cloud di proprietà di Google e gestite da Google, puoi utilizzare le chiavi di crittografia gestite dal cliente. Queste chiavi vengono create e gestite utilizzando Cloud Key Management Service (Cloud KMS) e le memorizzi come chiavi software, in un cluster HSM o esternamente.
Le funzionalità di gestione delle chiavi sono fornite dal servizio Cloud KMS.
Casi d'uso delle CMEK
Questa sezione descrive i casi d'uso tipici per l'utilizzo di CMEK con Apigee.
Rotazione delle chiavi
Ruota la chiave automaticamente o manualmente. Tieni presente che, quando la chiave viene ruotata, i dati precedentemente archiviati in Apigee non vengono criptati di nuovo automaticamente con la nuova versione della chiave, ma continueranno a essere accessibili finché la versione della chiave precedente utilizzata per criptare i dati non viene disabilitata o eliminata.
Lo scopo principale della rotazione della chiave è limitare l'esposizione dei dati a una singola chiave, non sostituire completamente la versione precedente della chiave.
Al momento Apigee non supporta la nuova crittografia in caso di rotazione della chiave.
Nello specifico, per Apigee, quando ruoti una chiave, solo un numero limitato di nuovi dati (ad esempio una nuova revisione del proxy) verrà criptato con la nuova versione della chiave primaria. La maggior parte dei dati, come i dati di analisi, il disco di runtime e la revisione del proxy precedente, utilizza ancora la versione della chiave precedente.
Se vuoi eliminare completamente la versione della chiave precedente, devi ricreare l'organizzazione apigee. Per le chiavi di crittografia di runtime, se vuoi eliminare completamente la versione precedente della chiave, devi ricreare le istanze di runtime. Per maggiori dettagli, consulta
Best practice per CMEK di Apigee.
Vedi anche: Ruota una chiave
Eliminazione e disattivazione delle chiavi
Quando una versione della chiave è disabilitata, i dati Apigee criptati con quella versione della chiave non saranno accessibili. Per ripristinare l'accesso ai dati, la chiave può essere riattivata.
Se elimini o disattivi la chiave CMEK, anche solo per le versioni precedenti,
la tua organizzazione apigee inizierà a non funzionare correttamente a seconda della versione della chiave
utilizzata per la crittografia. Alcune API smetteranno di funzionare immediatamente, poiché richiedono una chiave CMEK per decriptare i dati, mentre alcune funzioni inizieranno a non funzionare correttamente solo quando viene attivata un'azione di sistema, ad esempio il rimontaggio dei dischi permanenti di Compute Engine. Per saperne di più, consulta
Disattivazione delle chiavi.
Quando una versione della chiave viene eliminata, tutti i dati Apigee criptati con quella versione della chiave diventano illeggibili e non recuperabili. Questa operazione è definitiva e irreversibile.
Vedi anche:
Ripristino delle chiavi
Se elimini o disattivi accidentalmente una chiave o una versione precedente della chiave, devi provare a ripristinarla il prima possibile.
Tieni presente che CMEK è una funzionalità destinata alla perdita di dati se la chiave non è disponibile.
Dopo aver ripristinato la chiave, non è garantito che la tua organizzazione apigee venga recuperata e potresti subire una perdita di dati. Per maggiori dettagli, consulta
Riattivazione di una chiave.
Contatta l'assistenza clienti Google Cloud e scopri qual è il passaggio successivo migliore.
Vedi anche: Elimina e ripristina le versioni delle chiavi
Revoca l'accesso alla chiave
Se revochi l'accesso dell'agente di servizio Apigee alla chiave utilizzando IAM, Apigee non potrà accedere ai dati del control plane criptati da nessuna versione della chiave. Le operazioni dell'API Apigee che dipendono dalla decriptazione dei dati non riusciranno. L'accesso ai dati può essere ripristinato concedendo nuovamente l'accesso alla chiave e verranno ripristinate le operazioni dell'API Apigee che decriptano i dati.
Consulta anche: Gestisci l'accesso a progetti, cartelle e organizzazioni
EKM
Apigee supporta Cloud External Key Manager (Cloud EKM) per CMEK. Con il supporto di EKM, puoi monitorare lo stato di integrità di EKM e configurare avvisi per i problemi relativi a EKM. Per saperne di più, consulta Monitoraggio dell'integrità di EKM.
Monitoraggio delle chiavi
Apigee supporta il monitoraggio dell'utilizzo delle chiavi. La scheda Monitoraggio dell'utilizzo di una chiave in Cloud Key Management Service elenca le risorse Apigee protette dalla chiave per i seguenti tipi di risorse:
-
apigee.googleapis.com/Organization, che copre la chiave di crittografia del control plane, la chiave di crittografia dei dati del consumer dell'API e la chiave di crittografia del database di runtime. -
apigee.googleapis.com/Instance, che copre la chiave di crittografia del disco.
Per le descrizioni di queste chiavi, consulta Informazioni sulle chiavi di crittografia Apigee.
Quote
L'utilizzo delle chiavi CMEK può generare un utilizzo rispetto ad alcune quote di Cloud KMS. Per le informazioni più aggiornate sulle quote di Cloud KMS, consulta Quote.
Revoca la chiave di crittografia
Se ritieni che i tuoi dati su Apigee in Google Cloud siano compromessi, puoi revocare le chiavi di crittografia. Revoca la CMEK di runtime per far sì che l'istanza di runtime non funzioni correttamente e non possa accedere ai dati del gateway. Revoca la chiave CMEK del control plane per impedire ad Apigee di eseguire attività di analisi o di eseguire il deployment di nuovi proxy.
Utilizzo di CMEK con Apigee
Le chiavi di crittografia Apigee vengono utilizzate per i dati del runtime e del control plane e vengono create durante il processo di provisioning.
I dati del control plane di Apigee vengono criptati utilizzando una chiave di crittografia diversa da quella dei dati di runtime e possono essere archiviati in regioni diverse. Come indicato nella documentazione relativa alle CMEK, questa crittografia si applica solo ai dati at-rest, ovvero ai dati archiviati sul disco.
I dati del control plane di Apigee includono le configurazioni proxy (bundle), alcuni dati di configurazione dell'ambiente e i dati di analisi. I dati di runtime di Apigee includono dati delle applicazioni come KVM, cache e client secret, che vengono poi archiviati nel database di runtime.
Consulta Informazioni sulle chiavi di crittografia di Apigee per le descrizioni dei tipi di chiavi di crittografia.
Puoi aggiungere chiavi di crittografia solo al momento della creazione dell'organizzazione Apigee. Una volta assegnata una CMEK, non puoi passare a una CMEK diversa dopo la creazione dell'organizzazione.
Regioni CMEK del control plane per la residenza dei dati
Nel control plane Apigee regionalizzato, selezioni due chiavi di crittografia per il control plane. Questo perché alcuni dei componenti alla base del control plane di Apigee si trovano sempre in una singola regione all'interno della località del control plane. Per saperne di più, consulta Regioni di residenza dei dati.
| Dettagli | Chiavi obbligatorie |
|---|---|
|
La regione del control plane è quella in cui viene eseguito il control plane. Il control plane in Apigee è un concetto astratto in cui più componenti sottostanti costituiscono insieme il control plane di Apigee. I dati del control plane sono la configurazione del proxy e lo spazio di archiviazione dell'analisi. Altri dati del control plane (ad es. elaborazione di analisi, portali) si trovano in una sottoregione del control plane. Tutti i componenti della sottoregione si troveranno nella stessa regione. |
Una chiave per i dati del control plane. Una chiave per i dati della sottoregione del control plane. |
Vincoli delle policy dell'organizzazione
Se nel tuo progetto Google Cloudsono presenti vincoli delle policy dell'organizzazione CMEK, Apigee applicherà la conformità a questi vincoli. Se utilizzi Apigee tramite l'interfaccia utente Google Cloud , l'interfaccia a riga di comando o direttamente tramite le API Apigee, l'applicazione delle policy CMEK è garantita. Quando utilizzi la UI di Apigee Google Cloud , i vincoli delle policy dell'organizzazione CMEK vengono pre-convalidati in modo che la UI possa guidarti nella scelta di una configurazione di conformità valida.
È possibile creare vincoli delle policy dell'organizzazione CMEK per richiedere che:
- Vengono sempre utilizzate le chiavi di crittografia gestite dal cliente
- Le chiavi di crittografia gestite dal cliente sono consentite solo da progetti specifici indicati in una lista consentita
Al momento, non tutte le funzionalità di Apigee sono conformi alle CMEK. Per garantire che i progetti che richiedono CMEK non utilizzino inconsapevolmente funzionalità non protette da CMEK, queste funzionalità verranno disabilitate per i progetti con vincoli CMEK finché non saranno conformi. Verranno disattivati solo i nuovi utilizzi delle funzionalità (creazione di nuove risorse o attivazione di un componente aggiuntivo). Le funzionalità e le risorse già in uso rimarranno disponibili e modificabili, ma non saranno conformi a CMEK. Le seguenti funzionalità verranno disabilitate:
-
Rilevamento API Shadow di Apigee non è soggetto alla policy dell'organizzazione CMEK e non è conforme a CMEK.
- La creazione di organizzazioni di valutazione verrà bloccata sia dall'API di valutazione CreateOrganization sia dalla procedura guidata di provisioning della valutazione.
-
Gemini Code Assist non è disponibile.
- La creazione di organizzazioni globali verrà bloccata dall'API eval org CreateOrganization e dalla procedura guidata di provisioning di eval.
- La creazione di istanze Hybrid non è disponibile per l'applicazione.
- Il pulsante Data Studio per aprire Data Studio con i dati di Apigee verrà disattivato quando è richiesto CMEK.
- L'applicazione retroattiva della conformità per le risorse esistenti non è disponibile; se hai bisogno che una risorsa esistente sia conforme, dovrai eliminarla e ricrearla.
Per saperne di più sull'utilizzo dei vincoli delle policy dell'organizzazione con Apigee, consulta Utilizzo dei vincoli delle policy dell'organizzazione in Apigee.
Come creare chiavi di crittografia
Per impostazione predefinita, Google gestisce la creazione delle chiavi di crittografia durante il processo di provisioning; tuttavia, puoi crearle autonomamente. Per saperne di più, consulta Informazioni sulle chiavi di crittografia di Apigee.
Rischi e mitigazioni
Questa sezione descrive le potenziali minacce e le azioni che puoi intraprendere.
- Rischi:
- Compromissione della chiave: si verifica quando un utente malintenzionato ottiene l'accesso alla chiave di crittografia, potenzialmente tramite vulnerabilità nel KMS o attacchi contro gli amministratori delle chiavi.
- Denial of service: un utente malintenzionato potrebbe interrompere l'accesso alle chiavi di crittografia o ai dati attaccando il KMS o il sistema di archiviazione.
- Perdita della chiave: l'eliminazione o la perdita accidentale della chiave potrebbe causare la perdita o l'inaccessibilità dei dati.
- Mitigazioni:
- Implementa policy di controllo dell'accesso e gestione delle chiavi efficaci.
- Monitora i log e l'attività di KMS per rilevare comportamenti sospetti.
Risoluzione dei problemi
La tabella seguente descrive alcune condizioni di errore comuni che possono verificarsi con i dati del configstore criptati con CMEK, il messaggio di errore approssimativo restituito dall'API Apigee e i passaggi di risoluzione dei problemi consigliati.
| Messaggio di errore/sintomo | Causa | Procedura |
|---|---|---|
Constraint constraints/gcp.restrictNonCmekServices violated for
projects/my-project attempting to create or enable trial org. CMEK is
not supported for trial orgs. To use trial orgs, adjust the
gcp.restrictNonCmekServices constraint for this project.
|
Hai tentato di eseguire il provisioning di un'organizzazione di prova in cui esiste un vincolo della policy dell'organizzazione per il progetto. |
CMEK non è supportato per le organizzazioni di prova/valutazione. Per poter eseguire il provisioning di un'organizzazione di prova, devi aggiornare il vincolo della policy dell'organizzazione constraints/gcp.restrictNonCmekServices per rimuovere Apigee dall'elenco dei servizi negati.
|
Constraint constraints/gcp.restrictCmekCryptoKeyProjects
violated for projects/my-project attempting to use
projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1
key. Use a key from a project that is allowed by the
gcp.restrictCmekCryptoKeyProjects constraint.
|
Hai tentato di eseguire il provisioning di un'organizzazione in cui esiste un vincolo della policy dell'organizzazione per il progetto e hai specificato una CryptoKey KMS che non è inclusa nella lista consentita. |
Hai impostato constraints/gcp.restrictCmekCryptoKeyProjects
nelle policy dell'organizzazione che richiedono di fornire una chiave CMEK dai
progetti consentiti elencati da te. Per poter creare un'organizzazione o delle istanze, devi fornire la CMEK da un progetto consentito.
In alternativa, puoi aggiornare il vincolo della policy dell'organizzazione constraints/gcp.restrictCmekCryptoKeyProjects per consentire le chiavi del progetto Google Cloud specifico che preferisci.
|
Apigee does not have permission to access key "..."
|
Un utente ha revocato l'accesso di Apigee alla chiave KMS fornita, ovvero
rimuovendo il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter.
|
Un utente deve controllare i ruoli configurati sulla chiave KMS e assicurarsi che l'agente di servizio Apigee disponga delle autorizzazioni necessarie. |
Unable to encrypt/decrypt data. Cloud KMS Error: "..." is not
enabled, current state is: DESTROYED.
|
Un utente ha disattivato o eliminato la versione della chiave utilizzata per criptare/decriptare i dati richiesti. | Se possibile, un utente deve riattivare la versione della chiave. Se la chiave o la versione della chiave è stata eliminata, i dati non sono recuperabili (per progettazione). |
No new Analytics data for US/EU users
|
Una delle possibili cause di questo problema può essere la revoca/disattivazione/eliminazione della chiave per una singola regione da parte di un utente. | Un utente deve riattivare/ripristinare l'accesso alle chiavi in una singola regione. |
Control plane key "..." in region "..." is not valid for this
control plane instance. Supported region(s) are "…".
|
Un utente ha fornito una chiave del control plane di una singola regione in una regione non valida o non supportata per la regione o le multiregioni gestite dall'istanza del control plane. | Un utente deve fornire una chiave in una delle regioni supportate o scegliere di utilizzare un'altra istanza del control plane. |
Multi-region control plane key is not valid for this control
plane instance. Specify only the "apiConsumerDataEncryptionKeyName"
field.
|
Un utente ha fornito una chiave del control plane multiregionale in un control plane che esiste solo in una singola regione (ovvero non è un control plane multiregionale). | Un utente deve omettere il campo della chiave multiregionale o scegliere di utilizzare un'istanza del control plane multiregionale. |
Multi-region control plane key is not valid for this control
plane instance. Specify a multi-region key with region "..."
|
Un utente ha fornito una chiave del control plane multiregionale all'istanza del control plane multiregionale sbagliata (ad esempio una chiave "us" all'istanza del control plane "eu") | Un utente deve utilizzare una chiave multiregionale nella multiregione corretta o scegliere di utilizzare un'altra istanza del control plane multiregionale. |
Domande frequenti
Come faccio a modificare le chiavi attuali per utilizzare Cloud EKM?
Non puoi farlo. Cloud EKM può essere configurato solo al momento della creazione dell'organizzazione Apigee e le chiavi di crittografia non possono essere aggiunte o modificate in un secondo momento. Non è possibile convertire un'organizzazione esistente o le chiavi che utilizza già in Cloud EKM.
Per utilizzare Cloud EKM, crea una nuova organizzazione Apigee configurata per l'utilizzo di CMEK con Cloud EKM, quindi esegui la migrazione delle risorse alla nuova organizzazione. Per saperne di più, consulta EKM.