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 cripta automaticamente i dati inattivi utilizzando chiavi di crittografia di proprietà 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 Utilizzare CMEK con Apigee. Per ulteriori informazioni su CMEK in generale, incluso quando e perché attivarlo, consulta la documentazione di Cloud Key Management Service.

L'utilizzo delle chiavi di crittografia gestite dal cliente (CMEK) non garantisce necessariamente una maggiore sicurezza rispetto ai meccanismi di crittografia predefiniti di Google; tuttavia, ti offre il controllo su più aspetti del ciclo di vita e della gestione delle tue 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 chiavi 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 chiave

Ruota la chiave automaticamente o manualmente. Tieni presente che quando la chiave viene ruotata, i dati precedentemente memorizzati in Apigee non vengono sottoposti nuovamente a crittografia automatica con la nuova versione della chiave, ma continueranno a essere accessibili finché la versione precedente della chiave utilizzata per criptare i dati non viene disattivata 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 crittografia di nuovo dopo la rotazione della chiave. In particolare, per Apigee, quando ruoti una chiave, solo un numero limitato di nuovi dati (ad esempio la 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 vecchia versione della chiave. Se vuoi eliminare completamente la versione precedente della chiave, devi creare di nuovo 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 ulteriori dettagli, consulta Best practice per Apigee CMEK.

Vedi anche Ruotare una chiave

Eliminazione e disattivazione delle chiavi

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 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 ricoinvolgimento dei dischi permanenti di Compute Engine. Per ulteriori informazioni, consulta la sezione Disattivazione delle chiavi.

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

Vedi anche:

Ripristino delle chiavi

Se elimini o disattivi per errore una chiave o una versione precedente di una chiave, devi provare a ripristinarla il prima possibile. Tieni presente che la chiave CMEK è una funzionalità pensata per la perdita di dati se la chiave non è disponibile. Dopo aver ripristinato la chiave, non è garantito il recupero della tua organizzazione apigee e potresti riscontrare una perdita di dati. Per ulteriori dettagli, consulta Re-enabling a key (Riattivare una chiave). Contatta l'assistenza clienti Google Cloud per scoprire qual è il passaggio successivo migliore.

Vedi anche: Distruggere e ripristinare 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 piano di controllo criptati da qualsiasi versione della chiave. Le operazioni dell'API 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 dell'API 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, è noto un difetto per cui gli errori di Cloud EKM non vengono propagati e visualizzati correttamente.

Monitoraggio delle chiavi

Apigee non supporta il monitoraggio delle chiavi. Se utilizzi la visualizzazione dell'utilizzo delle chiavi e ti accorgi che una determinata versione della chiave non viene utilizzata, tieni presente che non è accurata in quanto Apigee non è stata integrata con le funzionalità di monitoraggio delle chiavi.

Quote

L'utilizzo di chiavi CMEK può generare un utilizzo in base ad alcune quote Cloud KMS. Per le informazioni più aggiornate 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 CMEK di runtime per causare il malfunzionamento dell'istanza di runtime e impedire l'accesso ai dati del gateway. Revoca il CMEK del piano di controllo per impedire ad Apigee di eseguire operazioni di analisi o di implementare nuovi proxy.

Utilizzo di CMEK con Apigee

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

I dati del piano di controllo di Apigee vengono criptati utilizzando una chiave di crittografia diversa da quella dei dati di runtime e possono essere archiviati in regioni diverse. In base alla documentazione relativa alle CMEK, questa crittografia si applica solo ai dati at-rest, ovvero a quelli 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 di applicazioni come KVM, cache e secret client, che vengono poi archiviati nel database di runtime.

Per una descrizione 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 assegnato un CMEK, non puoi passare a un altro CMEK dopo la creazione dell'organizzazione.

Regioni CMEK del control plane per la residenza dei dati

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

Dettagli Chiavi obbligatorie

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

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

Tutti i componenti delle sottoregioni si trovano nella stessa regione.

Una chiave per i dati del control plane.

Una chiave per i dati delle sottoregioni del piano di controllo.

Vincoli dei criteri dell'organizzazione

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

I vincoli dei criteri dell'organizzazione CMEK possono essere creati 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 limitazioni 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:

  • L'interfaccia utente classica di Apigee non sarà disponibile per le organizzazioni appena create che richiedono CMEK perché le organizzazioni CMEK sono organizzazioni regionali non supportate nell'interfaccia utente classica. Le organizzazioni esistenti potranno comunque utilizzare la UI classica. Tieni presente che la prevalidazione CMEK non verrà implementata nell'interfaccia utente classica e si baserà sull'errore dell'API. Ciò significa che le organizzazioni esistenti che richiedono CMEK non avranno un'esperienza utente guidata per la configurazione di CMEK o per la disattivazione delle funzionalità non conformi a CMEK.
  • Apigee Shadow API Discovery non è soggetta ai criteri dell'organizzazione CMEK e non è conforme a CMEK.

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

  • La creazione di organizzazioni globali verrà bloccata dall'API di valutazione dell'organizzazione createOrganization e dalla procedura guidata di provisioning della valutazione.
  • La creazione di istanze ibride non è disponibile per l'applicazione.
  • Il pulsante Looker Studio per aprire Looker Studio con i dati di Apigee verrà disattivato quando è richiesto CMEK.
  • La creazione di portali verrà bloccata dall'API CreateSite. Poiché l'interfaccia utente dei portali è disponibile solo in Apigee Classic (non nella console Google Cloud) e la prevalidazione non verrà implementata nell'interfaccia utente di Apigee Classic, questo blocco si baserà sull'errore dell'API (il pulsante del portale Crea nell'interfaccia utente di Apigee Classic non verrà disattivato).
  • L'applicazione retroattiva della conformità per le risorse esistenti non è disponibile. Dovrai eliminare e ricreare le risorse se vuoi che una risorsa esistente sia conforme.

