Questa pagina descrive le best practice CMEK con Apigee.
Prevenzione dei rischi
Attualmente, Apigee supporta un insieme limitato di account la funzionalità della chiave di crittografia. Per impedire l'eliminazione accidentale delle chiavi CMEK o le versioni della chiave, ti consigliamo di implementare quanto segue:
-
Rafforza i controlli di accesso: limita il limite
Autorizzazioni di eliminazione/aggiornamento del ruolo
roles/cloudkms.admin
o della chiave Rivolto solo agli amministratori fidati o ai membri senior dei team. - Esegui regolarmente controlli delle autorizzazioni: assicurati che le autorizzazioni non vengano ampliate inavvertitamente nel tempo.
- Eliminazione automatica delle chiavi: non configurare automazioni per eliminare/disattivare automaticamente le chiavi.
Configura durata e rotazione per l'eliminazione delle chiavi
- Valuta la possibilità di estendere la durata predefinita dell'eliminazione: il periodo di eliminazione programmata predefinito è di 30 giorni. Impostazione di un'eliminazione personalizzata durante la creazione della chiave di applicare una durata maggiore tramite i criteri dell'organizzazione possono offrire più tempo per il ripristino in caso di per eliminazione accidentale. Se ritieni che tempi di distruzione più lunghi comportino un rischio maggiore, tieni presente che una durata di distruzione più lunga ti impedisce anche di eliminare accidentalmente la chiave. Puoi bilanciare i vantaggi e i rischi per capire quale durata è la migliore per te.
- Richiedi la disattivazione delle chiavi prima dell'eliminazione: consigliamo la disabilitazione delle versioni delle chiavi prima di pianificarne l'eliminazione. Ciò consente di verificare che la chiave non sia in uso attivo e che sia un passaggio importante determinare se è sicuro eliminare la versione di una chiave.
- Implementazione rotazione della chiave: la rotazione regolare delle chiavi limita l'impatto delle una potenziale compromissione. Nel caso in cui una chiave sia compromessa, vengono la rotazione limita il numero di messaggi effettivi vulnerabili a essere compromessi.
Rotazione delle chiavi in Apigee
Lo scopo principale della rotazione delle chiavi è ridurre la quantità di dati criptati con una singola chiave, non sostituire completamente la vecchia versione della chiave. Per entrambi i runtime e alle chiavi del piano di controllo, la chiave originale rimane collegata alla risorsa dal momento in cui viene creata.
Esempi illustrativi
- Un'istanza Apigee utilizzerà sempre la versione della chiave CMEK primaria che era attiva al momento della creazione, anche dopo la rotazione della chiave.
- Un bundle proxy continuerà a utilizzare la versione della chiave CMEK primaria che era attivo quando è stato creato per la prima volta. Tuttavia, se questo bundle proxy viene modificato dopo la rotazione delle chiavi, tutti i nuovi dati al suo interno verranno criptati con la nuova versione della chiave primaria.
Limitazione attuale: nessuna ricrittografia automatica
È importante notare che Apigee al momento non supporta la ricrittografia automatica dei dati esistenti quando una chiave viene ruotata. Solo una quantità limitata di nuovi dati verrà criptata con la nuova versione della chiave primaria. La la maggior parte dei dati, ad esempio analisi, dati del disco runtime e proxy precedenti revisioni saranno comunque criptate con la versione precedente della chiave.
Disattivazione della chiave
La disattivazione o l'eliminazione delle chiavi interromperà la funzionalità di Apigee. Se se prima disattivi la chiave, puoi riabilitarla se si tratta di un falso allarme.
Se sospetti una compromissione di una chiave (o di una versione della chiave):
-
Scenario ad alto rischio: se ritieni che i tuoi dati Apigee siano sensibili e che un malintenzionato abbia un'alta probabilità di sfruttarli, disattiva immediatamente la chiave e revoca l'accesso. Devi disabilitare la chiave prima di ricreare un
apigee
istanza eapigee
organizzazione. -
Scenario a basso rischio: se ridurre al minimo il tempo di inattività è più importante
e il rischio potenziale, devi ricreare l'istanza
apigee
apigee
organizzazione prima di disabilitare/eliminare la CMEK. Continua a leggere per scoprire come prevenire in modo proattivo i tempi di riposo investendo in backup/ripristino. - Contatta l'assistenza: ti consigliamo di contattare l'assistenza clienti Google Cloud se ritieni che una chiave sia compromessa e devi disattivarla.
Controlla l'impatto della disattivazione/revoca/distruzione di una chiave
di seguito.
Dopo aver disabilitato la chiave, dovrai ricreare il tuo apigee
org/instances. Consulta le best practice.
- Compromissione CMEK di runtime:crea nuove istanze con una nuova CMEK, quindi Elimina le istanze originali e la vecchia CMEK di runtime dopo il traffico viene eseguita la migrazione.
-
Tutte le compromissioni CMEK: crea una nuova organizzazione
apigee
con una nuova chiave CMEK, replica la configurazione, sposta il traffico arresta la vecchia organizzazione e disattiva/elimina la CMEK originale. -
Contatta l'assistenza clienti Google Cloud: se l'API per l'eliminazione/la ricostruzione di istanze o dell'
apigee
org richiede molto tempo, contatta l'assistenza clienti Google Cloud.
Impatto della disattivazione/revoca/eliminazione delle chiavi
Se disattivi, revochi o distruggi la chiave, Apigee non funzionerà correttamente. Gli impatti sono i seguenti:
- Disabilitazione/revoca/eliminazione dell'intera chiave: Apigee le API rivolte ai clienti smetteranno di funzionare immediatamente. I sistemi interni subiranno un errore entro pochi minuti, con ripercussioni sul deployment del proxy, sul traffico di runtime, sull'analisi e sulla sicurezza delle API. L'istanza diventerà completamente non avviabile in alcune settimane a causa di problemi di rimontaggio del disco.
- Disabilitazione/revoca/eliminazione di una versione della chiave (incluse le chiave primaria o versione precedente della chiave): le API rivolte ai clienti di Apigee quella versione della chiave smetterà di funzionare immediatamente. Alcuni sistemi interni e il traffico di runtime saranno interessati. L'istanza potrebbe non essere avviabile se la versione della chiave è stata utilizzata per la crittografia del disco.
Riattivazione di una chiave
Se una compromissione è un falso allarme o la disattivazione della chiave non come previsto, puoi riabilitarla se viene disabilitata. Riattivazione in corso... una chiave ripristina la funzionalità per le API rivolte ai clienti. I sistemi interni devono il ripristino in pochi minuti. Tuttavia, durante il periodo di mancata disponibilità della chiave potrebbe verificarsi una perdita di dati per la sicurezza e l'analisi delle API.
- Se il periodo di disattivazione della chiave è breve: il sistema dovrebbe recuperare tranne per alcune perdite di dati relative alla sicurezza e all'analisi delle API.
- Se il periodo di disattivazione della chiave è lungo: il sistema riprende a gestire il traffico, ma possono verificarsi incoerenze nei dati in cui una regione restituisce un valore e la regione precedentemente inattiva ne restituisce un altro. Contatto Assistenza clienti Google Cloud per riparare il tuo cluster Apigee.
Eliminazione di una chiave
Prima di eliminare una chiave, tieni presente quanto segue:
- A scopo di pulizia:non eliminare le vecchie chiavi fino ad Apigee ha rilasciato la funzionalità di tracciamento delle chiavi per comprendere l'utilizzo delle chiavi prima di eliminare le chiavi.
- Se è necessaria l'eliminazione: disabilita prima la chiave, quindi pianifica la sua distruzione. Puoi utilizzare un criterio dell'organizzazione per applicare disattiva prima la chiave e la durata minima per l'eliminazione.
Protezione dell'organizzazione Apigee con i backup CI/CD
In caso di compromissione delle chiavi di crittografia gestite dal cliente (CMEK), è fondamentale intervenire immediatamente per disattivare, revocare o distruggere la chiave compromessa. Tuttavia, questa misura di sicurezza necessaria può rendere i tuoi Il sistema Apigee non funziona, con conseguenti possibili tempi di inattività e e interruzioni del servizio.
Per garantire tempi di inattività minimi o nulli per i tuoi servizi Apigee, è fondamentale implementare un approccio proattivo: backup continui della configurazione della tua organizzazione (backup di integrazione/deployment continuo (CI/CD)). Consulta gli strumenti disponibili e le best practice per il ripristino di un Apigee.
La potenza di CI/CD e IaC
Investire in strumenti come Terraform, una soluzione Infrastructure as Code (IaC), consente di creare facilmente una nuova organizzazione Apigee dalla configurazione di cui è stato eseguito il backup. Questa procedura semplificata ti consente di ricreare l'organizzazione Apigee in modo rapido ed efficiente, riducendo al minimo i tempi di inattività garantire la continuità aziendale.
Strumenti disponibili per l'utilizzo
Puoi combinare tutti i seguenti strumenti per eseguire periodicamente il backup della tua apigee
organizzazione e testare la procedura di recupero.
- Se vuoi ricreare le istanze Apigee, vedi Ricreare un'istanza Apigee senza tempi di inattività.
-
Se vuoi utilizzare Terraform, puoi prendere in considerazione idee da modelli aperti
origine
apigee/terraform modules
. -
Se vuoi ricreare le organizzazioni Apigee, puoi utilizzare
apigeecli
,apigeecli organizations export
eapigeecli organizations import
che funga da base per il backup. Vedi Esportazione/ricreazione di organizzazioni. - Se vuoi eseguire il backup e il ripristino di altre risorse oltre a quelle elencate sopra, dovrà interagire direttamente API oppure utilizza un altro apigeecli .
Best practice
- Backup regolari: pianifica backup regolari per assicurarti di avere il massimo e una configurazione sempre aggiornata. Consulta: Esportazione/ricreazione di organizzazioni.
- Archiviazione sicura: archivia i backup in un luogo sicuro, ad esempio un repository criptato.
- Testa i ripristini: testa periodicamente il processo di ripristino per assicurarti di poter recuperare efficacemente la tua organizzazione Apigee. Testa periodicamente la procedura di ripristino per assicurarti di poter trasferire rapidamente il traffico alle organizzazioni Apigee appena create.
Esportazione/ricreazione delle organizzazioni
apigeecli
è uno strumento a riga di comando che consente di gestire Apigee
Google Cloud. Ti permette di eseguire le stesse azioni di Apigee
API in un'interfaccia a riga di comando facile da usare, analoga a gcloud
tramite comandi SQL.
Se vuoi ricreare organizzazioni Apigee o eseguire la migrazione a un'altra organizzazione Apigee, puoi utilizzare apigeecli
organizations export
e apigeecli organizations import
.
Può essere utilizzato anche come base per i backup continui. Può esportare e
importare risorse come:
- Documentazione sul portale API
- Categorie dei portali API
- Proxy API
- Configurazione della sicurezza dell'API e profili di sicurezza
- Flussi condivisi
- Prodotti basati su API
- Sviluppatori
- App per sviluppatori, incluse le credenziali
- AppGroups e Apps con credenziali
- Dettagli ambiente
- Gruppi di ambienti
- Configurazione dei terminali di raccolta dati
- Keystore e certificati alias a livello di ambiente
- Server di destinazione a livello di ambiente
- Riferimenti a livello di ambiente
- Mappe di valori chiave (KVM) e voci a livello di organizzazione, ambiente e proxy
- Archivi chiavi e certificati alias, tranne le chiavi private
Lo strumento può gestire tutte le altre risorse Apigee. L'intero
elenco di comandi può essere visualizzato utilizzando apigeecli tree
.
Questo strumento presenta alcune limitazioni:
- Gli archivi chiavi richiedono di salvare la chiave privata al momento della creazione e di includerla nel file di backup locali
- I token OAuth non potranno essere sottoposti a backup e ripristino, il che implica che le istanze Apigee appena create richiederanno ai clienti di eseguire nuovamente l'accesso.
- I controlli dell'accesso come i criteri dell'organizzazione e le regole IAM non sono di cui è stata eseguita la migrazione. Se vuoi eseguire la migrazione di queste regole, devi utilizzare l'API Google Cloud.
-
Le esportazioni dei report di Analytics non sono supportate e le metriche di analisi non sono supportate.
copiato nella nuova organizzazione
apigee
. -
Questo comando
import
non crea automaticamente l'istanza, envGroup, EnvAttachments, collegamenti endpoint o eseguire il deployment di proxy per tuo conto. Puoi gestire queste risorse, ma non direttamente tramite Comandoimport
. -
Questo comando
import
non crea automaticamente siti dei portali. La creazione dei siti dei portali deve essere effettuata manualmente tramite l'interfaccia utente. - Ti consigliamo di investire nel ripristino di emergenza per l'eliminazione delle chiavi e di testare periodicamente la procedura di ripristino per assicurarti di poter trasferire rapidamente il traffico alle organizzazioni Apigee appena create.
Prerequisiti
Prima di iniziare, assicurati che siano soddisfatti i seguenti prerequisiti:
-
Apigee CLI installato: installa
apigeecli
seguendo i passaggi descritti nella guida all'installazione. -
Autenticazione. Devi disporre delle autorizzazioni necessarie e
credenziali di autenticazione per interagire con le organizzazioni Apigee. Assicurati di avere configurato:
-
Google Cloud SDK (
gcloud
): installato e autenticato. -
Token di accesso: ottieni un token di accesso utilizzando
gcloud auth print-access-token
.
-
Google Cloud SDK (
- Accesso alla rete: assicurati che la rete consenta l'accesso alle API Apigee.
-
Crea organizzazione: crea una nuova organizzazione
apigee
da creare eseguire la migrazione. Puoi creare diversi tipi diapigee
organizzazioni; ma assicurati di usare dello stesso tipo di organizzazione (pagamento a consumo o abbonamento) il tipo di routing di rete utilizzato con l'organizzazione originale.
Esportazione di un'organizzazione Apigee
Di seguito è riportato un comando di esempio. Consulta apigeecli organizations export per informazioni dettagliate sui diversi flag.
# Sample command mkdir apigee_backup cd apigee_backup # gcloud auth application-default login export ORG_FROM=REPLACE apigeecli organizations export -o $ORG_FROM --default-token
Importazione di un'organizzazione Apigee
Di seguito è riportato un comando di esempio. Consulta apigeecli organizations import per informazioni dettagliate sui diversi flag
# Sample command # gcloud auth application-default login export ORG_TO=REPLACE apigeecli organizations import -o $ORG_TO -f . --default-token
Passaggi successivi all'importazione
Creare istanze e configurare le reti
Per creare un'istanza e configurare le reti:
- Segui i passaggi in Crea una nuova istanza per crearne una nuova.
- Configura il traffico in entrata: il traffico in entrata si riferisce al traffico API da client esterni o interni ad Apigee tramite un bilanciatore del carico. Tu devi assicurarti di configurare correttamente la PSC o il VPC in modo che è raggiungibile. Dovrai configurare i nomi host dei gruppi di ambienti nella nuova organizzazione.
- Configura il traffico verso sud: verso sud si riferisce al traffico API. da Apigee ai servizi di destinazione del proxy API. Pertanto, devi prenotare e attivare nuovi indirizzi IP per il NAT e riconfigurare i firewall/le liste consentite sugli endpoint di destinazione.
Per ulteriori informazioni, consulta le opzioni di networking di Apigee.
Eseguire il backup o il ripristino di altre configurazioni
Utilizza una delle seguenti opzioni per eseguire il backup/ripristino di altre configurazioni:
-
Per le regole IAM: puoi utilizzare
gcloud projects get-iam-policy
egcloud projects set-iam-policy
per copiare il tuo criterio IAM, modificare il nome del progetto e dell'organizzazioneapigee
e applicarlo a nuovi progetti e organizzazioniapigee
di Google Cloud. - Per altre configurazioni di Apigee: puoi utilizzare l'API di gestione di Apigee.
Esegui il deployment dei proxy
Utilizza uno dei seguenti metodi per eseguire il deployment dei proxy:
- Utilizza
apigeecli
- Utilizza lo script della community di Apigee come riferimento
- Utilizza l' API di gestione Apigee
Cambia il traffico
Per spostare il traffico:
- Prepara i test di integrazione automatici per la nuova istanza.
- Configura un bilanciatore del carico per spostare gradualmente il traffico alla nuova istanza durante il monitoraggio delle prestazioni.