La funzionalità di identità del workload gestita fa parte dell'API Identity and Access Management. L'identità dei workload gestita semplifica mTLS eseguendo automaticamente il provisioning e la gestione dei certificati X.509 da Certificate Authority Service.
L'identità dei workload gestita si basa sullo standard Secure Production Identity Framework For Everyone (SPIFFE), che fornisce un framework per identificare, autenticare e proteggere le comunicazioni tra i workload utilizzando un ID SPIFFE univoco.
Questa pagina descrive l'identità del workload gestita nel contesto dell'assegnazione di un'identità gestita a un bilanciatore del carico per l'autenticazione mTLS. Per scoprire di più su Managed Workload Identity per altri workload, consulta Panoramica di Managed Workload Identity.
ID SPIFFE
Un'identità gestita è rappresentata da un ID SPIFFE. L'ID SPIFFE è un URI che identifica in modo univoco un carico di lavoro. Nel caso di mTLS del backend, il carico di lavoro è il servizio di backend di un bilanciatore del carico. È formattato nel seguente modo:
spiffe://TRUST_DOMAIN_NAME/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
Un TRUST_DOMAIN_NAME viene ulteriormente espanso come segue:
WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog
Per mettere insieme il tutto, i workload di Compute Engine, come la risorsa del servizio di backend di un bilanciatore del carico, possono avere un'identità gestita come segue:
spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
La sezione seguente descrive le diverse risorse dell'identità del carico di lavoro gestita.
Gerarchia delle risorse di identità del workload gestita
Per configurare un'identità dei workload gestita per un bilanciatore del carico, devi creare le seguenti risorse. Queste risorse sono descritte nelle sezioni seguenti di questo documento.
- Pool di identità del workload
- Spazio dei nomi
- Workload Identity gestita
- Policy di attestazione
Pool di identità del workload
Le identità dei workload gestite sono definite all'interno di un pool di identità del workload, che funge da dominio attendibile.
Il trust domain rappresenta un limite di sicurezza logico all'interno del quale i workload possono autenticarsi e autorizzarsi a vicenda utilizzando i propri ID SPIFFE. Tutti i workload all'interno dello stesso dominio di attendibilità condividono una radice di attendibilità comune, che consente ai workload di verificare reciprocamente le identità.
Per utilizzare le identità gestite, devi configurare il pool di identità del workload in modalità TRUST_DOMAIN. Tutte le identità all'interno di un pool sono costituite da un singolo spazio dei nomi e da un identificatore del workload individuale.
Nel seguente diagramma, il bilanciatore del carico e il backend fanno parte dello stesso dominio di attendibilità e condividono lo stesso certificato root. Il certificato root viene utilizzato per creare una catena di attendibilità e verificare l'identità dei workload all'interno del dominio attendibile.
Per impostazione predefinita, i tuoi workload all'interno dello stesso dominio attendibile possono autenticarsi reciprocamente utilizzando le identità dei workload gestite. Se vuoi che i workload che si trovano in domini attendibili diversi si autentichino reciprocamente, devi dichiarare esplicitamente la relazione di trust nel pool di identità dei workload. A questo scopo, crea una configurazione di trust incorporata che riconosce e accetta i certificati di altri domini di trust.
Spazio dei nomi
All'interno di un pool di identità del workload, le identità dei workload gestite sono organizzate in confini amministrativi chiamati spazi dei nomi. Gli spazi dei nomi consentono di organizzare e concedere l'accesso alle identità dei workload correlate.
Workload Identity gestita
La Workload Identity gestita o l'identità gestita è un identificatore del workload configurato in un pool di identità del workload. È collegato a una risorsa Google Cloud. Ogni identità gestita è identificata in modo univoco da uno spazio dei nomi e da un identificatore di workload individuale.
Nel contesto dell'implementazione di mTLS del backend, l'identità gestita è collegata alla risorsa del servizio di backend del bilanciatore del carico.
Il valore di un'identità gestita è un ID SPIFFE completamente specificato che deve essere conforme al seguente formato:
spiffe://WORKLOAD_IDENTITY_POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
Policy di attestazione
La Workload Identity gestita per le risorse Compute Engine richiede la configurazione delle policy di attestazione.
I criteri di attestazione del workload contengono regole che specificano a quali workload può essere rilasciato un certificato X.509 per un'identità del workload gestita. I criteri di attestazione utilizzano attributi del workload verificabili, come l'ID progetto o il nome della risorsa, per garantire che solo i workload attendibili possano utilizzare una determinata identità gestita.