Introduzione a CMEK

In questa pagina viene descritto l'utilizzo di CMEK con Apigee.

Panoramica

Per impostazione predefinita, Google Cloud cripta automaticamente i dati inattivi utilizzando chiavi di crittografia di proprietà di Google e gestite da Google. Se hai requisiti normativi o di conformità 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 ulteriori informazioni su CMEK in generale, incluso quando e perché abilitarla, consulta la documentazione di Cloud Key Management Service.

L'utilizzo delle chiavi di crittografia gestite dal cliente (CMEK) non offre necessariamente maggiore sicurezza dei meccanismi di crittografia predefiniti di Google, ma ti consente di controllare più aspetti del ciclo di vita e della gestione delle chiavi per soddisfare i requisiti di sicurezza e conformità.

Vantaggi di CMEK

Se hai bisogno di un controllo maggiore sulle operazioni relative alle 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 puoi archiviarle come chiavi software in un cluster HSM o esternamente.

Le funzionalità di gestione delle chiavi sono fornite dal servizio Cloud KMS. I casi d'uso più comuni includono:

  • Rotazione della chiave. Ruota la chiave automaticamente o manualmente. Tieni presente che quando la chiave viene ruotata, i dati precedentemente archiviati in Apigee non vengono ricriptati automaticamente con la nuova versione della chiave, ma continueranno a essere accessibili finché la versione della chiave precedente utilizzata per criptare i dati non verrà disabilitata o eliminata.
  • Attivazione o disattivazione di una versione della chiave. Quando viene disabilitata una versione della chiave, i dati Apigee criptati con quella versione della chiave non saranno accessibili. Per ripristinare l'accesso ai dati, è possibile riattivare la chiave.
  • Eliminazione della versione di una chiave. 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.
  • Revoca dell'accesso alla chiave da parte dell'agente di servizio Apigee utilizzando IAM. In questo caso, Apigee non sarà in grado di accedere ai dati del piano di controllo 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.

Quote

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

Revoca chiave di crittografia

Se ritieni che i tuoi dati su Apigee in Google Cloud siano stati compromessi, puoi revocare le chiavi di crittografia. Revoca la CMEK di runtime per impedire il malfunzionamento dell'istanza di runtime e l'impossibilità di accedere ai dati del gateway. Revoca la CMEK del piano di controllo per impedire ad Apigee di eseguire il lavoro 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 di runtime e del piano di controllo e vengono create durante il processo di provisioning.

I dati del piano di controllo Apigee sono criptati utilizzando una chiave di crittografia diversa rispetto ai dati del runtime e possono essere archiviati in regioni diverse. In base alla documentazione CMEK, questa crittografia si applica solo ai dati at-rest, ovvero ai dati che sono infine archiviati sul disco.

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

Consulta la pagina Informazioni sulle chiavi di crittografia 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 potrai passare a una CMEK diversa dopo la creazione dell'organizzazione.

Regioni CMEK del piano di controllo della residenza dei dati

Nel piano di controllo Apigee regionalizzato, selezioni due chiavi di crittografia per il piano. Questo perché alcuni dei componenti sottostanti il piano di controllo Apigee si trovano sempre in un'unica regione all'interno della località del piano di controllo. Per saperne di più, consulta Regioni di residenza dei dati.

Dettagli Chiavi richieste

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

Altri dati del piano di controllo (ad esempio, elaborazione delle analisi, portali) si trovano in una regione secondaria del piano di controllo.

Tutti i componenti delle sottoregioni saranno nella stessa regione l'uno dell'altro.

Una chiave per i dati del piano di controllo.

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

Come creare chiavi di crittografia

Per impostazione predefinita, Google gestisce la creazione delle chiavi di crittografia durante il processo di provisioning, ma puoi crearle autonomamente. Per maggiori informazioni, consulta Informazioni sulle chiavi di crittografia 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 accede alla chiave di crittografia, potenzialmente attraverso 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 comportare la perdita o l'inaccessibilità dei dati.
  • Mitigazioni:
    • Implementa criteri rigorosi per controllo dell'accesso e la gestione delle chiavi.
    • Monitora i log e le attività di KMS per rilevare eventuali comportamenti sospetti.

Risoluzione dei problemi

La tabella seguente descrive alcune condizioni di errore comuni che potrebbero verificarsi con i dati del configstore criptato 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
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 i dati richiesti. Se possibile, un utente deve riattivare la versione della chiave. Se la chiave o la versione della chiave sono state eliminate, i dati non sono recuperabili (by design).
No new Analytics data for US/EU users Una delle possibili cause di questo problema può essere una chiave a 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 regione singola in una regione non valida o supportata per la regione o le regioni gestite 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 per più regioni in un piano di controllo che esiste solo in una singola regione (ovvero non è un piano di controllo multiregionale). 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 multiregionale all'istanza del piano di controllo multiregionale sbagliata (ad es. una chiave "us" all'istanza del piano di controllo "eu") Un utente deve utilizzare una chiave per più regioni nell'area multiregionale corretta o scegliere di utilizzare un'istanza del piano di controllo multiregionale diversa.