Per ulteriori informazioni sull'utilizzo dei vincoli delle norme dell'organizzazione con Apigee, consulta Utilizzare i vincoli delle norme dell'organizzazione in Apigee.

Come creare le chiavi di crittografia

Per impostazione predefinita, Google gestisce la creazione delle chiavi di crittografia durante la procedura di provisioning. Tuttavia, puoi crearle autonomamente. Per ulteriori 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à nel KMS o attacchi contro gli amministratori delle chiavi.
    • Attacco di tipo denial of service: un malintenzionato potrebbe interrompere l'accesso alle chiavi o ai dati di crittografia attaccando il KMS o il sistema di archiviazione.
    • Perdita della chiave: l'eliminazione o la perdita accidentale della chiave potrebbe comportare la perdita o l'inaccessibilità dei dati.
  • Mitigazioni:
    • Implementa criteri 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 per la 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 dei criteri dell'organizzazione per il progetto. CMEK non è supportato per le organizzazioni di prova/valutazione. Per poter eseguire il provisioning di un'organizzazione di prova, dovrai aggiornare il vincolo dei criteri dell'organizzazione constraints/gcp.restrictNonCmekServices per rimuovere Apigee dall'elenco dei servizi non consentiti.
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 non inclusa nella lista consentita. Hai impostato constraints/gcp.restrictCmekCryptoKeyProjects nei criteri dell'organizzazione che richiedono di fornire una chiave CMEK dai progetti consentiti elencati da te. Per poter creare un'organizzazione o istanze, dovrai fornire il CMEK di un progetto consentito. In alternativa, puoi aggiornare il vincolo dei criteri dell'organizzazione constraints/gcp.restrictCmekCryptoKeyProjects per consentire le chiavi del progetto Google Cloud specifico 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 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 disabilitato o eliminato la versione della chiave utilizzata per criptare/decriptare il dato richiesto. Se possibile, un utente deve riattivare la versione della chiave. Se la chiave o la versione della chiave è stata distrutta, i dati non sono recuperabili (per progettazione).
No new Analytics data for US/EU users Una delle possibili cause di questo problema può essere una chiave per una singola regione revocata/disattivata/eliminata dall'utente. Un utente deve riattivare/ripristinare l'accesso alla chiave di 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 piano di controllo a livello di singola regione in una regione non valida o supportata per la regione o la multiregione servita 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-regione in un piano di controllo che esiste solo in un'unica regione (ovvero non è un piano di controllo multi-regionale). Un utente deve omettere il campo della chiave multiregionale o scegliere di utilizzare un'istanza del piano di controllo 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 piano di controllo multi-regione all'istanza del piano di controllo multi-regionale sbagliata (ad es. una chiave "us" all'istanza del piano di controllo "eu") Un utente deve utilizzare una chiave multiregionale nella corretta multiregione o scegliere di utilizzare un'istanza del piano di controllo multiregionale diversa.