In Identity and Access Management (IAM) controlli l'accesso per le entità. Un principal rappresenta una o più identità autenticate su Google Cloud.
Utilizzare i principal nei criteri
Per utilizzare i principal nelle policy:
Configura le identità che Google Cloud può riconoscere. La configurazione delle identità è il processo di creazione di identità che Google Cloud possono riconoscere. Puoi configurare le identità per gli utenti e per i carichi di lavoro.
Per scoprire come configurare le identità, consulta quanto segue:
- Per scoprire come configurare le identità per gli utenti, consulta Identità per gli utenti.
- Per scoprire come configurare le identità per i workload, consulta Identità per i workload.
Determina l'identificatore principale che utilizzerai. L'identificatore dell'entità è il modo in cui fai riferimento a un'entità nei tuoi criteri. Questo identificatore può fare riferimento a una singola identità o a un gruppo di identità.
Il formato che utilizzi per l'identificatore dell'entità dipende da quanto segue:
- Il tipo di entità
- Il tipo di policy in cui vuoi includere l'entità
Per visualizzare il formato dell'identificatore principale per ogni tipo di principal in ogni tipo di norma, consulta Identificatori principal.
Una volta noto il formato dell'identificatore, puoi determinare l'identificatore univoco dell'entità in base agli attributi dell'entità, ad esempio l'indirizzo email.
Includi l'identificatore dell'entità nella norma. Aggiungi il tuo principale alle tue norme, seguendo il formato delle norme.
Per scoprire di più sui diversi tipi di criteri in IAM, consulta Tipi di criteri.
Supporto per i tipi di entità
Ogni tipo di criterio IAM supporta un sottoinsieme dei tipi di entità supportati da IAM. Per visualizzare i tipi di entità supportati per ogni tipo di criterio, consulta Identificatori delle entità.
Tipi di entità
La tabella seguente descrive brevemente i diversi tipi di principal supportati da IAM. Per una descrizione dettagliata ed esempi di come potrebbe apparire un tipo di entità se utilizzato in una policy, fai clic sul nome del tipo di entità nella tabella.
Tipo di entità | Descrizione | Singola entità o set di entità | Gestito da Google o federato | Supporto del tipo di norma |
---|---|---|---|---|
Account Google | Account utente che rappresentano una persona che interagisce con le API e i servizi Google. | Entità singola | Gestita da Google |
I seguenti tipi di norme supportano gli Account Google:
I seguenti tipi di norme non supportano gli Account Google:
|
Service account | Un account utilizzato da un workload della macchina anziché da una persona. | Entità singola | Gestita da Google |
I seguenti tipi di policy supportano i service account:
I seguenti tipi di norme non supportano gli account di servizio:
|
Google Gruppi | Una raccolta denominata di utenti umani o automatici con Account Google. |
Set di entità che può contenere:
|
Gestita da Google |
I seguenti tipi di norme supportano i gruppi Google:
I seguenti tipi di norme non supportano i gruppi Google:
|
Domini | Un account Google Workspace o un dominio Cloud Identity che rappresenta un gruppo virtuale. Il gruppo può contenere sia utenti umani sia service account. |
Set di entità che può contenere i seguenti tipi di entità:
|
Gestita da Google |
I seguenti tipi di criteri supportano i domini:
|
allAuthenticatedUsers |
Un identificatore speciale che rappresenta tutti gli account di servizio e gli utenti umani su internet che sono stati autenticati con un Account Google. |
Set di entità che può contenere i seguenti tipi di entità:
|
Gestita da Google |
I seguenti tipi di policy supportano
I seguenti tipi di norme non supportano
|
allUsers |
Un identificatore speciale che rappresenta chiunque navighi su internet, autenticato e non autenticato. |
Set di entità che può contenere i seguenti tipi di entità:
|
Entrambi |
I seguenti tipi di norme supportano
I seguenti tipi di norme non supportano
|
Una singola identità in un pool di identità per la forza lavoro | Un utente umano con un'identità gestita da un IdP esterno e federata utilizzando la federazione delle identità per la forza lavoro. | Entità singola | Confederato |
I seguenti tipi di criteri supportano una singola identità in un pool di identità per la forza lavoro:
|
Un insieme di entità in un pool di identità per la forza lavoro | Un insieme di utenti umani con identità gestite da un IdP esterno e federate utilizzando la federazione delle identità per la forza lavoro. | Set di entità che contiene identità della forza lavoro. | Confederato |
I seguenti tipi di policy supportano un insieme di entità in un pool di identità per la forza lavoro:
|
Una singola entità in un pool di identità del workload | Un workload (o utente macchina) con un'identità gestita da un IdP esterno e federata utilizzando la federazione delle identità per i workload. | Entità singola | Confederato |
I seguenti tipi di policy supportano una singola entità in un pool di identità del workload:
|
Un insieme di entità in un pool di identità del workload | Un insieme di workload (o utenti macchina) con identità gestite da un IdP esterno e federate utilizzando la federazione delle identità per i carichi di lavoro. | Set di entità che contiene le identità del carico di lavoro | Confederato |
I seguenti tipi di policy supportano un insieme di entità in un pool di identità del workload:
|
Un insieme di pod Google Kubernetes Engine | Un carico di lavoro (o utente macchina) in esecuzione e federato tramite GKE. | Set di entità che può contenere una o più identità federate del carico di lavoro | Confederato |
I seguenti tipi di norme supportano i pod GKE:
I seguenti tipi di norme non supportano i pod GKE:
|
Set di entità di Resource Manager | Un insieme di utenti umani o automatici associati a risorse come progetti, cartelle e organizzazioni. Google Cloud |
Set di entità che può contenere i seguenti tipi di entità:
|
Entrambi |
I seguenti tipi di policy supportano i set di entità Resource Manager:
I seguenti tipi di policy non supportano i set di entità Resource Manager:
|
Le sezioni seguenti descrivono in modo più dettagliato questi tipi principali.
Account Google
Un Account Google rappresenta uno sviluppatore, un amministratore o un'altra persona
che interagisce con Google Cloud utilizzando un account creato con
Google. Qualsiasi indirizzo email associato a un Account Google, chiamato anche
account utente gestito, può essere utilizzato come principale. Sono inclusi gmail.com
indirizzi email e indirizzi email con altri domini.
Gli esempi riportati di seguito mostrano come identificare un Account Google in diversi tipi di policy:
- Norme di autorizzazione:
user:alex@example.com
- Criteri di negazione:
principal://goog/subject/alex@example.com
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Nelle tue norme di autorizzazione e negazione, gli alias email associati a un Account Google o a un account utente gestito vengono sostituiti automaticamente con l'indirizzo email principale. Ciò significa che il criterio mostra l'indirizzo email principale dell'utente quando concedi l'accesso a un alias email.
Per maggiori informazioni sulla configurazione degli Account Google, vedi Account Cloud Identity o Google Workspace.
Account di servizio
Un account di servizio è un account per un'applicazione o un workload di computing anziché per un singolo utente finale. Quando esegui un codice ospitato su Google Cloud, specifichi un account di servizio da utilizzare come identità per la tua applicazione. Puoi creare tutti i service account necessari per rappresentare i diversi componenti logici della tua applicazione.
I seguenti esempi mostrano come identificare un account di servizio in diversi tipi di policy:
- Norme di autorizzazione:
serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
- Criteri di negazione:
principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Per ulteriori informazioni sui service account, consulta Panoramica dei service account.
Gruppi Google
Un gruppo Google è una raccolta denominata di Account Google. Ogni gruppo Google ha un indirizzo email univoco associato al gruppo. Puoi trovare l'indirizzo email associato a un gruppo Google facendo clic su Informazioni nella home page di qualsiasi gruppo Google. Per saperne di più su Google Gruppi, visita la home page di Google Gruppi.
I gruppi Google sono un modo comodo per applicare i controlli dell'accesso a una raccolta di principal. Puoi concedere e modificare i controlli di accesso per un intero gruppo contemporaneamente, anziché concederli o modificarli uno alla volta per singoli principal. Puoi anche aggiungere o rimuovere entità da un gruppo Google anziché aggiornare una policy di autorizzazione per aggiungere o rimuovere entità.
I gruppi Google non dispongono di credenziali di accesso e non puoi utilizzarli per stabilire l'identità per richiedere l'accesso a una risorsa.
I seguenti esempi mostrano come identificare un gruppo Google in diversi tipi di policy:
- Norme di autorizzazione:
group:my-group@example.com
- Criteri di negazione:
principalSet://goog/group/my-group@example.com
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Per scoprire di più sull'utilizzo dei gruppi per controllo dell'accesso dell'accesso, consulta Best practice per l'utilizzo di Google Gruppi.
Domini
I domini possono esistere come account Google Workspace o domini Cloud Identity. Sono fondamentalmente uguali perché entrambi rappresentano un gruppo virtuale di tutti gli Account Google che contengono. L'unica differenza è che gli utenti del dominio Cloud Identity non hanno accesso alle applicazioni e alle funzionalità di Google Workspace.
Gli account Google Workspace e i domini Cloud Identity sono
associati al nome di dominio internet della tua organizzazione, ad esempio
example.com
.
Quando crei un Account Google per un nuovo utente, ad esempio username@example.com
,
questo account viene aggiunto al gruppo virtuale per il tuo
account Google Workspace o dominio Cloud Identity.
Come i gruppi Google, i domini non possono essere utilizzati per stabilire l'identità, ma consentono una comoda gestione delle autorizzazioni.
I seguenti esempi mostrano come identificare un dominio in diversi tipi di policy:
- Norme di autorizzazione:
domain:example.com
- Criteri di negazione:
principalSet://goog/cloudIdentityCustomerId/C01Abc35
- Policy di Principal Access Boundary:
//iam.googleapis.com/locations/global/workspace/C01Abc35
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Per saperne di più su Cloud Identity, consulta Informazioni su Cloud Identity.
Nelle norme di autorizzazione e negazione, i domini secondari vengono sostituiti automaticamente con il dominio principale. Ciò significa che la policy mostra il dominio principale quando concedi l'accesso a un dominio secondario.
allAuthenticatedUsers
Il valore allAuthenticatedUsers
è un identificatore speciale che rappresenta tutti
gli account di servizio e tutti gli utenti su internet che si sono autenticati con un
Account Google. Questo identificatore include gli account non collegati a un
account Google Workspace o a un dominio Cloud Identity, ad esempio
gli account Gmail personali. Gli utenti non autenticati, come i visitatori
anonimi, non sono inclusi.
Questo tipo di principal non include le identità federate, che sono gestite da
provider di identità (IdP) esterni. Se utilizzi la federazione delle identità per la forza lavoro o la federazione delle identità per i carichi di lavoro, non utilizzare allAuthenticatedUsers
. Utilizza invece uno dei seguenti metodi:
- Per includere gli utenti di tutti gli IdP, utilizza
allUsers
. - Per includere utenti di IdP esterni specifici, utilizza l'identificatore per tutte le identità in un pool di identità della forza lavoro o tutte le identità in un pool di identità del workload.
Alcuni tipi di risorse non supportano questo tipo di entità.
allUsers
Il valore allUsers
è un identificatore speciale che rappresenta chiunque si trovi su internet, inclusi gli utenti autenticati e non autenticati.
Alcuni tipi di risorse non supportano questo tipo di entità.
I seguenti esempi mostrano l'aspetto dell'identificatore allUsers
in
diversi tipi di policy:
- Policy di autorizzazione sui tipi di risorse supportati:
allUsers
- Criteri di negazione:
principalSet://goog/public:all
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Identità federate in un pool di identità della forza lavoro
Un pool di identità della forza lavoro è un insieme di identità utente gestite da un IdP esterno e federate utilizzando la federazione delle identità per la forza lavoro. Puoi fare riferimento ai principal in questi pool nei seguenti modi:
- Una singola identità in un pool di identità della forza lavoro
- Tutte le identità della forza lavoro in un gruppo specificato
- Tutte le identità della forza lavoro con un valore di attributo specifico
- Tutte le identità in un pool di identità della forza lavoro
I seguenti esempi mostrano come identificare i pool di identità della forza lavoro federata in diversi tipi di policy:
- Un singolo principale nelle norme di autorizzazione:
principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
- Un insieme di entità nelle policy di negazione:
principalSet://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/group/administrators-group@altostrat.com
- Policy di Principal Access Boundary:
//iam.googleapis.com/locations/global/workforcePools/example-workforce-pool
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Identità federate in un pool di identità del workload
Un pool di identità del workload è un insieme di identità del workload gestite da un IdP esterno e federate utilizzando la federazione delle identità per i carichi di lavoro. Puoi fare riferimento ai principal in questi pool nei seguenti modi:
- Una singola identità in un pool di identità del workload
- Tutte le identità del workload in un gruppo specificato
- Tutte le identità del workload con un valore di attributo specifico
- Tutte le identità in un pool di identità del workload
I seguenti esempi mostrano come identificare i pool di identità dei carichi di lavoro federati in diversi tipi di policy:
- Un singolo principale nelle norme di autorizzazione:
principal://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/subject/raha@altostrat.com
- Un gruppo di entità nelle norme di negazione:
principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/group/administrators-group@altostrat.com
- Policy di Principal Access Boundary:
//iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/example-workload-pool
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Pod GKE
I workload in esecuzione su GKE utilizzano Workload Identity Federation for GKE per accedere ai servizi Google Cloud . Per ulteriori informazioni sugli identificatori principali per i pod GKE, consulta Fare riferimento alle risorse Kubernetes nelle policy IAM.
L'esempio seguente mostra come identificare tutti i pod GKE in un cluster specifico in una policy di autorizzazione:
principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/123456789012.svc.id.goog/kubernetes.cluster/https://container.googleapis.com/v1/projects/123456789012/locations/global/clusters/example-gke-cluster
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Set di entità Resource Manager
Ogni risorsa Resource Manager (progetti, cartelle e organizzazioni) è associata a un insieme di entità. Quando crei associazioni di policy di Principal Access Boundary, puoi utilizzare il set di entità per una risorsa Resource Manager per fare riferimento a tutte le entità associate a quella risorsa.
I set di entità per le risorse Resource Manager contengono le seguenti entità:
- Set di entità progetto: tutti i service account e i pool di identità per i carichi di lavoro nel progetto specificato.
- Set di entità della cartella: tutti i service account e tutti i pool di identità per i carichi di lavoro in qualsiasi progetto della cartella specificata.
Set di entità organizzazione: contiene le seguenti identità:
- Tutte le identità in tutti i domini associati al tuo ID cliente Google Workspace
- Tutti i pool di identità della forza lavoro nella tua organizzazione
- Tutti i service account e i pool di identità del workload in qualsiasi progetto dell'organizzazione
L'esempio seguente mostra come identificare il set di entità di un progetto impostato in un criterio di Principal Access Boundary per il set di entità di un progetto:
//cloudresourcemanager.googleapis.com/projects/example-project
Per scoprire di più sui formati degli identificatori delle entità, consulta Identificatori delle entità.
Passaggi successivi
- Scopri di più sui tipi di policy supportati da IAM
- Concedi a un'entità un ruolo in un progetto, una cartella o un'organizzazione Resource Manager