Introduzione a CMEK

Questa pagina descrive l'utilizzo di CMEK con Apigee. Per le best practice, consulta Best practice per CMEK di Apigee.

Panoramica

Per impostazione predefinita, Google Cloud automaticamente cripta i dati a riposo utilizzando chiavi di crittografia di proprietà di Google e gestite da quest'ultima. 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 Utilizzare CMEK con Apigee. Per ulteriori informazioni su CMEK in generale, inclusi quando e perché abilitarlo, 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; tuttavia, ti consente di controllare 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 di CMEK

Questa sezione descrive i casi d'uso tipici per l'utilizzo di CMEK con Apigee.

Rotazione della chiave

Ruota automaticamente o manualmente la chiave. 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 della chiave precedente. Al momento, Apigee non supporta la ricrittografia al momento della 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 vecchia revisione del proxy, 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 della chiave precedente, devi ricreare le istanze di runtime. Per maggiori dettagli, consulta Best practice per CMEK di Apigee.

Vedi anche: Ruotare una chiave

Eliminazione e disattivazione della chiave

Quando una versione della chiave viene disattivata, i dati di Apigee criptati con quella versione della chiave non saranno accessibili. Per ripristinare l'accesso ai dati, la chiave può essere riattivata.

Quando elimini o disattivi la chiave CMEK, anche solo per le versioni precedenti, la tua organizzazione apigee inizierà a funzionare in modo anomalo a seconda della versione della chiave utilizzata per la crittografia. Alcune API smetteranno di funzionare immediatamente perché richiedono una chiave CMEK per decriptare i dati, mentre alcune funzioni inizieranno a funzionare in modo anomalo solo quando viene attivata un'azione di sistema, ad esempio il rimontaggio dei dischi permanenti di Compute Engine. Per maggiori informazioni, consulta Disattivazione della chiave.

Quando una versione della chiave viene eliminata, tutti i dati di Apigee criptati con quella versione della chiave diventano illeggibili e non recuperabili. Questa è un' operazione permanente e irreversibile.

Vedi anche:

Ripristino della chiave

Se elimini o disattivi accidentalmente una chiave o una versione della chiave precedente, devi provare a ripristinarle il prima possibile. Tieni presente che CMEK è una funzionalità pensata per la perdita di dati se la chiave non è disponibile. Dopo aver ripristinato la chiave, non è garantito che la tua organizzazione apigee venga recuperata e potresti riscontrare una perdita di dati. Per maggiori dettagli, consulta Riattivare una chiave. Contatta l'assistenza clienti Google Cloud e scopri qual è il passaggio successivo migliore.

Vedi anche: Eliminare e ripristinare le versioni delle chiavi

Revocare l'accesso alla chiave

Se revochi l'accesso dell'agente di servizio Apigee alla chiave utilizzando IAM, Apigee non sarà in grado di accedere ai dati del piano di controllo criptati da qualsiasi versione della chiave. Le operazioni API di Apigee che dipendono dalla decrittografia dei dati non andranno a buon fine. L'accesso ai dati può essere ripristinato concedendo nuovamente l'accesso alla chiave e le operazioni API di Apigee che decriptano i dati verranno ripristinate.

Vedi anche: Gestire l'accesso a progetti, cartelle e organizzazioni

EKM

Al momento, Apigee non supporta Cloud External Key Manager (Cloud EKM). Se utilizzi Cloud EKM, esiste un difetto noto per cui gli errori di Cloud EKM non verranno propagati e visualizzati correttamente.

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 piano di controllo, la chiave di crittografia dei dati del consumer 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 di Apigee.

Quote

L'utilizzo delle chiavi CMEK può generare un utilizzo rispetto ad alcune quote di Cloud KMS. Per le informazioni più recenti sulle quote di Cloud KMS, consulta Quote.

Revocare 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 chiave CMEK di runtime per far funzionare in modo anomalo l'istanza di runtime e non consentire l'accesso ai dati del gateway. Revoca la chiave CMEK del piano di controllo per impedire ad Apigee di eseguire il lavoro di analisi o di eseguire il deployment di nuovi proxy.

Utilizzare CMEK con Apigee

Le chiavi di crittografia di Apigee vengono utilizzate per i dati di runtime e del piano di controllo e vengono create durante il processo di provisioning.

I dati del piano di controllo di Apigee vengono criptati utilizzando una chiave di crittografia diversa rispetto ai dati di runtime e potrebbero essere archiviati in regioni diverse. Come indicato nella CMEK, questa crittografia si applica solo ai dati a riposo, ovvero i dati che vengono archiviati su disco.

I dati del piano di controllo di Apigee includono configurazioni proxy (bundle), alcuni dati di configurazione dell'ambiente e dati di analisi. I dati di runtime di Apigee includono dati delle applicazioni come KVM, cache e secret client , che vengono poi archiviati nel database di runtime.

Per le descrizioni dei tipi di chiavi di crittografia, consulta Informazioni sulle chiavi di crittografia di Apigee.

Puoi aggiungere chiavi di crittografia solo al momento della creazione dell'organizzazione Apigee ; una volta assegnata una chiave CMEK, non puoi passare a una chiave CMEK diversa dopo la creazione dell'organizzazione.

Regioni CMEK del piano di controllo per la residenza dei dati

Nel piano di controllo di Apigee regionalizzato, seleziona due chiavi di crittografia per il piano di controllo. Questo perché alcuni dei componenti sottostanti del piano di controllo di Apigee si trovano sempre in una singola regione all'interno della località del piano di controllo. Per maggiori informazioni, consulta Regioni di residenza dei dati.

Dettagli Chiavi obbligatorie

