La separazione dei compiti è il concetto di garantire che un'entità non disponga di tutte le autorizzazioni necessarie per completare un'azione dannosa. In Cloud Key Management Service, potrebbe trattarsi di un'azione come l'utilizzo di una chiave per accedere e decriptare dati a cui l'utente non ha alcun motivo valido per accedere.
La separazione dei compiti è un controllo aziendale in genere utilizzato nelle organizzazioni più grandi, volto a evitare incidenti ed errori di sicurezza o privacy. È considerata una best practice.
In Cloud KMS, la separazione dei compiti richiede una distinzione rigorosa tra i seguenti ruoli:
- Gestori delle chiavi: i principal autorizzati a gestire i cicli di vita delle chiavi, inclusi creazione, eliminazione, rotazione e modifiche dello stato, ad esempio gli utenti con il ruolo Amministratore Cloud KMS.
- Utenti chiave: i principal autorizzati a utilizzare le chiavi, inclusi crittografia, decrittografia, firma o verifica della firma, ad esempio gli utenti con il ruolo Cloud KMS CryptoKey Encrypter/Decrypter.
Quando utilizzi le chiavi Cloud KMS per le chiavi di crittografia gestite dal cliente, ti consigliamo di fare in modo che il account di servizio sia l'unico principal autorizzato a utilizzare la chiave per la crittografia e la decriptazione. Per ulteriori informazioni su come le integrazioni CMEK gestiscono l'accesso alle risorse, consulta Servizi integrati con CMEK gestiscono l'accesso alle risorse.
Se vuoi creare una barriera protettiva per applicare questo suggerimento, puoi utilizzare le policy di negazione IAM per rimuovere le autorizzazioni di crittografia e decrittografia dalle entità diverse dai service account. Per ulteriori informazioni su come utilizzare i ruoli IAM in modo sicuro, consulta Utilizzare IAM in modo sicuro.
Governance delle chiavi
La governance delle chiavi descrive chi in un'organizzazione è responsabile della gestione del ciclo di vita delle risorse Cloud KMS e del mantenimento delle misure di protezione per controllare l'utilizzo di Cloud KMS. Esistono approcci chiave alla governance in uno spettro che va dalla governance centralizzata alla governance delegata:
- Governance centralizzata: un team dedicato alla sicurezza o alla piattaforma è responsabile della gestione del ciclo di vita di tutte le chiavi crittografiche nell'organizzazione. Questo modello viene spesso scelto da aziende altamente regolamentate con requisiti di conformità rigorosi.
- Governance delegata: un team di sicurezza centrale utilizza i guardrail per imporre standard di crittografia, ma delega la responsabilità delle operazioni del ciclo di vita delle chiavi ai proprietari delle applicazioni all'interno dei loro progetti. Queste misure di salvaguardia possono includere policy dell'organizzazione che utilizzano vincoli gestiti e personalizzati, nonché concessioni e policy di negazione IAM. In questo modo si eliminano i colli di bottiglia operativi centrali.
Archiviazione delle chiavi
L'archiviazione delle chiavi descrive dove vengono create le risorse Cloud KMS all'interno di un'organizzazione. Esistono due approcci principali all'archiviazione delle chiavi: l'archiviazione delle chiavi in un progetto dedicato e l'archiviazione delle chiavi nello stesso progetto.
Archiviazione delle chiavi in un progetto dedicato: un progetto di gestione delle chiavi dedicato contiene le chiavi utilizzate per più applicazioni. In genere, ogni cartella dell'ambiente ha il proprio progetto chiave. Puoi utilizzare Autokey con l'archiviazione delle chiavi in un progetto dedicato.
Archiviazione delle chiavi nello stesso progetto: le chiavi vengono archiviate nello stesso progetto Google Cloud delle risorse che proteggono. A volte questa operazione viene descritta come "la chiave segue i dati". Puoi utilizzare Autokey con l'archiviazione delle chiavi nello stesso progetto.
Allineare governance e spazio di archiviazione
La seguente matrice fornisce esempi di come questi modelli di governance e archiviazione possono essere combinati per soddisfare le diverse esigenze dell'organizzazione:
| Modello di governance | Archiviazione delle chiavi in un progetto dedicato | Archiviazione delle chiavi nello stesso progetto |
|---|---|---|
| Governance centralizzata | Approccio completamente centralizzato Utilizzo consigliato: organizzazioni con requisiti normativi rigorosi che impongono l'isolamento dei limiti del progetto. Impatto operativo: elevata complessità di configurazione. Richiede un'automazione robusta (ad esempio una "fabbrica di progetti") per evitare ritardi operativi per i team di sviluppo. |
Proprietà regolata Utilizzo consigliato: organizzazioni che richiedono una supervisione centralizzata della sicurezza, ma vogliono massimizzare la velocità degli sviluppatori. Impatto operativo: bassa complessità di configurazione. La sicurezza centralizzata applica i criteri utilizzando le barriere di protezione, mentre le chiavi si trovano insieme alle risorse che proteggono per facilitarne la gestione. |
| Governance delegata | Non consigliato L'introduzione della complessità di IAM tra progetti vanifica lo scopo della delega della gestione delle chiavi ai team delle applicazioni. |
Autonomous DevOps Utilizzo consigliato: organizzazioni decentralizzate ad alta velocità con una forte cultura DevOps. Impatto operativo: complessità di configurazione minima. I team delle applicazioni hanno piena autonomia su risorse e chiavi all'interno dei confini del progetto. |
Archiviazione delle chiavi nello stesso progetto
L'applicazione della separazione dei compiti nella gestione delle chiavi nello stesso progetto richiede di mantenere i ruoli IAM rigorosamente separati. Ad esempio, puoi utilizzare le policy di negazione IAM per rimuovere le autorizzazioni di crittografia e decrittografia dai gestori delle chiavi.
Puoi abilitare Autokey con l'archiviazione delle chiavi nello stesso progetto in un progetto o una cartella per consentire la creazione automatica delle chiavi nello stesso progetto della risorsa che la chiave protegge. Per maggiori informazioni, consulta Abilitare Autokey con l'archiviazione delle chiavi nello stesso progetto.
Archiviazione delle chiavi in un progetto dedicato
Nel modello di archiviazione delle chiavi in progetti dedicati, i progetti di chiavi dedicati sono gestiti da un team di sicurezza centrale, che dispone delle autorizzazioni di amministrazione delle chiavi nel progetto di chiavi, ma non può accedere ai progetti che contengono le risorse protette da queste chiavi.
Puoi attivare Autokey con l'archiviazione delle chiavi del progetto dedicato in una cartella per consentire la creazione automatica delle chiavi utilizzando il modello di archiviazione centralizzata delle chiavi. Per saperne di più, consulta Configura Autokey con l'archiviazione delle chiavi in un progetto dedicato.
Automatizzare e monitorare la conformità
Google Cloud fornisce i seguenti strumenti per automatizzare e monitorare i tuoi confini di sicurezza:
- Cloud KMS Autokey: Autokey supporta sia l'archiviazione delle chiavi in un progetto dedicato sia l'archiviazione delle chiavi nello stesso progetto. Per entrambi, automatizza la separazione dei compiti concedendo automaticamente il ruolo di utilizzo della chiave all'agente di servizio richiesto, non alla persona che richiede la chiave. Autokey è progettato per supportare pipeline Infrastructure as Code che non richiedono privilegi elevati per la creazione delle chiavi.
- Security Command Center: monitora i risultati di Separazione dei ruoli KMS per rilevare qualsiasi entità, inclusi un Proprietario progetto o un service account Google, che disponga di autorizzazioni amministrative e crittografiche su una singola chiave.
- Metriche di crittografia CMEK: utilizza la dashboard Metriche di crittografia per verificare l'allineamento con le pratiche di separazione dei compiti nell'intera organizzazione.