Questa pagina descrive la procedura generale per concedere, modificare e revocare l'accesso alle risorse che accettano le policy di autorizzazione.
In Identity and Access Management (IAM), l'accesso viene concesso tramite criteri di autorizzazione, noti anche come criteri IAM. Un criterio di autorizzazione è collegato a una risorsaGoogle Cloud . Ogni criterio di autorizzazione contiene una raccolta di associazioni di ruolo che associano una o più entità, come utenti o service account, a un ruolo IAM. Queste associazioni di ruolo concedono i ruoli specificati alle entità, sia sulla risorsa a cui è associato il criterio di autorizzazione sia su tutti i discendenti della risorsa. Per maggiori informazioni sui criteri di autorizzazione, consulta Comprensione dei criteri di autorizzazione.
Questa pagina descrive come gestire l'accesso alle risorse utilizzando la consoleGoogle Cloud , Google Cloud CLI e l'API REST. Puoi anche gestire l'accesso utilizzando le librerie client. Google Cloud
Prima di iniziare
Esamina l'elenco dei tipi di risorse che accettano i criteri di autorizzazione.
Autorizzazioni obbligatorie
Per gestire l'accesso a una risorsa, devi disporre delle autorizzazioni per ottenere la risorsa e per
ottenere e impostare il criterio di autorizzazione per la risorsa. Queste autorizzazioni hanno la seguente forma, dove SERVICE
è il nome del servizio proprietario della risorsa e RESOURCE_TYPE
è il nome del tipo di risorsa a cui vuoi gestire l'accesso:
SERVICE.RESOURCE_TYPE.get
SERVICE.RESOURCE_TYPE.getIamPolicy
SERVICE.RESOURCE_TYPE.setIamPolicy
Ad esempio, per gestire l'accesso a un'istanza Compute Engine, devi disporre delle seguenti autorizzazioni:
compute.instances.get
compute.instances.getIamPolicy
compute.instances.setIamPolicy
Per ottenere le autorizzazioni richieste, chiedi all'amministratore di concederti un ruolo predefinito o personalizzato che includa le autorizzazioni. Ad esempio, l'amministratore potrebbe concederti il ruolo Amministratore sicurezza (roles/iam.securityAdmin
), che include le autorizzazioni per gestire l'accesso a quasi tutte le risorse Google Cloud .
Visualizzare l'accesso attuale
La sezione seguente mostra come utilizzare la console Google Cloud , gcloud CLI e l'API REST per visualizzare chi ha accesso a una risorsa. Puoi anche visualizzare l'accesso utilizzando le librerie client per ottenere i criteri di autorizzazione della risorsa. Google Cloud
Console
Nella console Google Cloud , vai alla pagina che elenca la risorsa di cui vuoi visualizzare l'accesso.
Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM.
Seleziona la casella di controllo accanto alla risorsa di cui vuoi visualizzare l'accesso.
Assicurati che il riquadro informazioni sia visibile. Se non è visibile, fai clic su Mostra riquadro informazioni. La scheda Autorizzazioni del riquadro informazioni elenca tutte le entità che hanno accesso alla risorsa.
Se l'opzione Mostra autorizzazioni ereditate è attiva, l'elenco include le entità con ruoli ereditati, ovvero le entità il cui accesso deriva dai ruoli delle risorse principali anziché dai ruoli della risorsa stessa. Per ulteriori informazioni sull'ereditarietà dei criteri, consulta Ereditarietà dei criteri e gerarchia delle risorse.
gcloud
Per vedere chi ha accesso alla risorsa, recupera il criterio di autorizzazione per la risorsa. Per scoprire come interpretare le policy di autorizzazione, consulta la sezione Comprendere le policy di autorizzazione.
Per ottenere la policy di autorizzazione per la risorsa, esegui il comando get-iam-policy
per la risorsa.
Il formato di questo comando varia a seconda del tipo di risorsa a cui stai gestendo l'accesso. Per trovare il formato della risorsa, cerca il riferimento
per il comando get-iam-policy
della risorsa nella documentazione di riferimento della CLI Google Cloud. Questo riferimento è organizzato per servizio, poi per risorsa.
Ad esempio, per ottenere la policy di autorizzazione di un'istanza VM di Compute Engine, segui il formato descritto nel riferimento gcloud compute instances get-iam-policy
.
Se vuoi, aggiungi i seguenti argomenti al comando per specificare il formato ed esportare i risultati:
--format=FORMAT > PATH
Fornisci i seguenti valori:
FORMAT
: il formato desiderato per la policy. Utilizzajson
oyaml
.PATH
: il percorso di un nuovo file di output per il criterio.
Quando esegui il comando, il criterio di autorizzazione della risorsa viene stampato sulla console o esportato nel file specificato.
REST
Per vedere chi ha accesso alla tua risorsa, recupera la relativa policy di autorizzazione. Per scoprire come interpretare le policy di autorizzazione, consulta Comprendere le policy di autorizzazione.
Per ottenere la policy di autorizzazione della risorsa, utilizza il metodo getIamPolicy
della risorsa.
Il metodo HTTP, l'URL e il corpo della richiesta dipendono dalla risorsa a cui vuoi
visualizzare l'accesso. Per trovare questi dettagli, cerca il riferimento API per il servizio
proprietario della risorsa, quindi cerca il riferimento per il metodo
getIamPolicy
della risorsa. Ad esempio, il metodo HTTP, l'URL e il corpo della richiesta per un'istanza di Compute Engine sono specificati nel riferimento getIamPolicy
istanze.
La risposta per il metodo getIamPolicy
di qualsiasi risorsa contiene i criteri di autorizzazione della risorsa.
Concedi o revoca un singolo ruolo IAM
Puoi utilizzare la console Google Cloud e gcloud CLI per concedere o revocare rapidamente un singolo ruolo per una singola entità, senza modificare direttamente il criterio di autorizzazione della risorsa. I tipi comuni di entità includono account Google, service account, gruppi Google e domini.Per un elenco di tutti i tipi di principal, consulta Tipi di principal.
In genere, le modifiche ai criteri diventano effettive entro 2 minuti. Tuttavia, in alcuni casi, la propagazione delle modifiche nel sistema può richiedere almeno 7 minuti.
Se hai bisogno di aiuto per identificare il ruolo predefinito più appropriato, consulta Trovare i ruoli predefiniti giusti.
Concedere un singolo ruolo IAM
Per concedere un singolo ruolo a un'entità:
Console
Nella console Google Cloud , vai alla pagina che elenca la risorsa di cui vuoi visualizzare l'accesso.
Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM.
Seleziona la casella di controllo accanto alla risorsa per cui vuoi gestire l'accesso.
Assicurati che il riquadro informazioni sia visibile. Se non è visibile, fai clic su Mostra riquadro informazioni.
Seleziona un'entità a cui assegnare un ruolo:
Per concedere un ruolo a un'entità che ha già altri ruoli per la risorsa, individua una riga contenente l'entità, fai clic su
Modifica entità in quella riga e fai clic su Aggiungi un altro ruolo.Per concedere un ruolo a un'entità che non ha già altri ruoli nella risorsa, fai clic su
Aggiungi entità, quindi inserisci un identificatore per l'entità, ad esempiomy-user@example.com
o//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
.
Seleziona un ruolo da concedere dall'elenco a discesa. Per le best practice di sicurezza, scegli un ruolo che includa solo le autorizzazioni necessarie all'entità.
(Facoltativo) Aggiungi una condizione al ruolo.
Fai clic su Salva. All'entità viene concesso il ruolo sulla risorsa.
gcloud
Per concedere rapidamente un ruolo a un'entità, esegui il comando add-iam-policy-binding
.
Il formato di questo comando varia a seconda del tipo di risorsa a cui stai gestendo l'accesso. Per trovare il formato della risorsa, cerca il riferimento
per il comando add-iam-policy-binding
della risorsa nella documentazione di riferimento della CLI Google Cloud. Questo riferimento è organizzato per servizio, poi per risorsa.
Ad esempio, per concedere a un principal un ruolo su un'istanza Compute Engine,
segui il formato descritto nel riferimento gcloud compute instances add-iam-policy-
binding
.
Revocare un singolo ruolo IAM
Per revocare un singolo ruolo da un'entità, procedi nel seguente modo:
Console
Nella Google Cloud console, vai alla pagina che elenca la risorsa da cui vuoi revocare l'accesso.
Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM:
Seleziona la casella di controllo accanto alla risorsa per cui vuoi gestire l'accesso.
Assicurati che il riquadro informazioni sia visibile. Se non è visibile, fai clic su Mostra riquadro informazioni.
Individua la riga contenente l'entità di cui vuoi revocare l'accesso. Poi fai clic su
Modifica entità in quella riga.Fai clic sul pulsante Elimina
per il ruolo che vuoi revocare, quindi fai clic su Salva.
gcloud
Per revocare rapidamente un ruolo da un'entità, esegui il comando remove-iam-policy-binding
.
Il formato di questo comando varia a seconda del tipo di risorsa a cui stai gestendo l'accesso. Per trovare il formato della risorsa, cerca il riferimento
per il comando remove-iam-policy-binding
della risorsa nella documentazione di riferimento della CLI Google Cloud. Questo riferimento è organizzato per servizio, poi per risorsa.
Ad esempio, per concedere a un principal un ruolo su un'istanza Compute Engine,
segui il formato descritto nel riferimento gcloud compute instances
remove-iam-policy-binding
.
Concedere o revocare più ruoli IAM utilizzando la console Google Cloud
Puoi utilizzare la console Google Cloud per concedere e revocare più ruoli per una singola entità:
Nella console Google Cloud , vai alla pagina che elenca la risorsa di cui vuoi visualizzare l'accesso.
Ad esempio, per gestire l'accesso a un'istanza Compute Engine, vai alla pagina Istanze VM.
Seleziona la casella di controllo accanto alla risorsa per cui vuoi gestire l'accesso.
Se il riquadro informazioni non è visibile, fai clic su Mostra riquadro informazioni.
Seleziona l'entità di cui vuoi modificare i ruoli:
Per modificare i ruoli di un'entità che ha già ruoli nella risorsa, individua una riga contenente l'entità, fai clic su
Modifica entità in quella riga e fai clic su Aggiungi un altro ruolo.Per concedere ruoli a un'entità che non ha ruoli esistenti nella risorsa, fai clic su
Aggiungi entità, quindi inserisci un identificatore per l'entità, ad esempiomy-user@example.com
o//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
.
Modifica i ruoli dell'entità:
- Per concedere un ruolo a un principal che non ha ruoli esistenti nella risorsa, fai clic su Seleziona un ruolo, quindi seleziona un ruolo da concedere dall'elenco a discesa.
- Per concedere un ruolo aggiuntivo al principal, fai clic su Aggiungi un altro ruolo, poi seleziona un ruolo da concedere dall'elenco a discesa.
- Per sostituire uno dei ruoli del principale con un ruolo diverso, fai clic sul ruolo esistente, quindi scegli un ruolo diverso da concedere dall'elenco a discesa.
- Per revocare uno dei ruoli dell'entità, fai clic sul pulsante Elimina per ogni ruolo da revocare.
Puoi anche aggiungere una condizione a un ruolo, modificare la condizione di un ruolo o rimuovere la condizione di un ruolo.
Fai clic su Salva.
Concedere o revocare più ruoli IAM a livello di programmazione
Per apportare modifiche all'accesso su larga scala che comportano la concessione e la revoca di più ruoli per più entità, utilizza il pattern read-modify-write per aggiornare i criteri di autorizzazione della risorsa:
- Leggi la policy di autorizzazione corrente chiamando
getIamPolicy()
. - Modifica il criterio di autorizzazione mediante un editor di testo o in modo programmatico per aggiungere o rimuovere eventuali entità o associazioni di ruoli.
- Scrivi la policy di autorizzazione aggiornata chiamando
setIamPolicy()
.
Questa sezione mostra come utilizzare l'interfaccia a riga di comando gcloud e l'API REST per aggiornare il criterio di autorizzazione. Puoi anche aggiornare il criterio di autorizzazione utilizzando le librerie clientGoogle Cloud .
In genere, le modifiche ai criteri diventano effettive entro 2 minuti. Tuttavia, in alcuni casi, la propagazione delle modifiche nel sistema può richiedere almeno 7 minuti.
Ottieni il criterio di autorizzazione attuale
gcloud
Per ottenere la policy di autorizzazione per la risorsa, esegui il comando get-iam-policy
per la risorsa.
Il formato di questo comando varia a seconda del tipo di risorsa a cui stai gestendo l'accesso. Per trovare il formato della risorsa, cerca il riferimento
per il comando get-iam-policy
della risorsa nella documentazione di riferimento della CLI Google Cloud. Questo riferimento è organizzato per servizio, poi per risorsa.
Ad esempio, per ottenere la policy di autorizzazione di un'istanza VM di Compute Engine, segui il formato descritto nel riferimento gcloud compute instances get-iam-policy
.
Se vuoi, aggiungi i seguenti argomenti al comando per specificare il formato ed esportare i risultati:
--format=FORMAT > PATH
Fornisci i seguenti valori:
FORMAT
: Il formato desiderato per la policy di autorizzazione. Utilizzajson
oyaml
.PATH
: il percorso di un nuovo file di output per la policy consenti.
Quando esegui il comando, il criterio di autorizzazione della risorsa viene stampato sulla console o esportato nel file specificato.
REST
Per ottenere la policy di autorizzazione della risorsa, utilizza il metodo getIamPolicy
della risorsa.
Il metodo HTTP, l'URL e il corpo della richiesta dipendono dalla risorsa a cui vuoi
visualizzare l'accesso. Per trovare questi dettagli, cerca il riferimento API per il servizio
proprietario della risorsa, quindi cerca il riferimento per il metodo
getIamPolicy
della risorsa. Ad esempio, il metodo HTTP, l'URL e il corpo della richiesta per un'istanza VM di Compute Engine sono specificati nel riferimento getIamPolicy
instances.
La risposta per il metodo getIamPolicy
di qualsiasi risorsa contiene i criteri di autorizzazione della risorsa. Salva la risposta in un file del tipo appropriato (json
o
yaml
).
Modifica della policy di autorizzazione
Modifica la copia locale del criterio di autorizzazione della risorsa in modo programmatico o mediante un editor di testo per riflettere i ruoli che vuoi concedere o revocare.
Per assicurarti di non sovrascrivere altre modifiche, non modificare o rimuovere il campo etag
del criterio di autorizzazione. Il campo etag
identifica lo stato attuale
della policy di autorizzazione. Quando imposti il criterio di autorizzazione aggiornato,
IAM confronta il valore etag
nella richiesta con il valore
etag
esistente e scrive il criterio di autorizzazione solo se i valori corrispondono.
Per modificare i ruoli concessi da una policy di autorizzazione, devi modificare le associazioni di ruolo nella policy di autorizzazione. Le associazioni di ruoli hanno il seguente formato:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
I segnaposto hanno i seguenti valori:
ROLE_NAME
: il nome del ruolo che vuoi concedere. Utilizza uno dei seguenti formati:- Ruoli predefiniti:
roles/SERVICE.IDENTIFIER
- Ruoli personalizzati a livello di progetto:
projects/PROJECT_ID/roles/IDENTIFIER
- Ruoli personalizzati a livello di organizzazione:
organizations/ORG_ID/roles/IDENTIFIER
Per un elenco dei ruoli predefiniti, consulta la sezione Informazioni sui ruoli.
- Ruoli predefiniti:
PRINCIPAL_1
,PRINCIPAL_2
,...PRINCIPAL_N
: identificatori dei principali a cui vuoi concedere il ruolo.Gli identificatori dell'entità in genere hanno il seguente formato:
PRINCIPAL-TYPE:ID
. Ad esempio,user:my-user@example.com
oprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com
. Per un elenco completo dei valori che può assumerePRINCIPAL
, consulta Identificatori principali.Per il tipo di entità
user
, il nome di dominio nell'identificatore deve essere un dominio Google Workspace o Cloud Identity. Per scoprire come configurare un dominio Cloud Identity, consulta la panoramica di Cloud Identity.CONDITIONS
: (Facoltativo). Qualsiasi condizione che specifica quando verrà concesso l'accesso.
Concedere un ruolo
Per concedere ruoli alle tue entità, modifica le associazioni dei ruoli nel criterio di autorizzazione. Per scoprire quali ruoli puoi concedere, consulta la sezione Informazioni sui ruoli oppure visualizza i ruoli concedibili per la risorsa. Se hai bisogno di aiuto per identificare i ruoli predefiniti più appropriati, consulta Trovare i ruoli predefiniti giusti.
Se vuoi, puoi utilizzare le condizioni per concedere i ruoli solo quando vengono soddisfatti determinati requisiti.
Per concedere un ruolo già incluso nella policy di autorizzazione, aggiungi l'entità a un'associazione di ruolo esistente:
gcloud
Modifica la policy di autorizzazione aggiungendo l'entità a un'associazione di ruolo esistente. Tieni presente che questa modifica non entrerà in vigore finché non imposterai le norme di autorizzazione aggiornate.
Ad esempio, supponiamo che la policy di autorizzazione contenga il seguente binding del ruolo, che
concede il ruolo diAmministratore istanze Computee (roles/compute.instanceAdmin
) a
Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Per concedere lo stesso ruolo a Raha, aggiungi l'identificatore dell'entità di Raha all'associazione di ruolo esistente:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Modifica la policy di autorizzazione aggiungendo l'entità a un'associazione di ruolo esistente. Tieni presente che questa modifica non entrerà in vigore finché non imposterai le norme di autorizzazione aggiornate.
Ad esempio, supponiamo che la policy di autorizzazione contenga il seguente binding del ruolo, che
concede il ruolo diAmministratore istanze Computee (roles/compute.instanceAdmin
) a
Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Per concedere lo stesso ruolo a Raha, aggiungi l'identificatore dell'entità di Raha all'associazione di ruolo esistente:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Per concedere un ruolo non ancora incluso nelle norme di autorizzazione, aggiungi una nuova associazione di ruolo:
gcloud
Modifica la policy di autorizzazione aggiungendo una nuova associazione di ruolo che concede il ruolo all'entità. Questa modifica non avrà effetto finché non imposterai il criterio di autorizzazione aggiornato.
Ad esempio, per concedere il ruolo Amministratore bilanciatore del carico Compute
(roles/compute.loadBalancerAdmin
) a Raha, aggiungi il seguente
binding del ruolo all'array bindings
per la policy di autorizzazione:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
REST
Modifica la policy di autorizzazione aggiungendo una nuova associazione di ruolo che concede il ruolo all'entità. Questa modifica non avrà effetto finché non imposterai il criterio di autorizzazione aggiornato.
Ad esempio, per concedere il ruolo Amministratore bilanciatore del carico Compute
(roles/compute.loadBalancerAdmin
) a Raha, aggiungi il seguente
binding del ruolo all'array bindings
per la policy di autorizzazione:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
Revocare un ruolo
Per revocare un ruolo, rimuovi l'entità dall'associazione di ruolo. Se non sono presenti altre entità nell'associazione di ruolo, rimuovi l'intera associazione di ruolo.
gcloud
Revoca un ruolo modificando il criterio di autorizzazione JSON o YAML restituito dal comando
get-iam-policy
. Questa modifica non avrà effetto finché non
imposterai il criterio di autorizzazione aggiornato.
Per revocare un ruolo da un'entità, elimina le entità o le associazioni desiderate
dall'array bindings
per il criterio di autorizzazione.
REST
Revoca un ruolo modificando il criterio di autorizzazione JSON o YAML restituito dal comando
get-iam-policy
. Questa modifica non avrà effetto finché non
imposterai il criterio di autorizzazione aggiornato.
Per revocare un ruolo da un'entità, elimina le entità o le associazioni desiderate
dall'array bindings
per il criterio di autorizzazione.
Impostare la norma di autorizzazione
Dopo aver modificato la policy di autorizzazione per concedere e revocare i ruoli desiderati, chiama
setIamPolicy()
per apportare gli aggiornamenti.
gcloud
Per impostare la policy di autorizzazione per la risorsa, esegui il comando set-iam-policy
per la risorsa.
Il formato di questo comando varia a seconda del tipo di risorsa a cui stai gestendo l'accesso. Per trovare il formato della risorsa, cerca il riferimento
per il comando set-iam-policy
della risorsa nella documentazione di riferimento della CLI Google Cloud. Questo riferimento è organizzato per servizio, poi per risorsa.
Ad esempio, per ottenere la policy di autorizzazione di un'istanza VM di Compute Engine, segui il formato descritto nel riferimento gcloud compute instances set-iam-policy
.
La risposta al comando set-iam-policy
di qualsiasi risorsa contiene il criterio di autorizzazione aggiornato della risorsa.
REST
Per impostare la policy di autorizzazione della risorsa, utilizza il metodo setIamPolicy
della risorsa.
Il metodo HTTP, l'URL e il corpo della richiesta dipendono dalla risorsa a cui vuoi
visualizzare l'accesso. Per trovare questi dettagli, cerca il riferimento API per il servizio
proprietario della risorsa, quindi cerca il riferimento per il metodo
setIamPolicy
della risorsa. Ad esempio, il metodo HTTP, l'URL e il corpo della richiesta per un'istanza VM di Compute Engine sono specificati nel riferimento setIamPolicy
instances.
La risposta per il metodo setIamPolicy
di qualsiasi risorsa contiene il criterio di autorizzazione aggiornato della risorsa.
Passaggi successivi
- Scopri come gestire l'accesso a progetti, cartelle e organizzazioni o come gestire l'accesso agli account di servizio.
- Scopri come scegliere i ruoli predefiniti più appropriati.
- Utilizza lo strumento per la risoluzione dei problemi relativi ai criteri per capire perché un utente ha o non ha accesso a una risorsa o l'autorizzazione a chiamare un'API.
- Scopri come visualizzare i ruoli che puoi concedere per una determinata risorsa.
- Scopri come rendere condizionale l'accesso di un principal con le associazioni di ruoli condizionali.
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Inizia gratuitamente