La regione del piano di controllo è quella in cui viene eseguito il piano di controllo. Il piano di controllo in Apigee è un concetto astratto in cui più componenti sottostanti costituiscono insieme il piano di controllo di Apigee. I dati del control plane sono la configurazione del proxy e l'archiviazione di analisi.

Altri dati del piano di controllo (ad es. elaborazione di analisi, portali) si trovano in una sotto-regione del piano di controllo.

Tutti i componenti della sotto-regione si troveranno nella stessa regione.

Una chiave per i dati del piano di controllo.

Una chiave per i dati della sotto-regione del piano di controllo.

Vincoli delle policy dell'organizzazione

Se nel tuo Google Cloudprogetto sono presenti vincoli delle policy dell'organizzazione CMEK, Apigee applicherà la conformità a questi vincoli. Se utilizzi Apigee tramite l' Google Cloud interfaccia utente, la CLI o direttamente tramite le API Apigee, l'applicazione delle policy CMEK è garantita. Quando utilizzi l' Google Cloud interfaccia utente di Apigee, i vincoli delle policy dell'organizzazione CMEK vengono pre-validati in modo che l'interfaccia utente possa guidarti nella scelta di una configurazione valida e conforme.

È possibile creare vincoli delle policy dell'organizzazione CMEK per richiedere che:

Al momento, non tutte le funzionalità di Apigee sono conformi a CMEK. Per garantire che i progetti che richiedono CMEK non utilizzino inconsapevolmente funzionalità non protette da CMEK, queste funzionalità verranno disattivate per i progetti con vincoli CMEK finché non saranno conformi. Verranno disattivati solo i nuovi utilizzi delle funzionalità disabilitate (creazione di nuove risorse o attivazione di un componente aggiuntivo). Le funzionalità e le risorse già in uso rimarranno disponibili e modificabili, ma non conformi a CMEK. Le seguenti funzionalità verranno disabilitate:

  • Apigee Shadow API Discovery non è soggetta alla policy dell'organizzazione CMEK e non è conforme a CMEK.

  • La creazione di organizzazioni di valutazione verrà bloccata sia dall' API CreateOrganization eval org sia dalla procedura guidata di provisioning di valutazione.
  • Gemini Code Assist non è disponibile.

  • La creazione di organizzazioni globali verrà bloccata sia dall'API CreateOrganization eval org sia dalla procedura guidata di provisioning di valutazione.
  • La creazione di istanze ibride non è disponibile per l'applicazione.
  • Il pulsante Data Studio per aprire Data Studio con i dati di Apigee verrà disattivato quando è richiesta CMEK.
  • L'applicazione retroattiva della conformità per le risorse esistenti non è disponibile; dovrai eliminare e ricreare le risorse se hai bisogno che una risorsa esistente sia conforme.

Per ulteriori informazioni sull'utilizzo dei vincoli delle policy dell'organizzazione con Apigee, consulta Utilizzare i 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 tu stesso. Per maggiori informazioni, 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 malintenzionato ottiene l'accesso alla chiave di crittografia, potenzialmente tramite vulnerabilità in KMS o attacchi contro gli amministratori delle chiavi.
    • Denial of service: un malintenzionato potrebbe interrompere l'accesso alle chiavi di crittografia o ai dati attaccando il sistema KMS o 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 gestione delle chiavi e di controllo dell'accesso rigorose.
    • Monitora i log e l'attività di KMS per rilevare comportamenti sospetti.

Risoluzione dei problemi

La seguente tabella descrive alcune condizioni di errore comuni che possono verificarsi con i dati di 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 delle policy dell'organizzazione per il progetto. CMEK non è supportato per le organizzazioni di prova/valutazione. Dovrai aggiornare il vincolo delle policy dell'organizzazione constraints/gcp.restrictNonCmekServices per rimuovere Apigee dall'elenco dei servizi negati per poter eseguire il provisioning di un'organizzazione di prova.
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 delle policy dell'organizzazione per il progetto e hai specificato una CryptoKey KMS 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. Dovrai fornire la chiave CMEK da un progetto consentito per poter creare un'organizzazione o delle istanze. In alternativa, puoi aggiornare il vincolo delle policy dell'organizzazione constraints/gcp.restrictCmekCryptoKeyProjects per consentire le chiavi del progetto specifico Google Cloud che ti interessa.
Apigee does not have permission to access key "..." Un utente ha revocato l'accesso di Apigee alla chiave KMS fornita, ovvero rimuovendo il roles/cloudkms.cryptoKeyEncrypterDecrypter ruolo. Un utente deve controllare i ruoli configurati nella 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 il dato richiesto. Un utente deve riattivare la versione della chiave, se possibile. 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, la disattivazione o l'eliminazione di una chiave a livello di singola regione da parte di un utente. Un utente deve riattivare/ripristinare l'accesso alla chiave a livello di 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 piano di controllo a livello di singola regione in una regione che non è valida o non supportata per la regione o multi-regione gestita dall'istanza del piano di controllo. Un utente deve fornire una chiave in una delle regioni supportate o scegliere di utilizzare un'istanza del piano di controllo diversa.
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 piano di controllo multi-regionale in un piano di controllo esistente solo in una singola regione (ovvero non è un piano di controllo multi-regionale). Un utente deve omettere il campo della chiave multi-regionale o scegliere di utilizzare un'istanza del piano di controllo multi-regionale.
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 piano di controllo multi-regionale all'istanza del piano di controllo multi-regionale errata (ad es. una chiave "us" all'istanza del piano di controllo "eu") Un utente deve utilizzare una chiave multi-regionale nella regione multi-regionale corretta o scegliere di utilizzare un'istanza del piano di controllo multi-regionale diversa.