Fasi di deployment di Stellar Engine

Stellar Engine è progettato con fasi a livelli per implementare l'isolamento delle dipendenze, il contenimento della sicurezza e i deployment ripetibili. Il repository è suddiviso in quattro fasi sequenziali e ogni fase è responsabile di un dominio specifico della landing zone.

Fase 0: bootstrap

La fase di bootstrap inizializza l'infrastruttura minima praticabile necessaria per gestire il processo di deployment stesso, fungendo da radice di attendibilità per la pipeline IaC.

Questa fase utilizza il principio del privilegio minimo per il account di servizio del deployer iniziale e la separazione rigorosa della gerarchia amministrativa.

L'obiettivo di questa fase è creare quanto segue:

  • Fondazione amministrativa
  • Gestione dello stato remoto
  • Perimetro di sicurezza iniziale

Vengono create le seguenti risorse:

  • Connessioni dell'account di fatturazione principale e avvisi di budget
  • Progetto IaC amministrativo dedicato per ospitare i service account di deployment
  • Bucket Cloud Storage bloccati per lo stato remoto di Terraform con il controllo delle versioni degli oggetti abilitato
  • Sink di audit log globali integrati con un bucket Cloud Loggingcentrale
  • Configurazione dei contatti fondamentali per garantire che le notifiche di sicurezza, tecniche e di fatturazione vengano indirizzate solo ai domini delle agenzie autorizzate

Fase 1: gestione delle risorse

La fase di gestione delle risorse crea la gerarchia dell'organizzazione, i limiti di accesso e l'isolamento dei tenant.

L'obiettivo di questa fase è definire le cartelle, i progetti e i ruoli Identity and Access Management personalizzati necessari per framework normativi specifici.

Questa fase utilizza il principio della separazione dei compiti tra diversi domini amministrativi e un rigoroso isolamento delle risorse.

Vengono create le seguenti risorse:

  • Gerarchia di cartelle allineata alla conformità (ad es. Prod, Non-Prod, Security, e Shared)
  • Progetti tenant dedicati isolati per ambiente e funzione
  • Associazioni di ruoli IAM granulari e ruoli personalizzati per applicare il privilegio minimo

Fase 2: networking

La fase di networking esegue il provisioning dei percorsi di comunicazione, dei controlli di sicurezza dei limiti e della connettività ibrida. Stellar Engine supporta più moduli di networking, tra cui FedRAMP High e IL5 NGFW.

L'obiettivo di questa fase è stabilire pattern di connettività sicuri, filtri dei pacchetti e controlli in entrata o in uscita.

Questa fase si concentra sulla protezione rigorosa dei limiti, sull'ispezione centralizzata del traffico e sul filtro dei pacchetti approfondito. Dopo aver eseguito questa fase, integra una soluzione SIEM per monitorare le risorse. Segmenta il SIEM in un progetto separato Google Cloud e su una VPC separata da quella in cui raccoglie i dati.

Vengono create le seguenti risorse:

  • Topologia VPC condivisa hub-and-spoke o Network Connectivity Center architetture che riducono al minimo l'esposizione pubblica
  • Connessioni VPC Peering, Cloud VPN o Dedicated Interconnect per carichi di lavoro ibridi
  • Routing VPC standard o concatenamento avanzato dei servizi utilizzando i firewall di nuova generazione (NGFW) Palo Alto VM-Series (obbligatori per le enclave DoD IL5) in una VPC di ispezione specializzata

Fase 3: sicurezza e audit

La fase di sicurezza e audit applica le applicazioni di crittografia, i blocchi finali e la responsabilità del servizio.

L'obiettivo di questa fase è migliorare la protezione dei dati, la tracciabilità degli audit e la sovranità crittografica.

Questa fase si concentra sulla sovranità a riposo, sulla sovranità in uso e sul rigoroso isolamento crittografico dei dati.

Vengono create le seguenti risorse:

  • Portachiavi e chiaviCloud Key Management Service (Cloud KMS) per soddisfare i requisiti delle chiavi di crittografia gestite dal cliente (CMEK) per tutti i servizi di archiviazione
  • Script di blocco della sicurezza e vincoli del servizio policy dell'organizzazione applicati ai service account utilizzati durante il deployment
  • Argomenti e avvisi di messaggi non recapitabili per l'importazione di audit log non riuscita

Principi di deployment

La tabella seguente descrive i principi utilizzati da Stellar Engine per il processo di deployment.

Principio Descrizione
Isolamento dello stato

I file di stato di Terraform sono rigorosamente separati per fase. Ad esempio, un bug o un danneggiamento dello stato nella fase 2 non può accedere o danneggiare lo stato o le credenziali principali delle fasi 0 o 1.

Blocco della versione del modulo

I blueprint fanno riferimento alle dipendenze modulari utilizzando tag Git bloccati o hash di commit. Il blocco garantisce che le modifiche upstream nel registro dei moduli non vengano introdotte automaticamente negli ambienti di destinazione senza una revisione esplicita.

Contenimento dell'impatto

Gli aggiornamenti vengono eseguiti localmente nelle directory di fase. Il contenimento dell'impatto garantisce che una modifica del codice alle regole del firewall nella fase 2 non influisca sulle chiavi Cloud KMS nella fase 3.

Contenimento degli errori

I bucket di stato di Cloud Storage sono configurati con il controllo delle versioni degli oggetti abilitato. Se una modifica del codice errata o una modifica manuale dello stato danneggia il file di stato, il file può essere ripristinato immediatamente a una versione precedente.