In questa pagina viene spiegato come gestire i tuoi account pool di identità per i carichi di lavoro e relativa identità di Google Cloud.
Puoi gestire pool e provider utilizzando la console Google Cloud, Google Cloud CLI o l'API REST.
Prima di iniziare
Crea un pool di identità per i carichi di lavoro. Per scoprire come, consulta una delle seguenti pagine:
- Accedi alle risorse da AWS
- Accedi alle risorse di Microsoft Azure
- Accedere alle risorse da un provider di identità OIDC
- Accedere alle risorse da un provider di identità SAML 2.0
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i provider e i pool di identità per i carichi di lavoro, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Per visualizzare pool e provider:
Visualizzatore pool Workload Identity IAM (
roles/iam.workloadIdentityPoolViewer
) -
Per visualizzare, creare, aggiornare ed eliminare pool e provider:
Amministratore pool Workload Identity IAM (
roles/iam.workloadIdentityPoolAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti le autorizzazioni necessarie per gestire i provider e i pool di identità per i carichi di lavoro. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire i provider e i pool di identità per i carichi di lavoro sono necessarie le seguenti autorizzazioni:
-
Per visualizzare i provider e i pool di identità per i carichi di lavoro:
-
iam.googleapis.com/workloadIdentityPoolProviders.get
-
iam.googleapis.com/workloadIdentityPoolProviders.list
-
iam.googleapis.com/workloadIdentityPools.get
-
iam.googleapis.com/workloadIdentityPools.list
-
-
-
Per creare, aggiornare ed eliminare pool e provider:
-
iam.googleapis.com/workloadIdentityPoolProviders.create
-
iam.googleapis.com/workloadIdentityPoolProviders.delete
-
iam.googleapis.com/workloadIdentityPoolProviders.undelete
-
iam.googleapis.com/workloadIdentityPoolProviders.update
-
iam.googleapis.com/workloadIdentityPools.create
-
iam.googleapis.com/workloadIdentityPools.delete
-
iam.googleapis.com/workloadIdentityPools.undelete
-
iam.googleapis.com/workloadIdentityPools.update
-
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Gestire i pool di identità per i carichi di lavoro
Questa sezione mostra come gestire i pool di identità per i carichi di lavoro.
Crea pool
Per creare pool di identità di carico di lavoro in un progetto:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
gcloud
Esegui il comando gcloud iam workload-identity-pools create
.
REST
Chiama il numero projects.locations.workloadIdentityPools.create()
.
Elenca pool
Per elencare tutti i pool di Workload Identity in un progetto, segui questi passaggi:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
gcloud
Esegui il comando gcloud iam workload-identity-pools list
.
REST
Chiama il numero projects.locations.workloadIdentityPools.list()
.
Acquista un pool
Per visualizzare i dettagli di un pool Workload Identity specifico:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
Individua il pool di identità di carico di lavoro che vuoi visualizzare, quindi fai clic sull'icona
Modifica. La console Google Cloud mostra i dettagli del pool di identità del carico di lavoro.
gcloud
Esegui il comando
gcloud iam workload-identity-pools describe
.
REST
Chiama il numero projects.locations.workloadIdentityPools.get()
.
Aggiorna un pool
Puoi attivare o disattivare un pool di identità per i carichi di lavoro. Puoi anche modificare nome visualizzato o descrizione.
Per aggiornare un pool di identità per i carichi di lavoro esistente:
Console
Nella console Google Cloud, vai alla pagina Pool di identità per carichi di lavoro.
Trova il pool di identità per i carichi di lavoro che vuoi modificare, quindi fai clic sulla relativa
Modifica.Per disabilitare o abilitare il pool Workload Identity, fai clic su Stato Attiva l'opzione, quindi fai clic su Disattiva o Attiva.
Per modificare il nome visualizzato, fai clic su
Modifica accanto al nome visualizzato. Aggiorna il nome e poi fai clic su Salva.Per modificare la descrizione, utilizza l'interfaccia a riga di comando gcloud o l'API REST.
gcloud
REST
Chiama il numero projects.locations.workloadIdentityPools.patch()
.
Eliminare un pool
Quando elimini un pool di identità per i carichi di lavoro, viene eliminato anche il relativo pool di identità per i carichi di lavoro dai provider di pool. Di conseguenza, le identità nel pool perdono l'accesso alle risorse Google Cloud.
Puoi annullare l'eliminazione di un pool fino a 30 giorni dopo l'eliminazione. Dopo il giorno dopo 30 giorni, l'eliminazione è definitiva. Fino a quando non c'è una piscina viene eliminato definitivamente, non puoi riutilizzarne il nome durante la creazione di un nuovo carico di lavoro pool di identità.
Per eliminare un pool di identità per i carichi di lavoro e i relativi provider di identità, segui questi passaggi:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
Trova il pool di identità per i carichi di lavoro che vuoi eliminare, quindi fai clic sulla relativa
Modifica.Fai clic su
Elimina pool e poi su Elimina. Il pool di identità per i carichi di lavoro e i relativi provider di identità sono eliminati.
gcloud
REST
Chiama il numero projects.locations.workloadIdentityPools.delete()
.
Annullare l'eliminazione di un pool
Puoi recuperare un pool di identità per i carichi di lavoro eliminato per un massimo di 30 giorni dopo l'eliminazione dei dati.
Per annullare l'eliminazione di un pool:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
Fai clic sul pulsante di attivazione/disattivazione Mostra i pool e i provider eliminati.
Individua il pool di identità del carico di lavoro di cui vuoi annullare l'eliminazione, quindi fai clic sull'icona
Ripristina.Fai clic su Ripristina. Il pool e i relativi provider vengono ripristinati.
gcloud
Esegui il comando
gcloud iam workload-identity-pools undelete
.
REST
Chiama il numero projects.locations.workloadIdentityPools.undelete()
.
Gestisci i provider di pool di identità per i carichi di lavoro
Questa sezione mostra come gestire i provider di pool di identità per i carichi di lavoro.
Crea un provider
Per creare un provider di pool di identità di workload in un pool di identità di workload esistente, procedi nel seguente modo:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
Trova il pool di identità per i carichi di lavoro a cui vuoi aggiungere un provider, quindi fai clic sulla relativa icona
Modifica.Fai clic su
Aggiungi provider.Seleziona il tipo di provider da creare:
- AWS: un provider di identità Amazon Web Services (AWS).
- OpenID Connect (OIDC): un provider di identità compatibile con OIDC. Questo include Microsoft Azure.
Inserisci un nome per il provider.
La console Google Cloud utilizza il nome per creare un ID provider. Per modificare l'ID provider, fai clic su Modifica. Non puoi modificare l'ID provider in un secondo momento.
Compila i restanti campi relativi al tuo provider:
- AWS: inserisci l'ID account AWS.
- OIDC: inserisci l'URL dell'emittente. Per Azure, l'URL dell'emittente utilizza il formato
https://sts.windows.net/AZURE_TENANT_ID
. Per altro i fornitori, consultare la documentazione del fornitore.
Al termine, fai clic su Continua.
Per configurare la mappatura degli attributi, fai clic su Modifica mappatura. La mappatura degli attributi consente di utilizzare le informazioni sulle identità esterne per concedere l'accesso a un sottoinsieme di queste identità.
AWS: questo passaggio è facoltativo; puoi utilizzare la mappatura predefinita.
Per maggiori dettagli, vedi Impostazioni del provider di identità per AWS.
OIDC: consigliamo di mappare
google.subject
aassertion.sub
. Altro sono facoltative.Per maggiori dettagli, vedi Impostazioni del provider di identità per Azure o Impostazioni del provider di identità per OIDC.
(Facoltativo) Per fornire una condizione dell'attributo che specifica le identità che possono eseguire l'autenticazione, fai clic su Aggiungi condizione e inserisci un'espressione Common Expression Language (CEL) valida. Per maggiori dettagli, consulta Condizioni degli attributi.
Fai clic su Salva. Il provider del pool di identità per i carichi di lavoro è stato creato.
gcloud
Esegui il comando
gcloud iam workload-identity-pools providers create-aws
per creare un provider AWS.
Esegui il comando
gcloud iam workload-identity-pools providers create-oidc
per creare un provider OIDC. tra cui Microsoft Azure.
REST
Chiama il numero projects.locations.workloadIdentityPools.providers.create()
.
Elenca provider
Per elencare i provider di pool di identità per i carichi di lavoro in un progetto, segui questi passaggi:
Console
Nella console Google Cloud, vai alla pagina Pool di identità per carichi di lavoro.
Per visualizzare i provider di un pool di identità di carico di lavoro, fai clic sull'icona
Espandi nodo per il pool.
gcloud
Esegui il comando
gcloud iam workload-identity-pools providers list
.
REST
Chiama il numero projects.locations.workloadIdentityPools.providers.list()
.
Trovare un fornitore
Per ottenere i dettagli di un provider specifico di pool di identità per i carichi di lavoro, segui questi passaggi:
Console
Nella console Google Cloud, vai alla pagina Pool di identità per carichi di lavoro.
Individua il pool di identità del carico di lavoro che contiene il provider, quindi fai clic sull'icona
Espandi nodo per il pool.Trova il provider del pool di identità per i carichi di lavoro che vuoi visualizzare, quindi fai clic su relativa all'icona
Modifica. La La console Google Cloud mostra informazioni dettagliate sul provider.
gcloud
Esegui il comando
gcloud iam workload-identity-pools providers describe
.
REST
Chiama il numero projects.locations.workloadIdentityPools.providers.get()
.
Aggiornare un fornitore
Puoi abilitare o disabilitare un provider di pool di identità per i carichi di lavoro. Puoi anche aggiornarne i dati dell'account e la mappatura degli attributi, nonché il nome visualizzato e la descrizione.
Per aggiornare un provider esistente di pool di identità per i carichi di lavoro:
Console
Nella console Google Cloud, vai alla pagina Pool di identità del carico di lavoro.
Individua il pool di identità per i carichi di lavoro che contiene il provider, quindi fai clic su
Espandi nodo per piscina.Individua il provider del pool di identità di lavoro da modificare, quindi fai clic sull'icona
Modifica.Modifica le informazioni del provider, poi fai clic su Salva.
gcloud
Esegui il comando
gcloud iam workload-identity-pools providers update-aws
per aggiornare un provider AWS.
Esegui il comando
gcloud iam workload-identity-pools providers update-oidc
per aggiornare un provider OIDC. È incluso Microsoft Azure.
REST
Chiama il numero projects.locations.workloadIdentityPools.providers.patch()
.
Eliminare un fornitore
Quando elimini un provider di pool di identità per i carichi di lavoro, le identità del provider perdono l'accesso alle risorse Google Cloud.
Puoi annullare l'eliminazione di un fornitore fino a 30 giorni dopo l'eliminazione. Dopo il giorno dopo 30 giorni, l'eliminazione è definitiva. Fino a provider viene eliminato definitivamente, non puoi riutilizzarne il nome durante la creazione o il provider di servizi di terze parti.
Per eliminare un provider del pool di identità di lavoro:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
Individua il pool di identità del carico di lavoro contenente il provider, quindi fai clic sull'icona
Modifica.Nel riquadro Providers (Fornitori), trova il fornitore che vuoi eliminare, quindi fai clic sulla relativa icona
Elimina.Fai clic su Elimina per eliminare il provider.
gcloud
Esegui il comando
gcloud iam workload-identity-pools providers delete
.
REST
Chiama il numero projects.locations.workloadIdentityPools.providers.delete()
.
Annullare l'eliminazione di un fornitore
Puoi recuperare un provider di pool di identità per i carichi di lavoro eliminato per un massimo di 30 giorni dopo l'eliminazione. Per annullare l'eliminazione di un provider:
Console
Nella console Google Cloud, vai alla pagina Pool di identità di carico di lavoro.
Fai clic sul pulsante di attivazione/disattivazione Mostra i pool e i provider eliminati.
Individua il pool di identità del carico di lavoro che contiene il provider, quindi fai clic sull'icona
Espandi nodo per il pool.Trova il provider di cui vuoi annullare l'eliminazione, quindi fai clic sulla relativa
Ripristina.Fai clic su Ripristina. Il provider viene ripristinato.
gcloud
Esegui il comando
gcloud iam workload-identity-pools providers undelete
.
REST
Chiama il numero projects.locations.workloadIdentityPools.providers.undelete()
.
Gestire le limitazioni per la federazione delle identità per i carichi di lavoro
Puoi utilizzare i vincoli dei criteri dell'organizzazione per e limitare le modalità di utilizzo delle risorse nella tua organizzazione Google Cloud.
Questa sezione descrive i vincoli consigliati quando utilizzi Federazione delle identità per i carichi di lavoro.
Limita la configurazione del provider di identità
In qualità di amministratore dell'organizzazione, puoi decidere con quali provider di identità la tua organizzazione può eseguire la federazione.
Per gestire i provider di identità consentiti, attiva il vincolo dell'elenco constraints/iam.workloadIdentityPoolProviders
nel criterio dell'organizzazione. Questo vincolo specifica gli URI di emittente dei fornitori consentiti. Puoi utilizzare lo
Console Google Cloud o
Google Cloud CLI per abilitare questo vincolo.
Per consentire la federazione solo da AWS, crea una singola limitazione con l'URI
https://sts.amazonaws.com
. L'esempio seguente mostra come creare questo vincolo utilizzando gcloud CLI:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.amazonaws.com --organization=ORGANIZATION_NUMBER
Puoi anche specificare quali ID account AWS hanno accesso al tuo
dell'accesso a specifiche
risorse Google Cloud. Per specificare gli ID account, utilizza il vincolo di elenco constraints/iam.workloadIdentityPoolAwsAccounts
:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \ ACCOUNT_ID --organization=ORGANIZATION_NUMBER
Per consentire la federazione solo da un provider OIDC, crea un'unica limitazione con il issuer_uri
del provider consentito. Ad esempio, quanto segue consente la federazione solo da un tenant Azure specifico:
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ https://sts.windows.net/AZURE_TENANT_ID --organization=ORGANIZATION_NUMBER
La federazione da un provider di identità SAML è un caso speciale perché le chiavi pubbliche utilizzate per convalidare l'asserzione sono fornite in fase di configurazione anziché essere recuperati direttamente dal provider di identità. È quindi possibile che un utente malintenzionato possa provare a caricare un documento di metadati SAML con l'ID entità del provider di servizi di identità della tua organizzazione, ma con una chiave pubblica per la quale ha accesso alla chiave privata. Limitare la federazione in base all'ID entità in questo scenario offre solo un'illusione di sicurezza. Per questo motivo, ti consigliamo vivamente di consentire solo la creazione di un pool Workload Identity che consenta la federazione SAML in un progetto Google Cloud gestito centralmente dalla tua organizzazione. Puoi quindi concedere alle identità esterne nel pool Workload Identity l'accesso alle risorse di tutta l'organizzazione.
Per consentire la federazione dai provider di identità SAML, crea un vincolo
consentendo la parola chiave speciale KEY_UPLOAD
.
gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \ KEY_UPLOAD --organization=ORGANIZATION_NUMBER
Puoi ripetere questi comandi per consentire la federazione da altri provider.
Per bloccare la federazione da tutti i provider:
Crea un file YAML contenente quanto segue:
constraint: constraints/iam.workloadIdentityPoolProviders listPolicy: allValues: DENY
Passa il file a
gcloud resource-manager org-policies set-policy
. :gcloud resource-manager org-policies set-policy FILE_NAME.yaml \ --organization=ORGANIZATION_NUMBER
Limita la creazione di chiavi dell'account di servizio
La federazione delle identità per i carichi di lavoro consente di accedere alle risorse Google Cloud all'esterno di Google Cloud senza utilizzare una chiave dell'account di servizio. Se non se usi le chiavi degli account di servizio per l'autenticazione, puoi ridurre i rischi disattivando durante la creazione delle chiavi.
Per disattivare la creazione di chiavi dell'account di servizio, applica il vincolo booleano iam.disableServiceAccountKeyCreation
nel criterio dell'organizzazione per la tua organizzazione. Puoi anche applicare il vincolo booleano iam.disableServiceAccountKeyUpload
, che disattiva il caricamento delle chiavi pubbliche per gli account di servizio.
Puoi utilizzare la console Google Cloud o la CLI gcloud per attivare questi limiti. Ad esempio, i seguenti comandi gcloud CLI attivano entrambi i vincoli:
gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyCreation \ --organization=ORGANIZATION_NUMBER gcloud resource-manager org-policies enable-enforce \ constraints/iam.disableServiceAccountKeyUpload \ --organization=ORGANIZATION_NUMBER
Monitora la federazione delle identità per i carichi di lavoro
Puoi utilizzare le metriche di Cloud Monitoring per monitorare gli eventi di autenticazione per i pool di identità e i provider dei tuoi carichi di lavoro. Per un elenco delle consulta le metriche IAM.
Passaggi successivi
Scopri di più sulla federazione di Workload Identity.