Prima di concedere un ruolo IAM (Gestione di identità e accessi) a un utente per una risorsa, probabilmente vuoi sapere quali ruoli sono disponibili per la concessione in una determinata risorsa.
Prima di iniziare
-
Attiva IAM API.
Ruoli obbligatori
Per ottenere l'autorizzazione necessaria per elencare i ruoli assegnabili, chiedi all'amministratore di concederti il ruolo IAM Revisore sicurezza (roles/iam.securityReviewer
) nella risorsa per cui vuoi elencare i ruoli assegnabili.
Per ulteriori informazioni sulla concessione dei ruoli, consulta
Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni getIamPolicy
per tutti i tipi di risorse. Per elencare i ruoli assegnabili, devi avere l'autorizzazione getIamPolicy
per la risorsa in cui vuoi elencare i ruoli assegnabili, ad esempio per elencare i ruoli assegnabili per un progetto, devi disporre dell'autorizzazione resourcemanager.projects.getIamPolicy
.
Potresti anche essere in grado di ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Informazioni sui ruoli assegnabili
Un ruolo è assegnabile sopra o sopra una risorsa se contiene autorizzazioni per il tipo di risorsa in questione. Ad esempio, il ruolo storage.admin
concede le autorizzazioni per
le API storage.buckets.get
e storage.objects.get
, quindi è assegnabile
ai tipi di risorse bucket di archiviazione e oggetti di archiviazione.
Puoi anche concedere i ruoli "sopra" ai tipi di risorse per cui sono definite le relative autorizzazioni. In altre parole, i ruoli per le risorse di livello inferiore possono essere concessi su una risorsa di livello superiore nella gerarchia delle risorse di Google Cloud. Ad esempio, il ruolo storage.admin
può essere concesso anche a livello di progetto o organizzazione, oltre ai bucket di archiviazione.
Le autorizzazioni concesse da un ruolo influiscono solo sulle risorse al livello specificato o al livello inferiore; non influiscono sulle risorse di livello superiore o peer. Inoltre, quando viene concesso un ruolo su una risorsa, vengono concesse solo le autorizzazioni applicabili a tale risorsa, indipendentemente dal nome, dalla descrizione o dalle altre autorizzazioni del ruolo. Ad esempio, se assegni il ruolo resourcemanager.organizationAdmin
(che concede l'autorizzazione resourcemanager.projects.list
) a un utente a livello di progetto,
le autorizzazioni verranno concesse solo per quel progetto specifico. Non consentirà loro di elencare o amministrare tutti i progetti nell'organizzazione.
Allo stesso modo, l'assegnazione del ruolo compute.admin
su una specifica istanza di Compute Engine concede solo le autorizzazioni per quell'istanza, non altre nel progetto.
Elenco dei ruoli assegnabili
Prima di elencare i ruoli assegnabili, assicurati che il servizio sia stato abilitato nel progetto. Se un servizio non è stato abilitato, i suoi ruoli non verranno restituiti.
Console
In Cloud Console, vai alla pagina IAM.
Fai clic sul menu a discesa "Seleziona un progetto" nella parte superiore della pagina.
Seleziona il progetto o l'organizzazione di cui vuoi visualizzare i ruoli.
Fai clic su Aggiungi.
Inserisci l'indirizzo email, il dominio o un altro identificatore dell'entità in Entità.
Il menu a discesa Seleziona un ruolo mostra tutti i ruoli (compresi quelli personalizzati) che puoi concedere all'entità in questa risorsa.
gcloud
Utilizza il comando gcloud iam list-grantable-roles
per restituire un elenco di tutti i ruoli che possono essere applicati a una determinata risorsa.
gcloud iam list-grantable-roles full-resource-name
A seconda della risorsa desiderata, può essere restituito un numero elevato di ruoli. Per limitare i risultati, puoi specificare un'espressione di filtro.
L'output avrà il seguente aspetto:
description: Full control of all Compute Engine resources.
name: roles/compute.admin
title: Compute Admin
---
description: Full control of Compute Engine instance resources.
name: roles/compute.instanceAdmin
title: Compute Instance Admin
# Additional results here...
REST
Il metodo
roles.queryGrantableRoles
restituisce un elenco di tutti i ruoli assegnabili in una risorsa.
Prima di utilizzare uno qualsiasi dei dati della richiesta, effettua le seguenti sostituzioni:
full-resource-name
: un URI composto dal nome del servizio e dal percorso della risorsa. Ad esempio, consulta la sezione Nomi completi delle risorse.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
Corpo JSON richiesta:
{ "fullResourceName": "full-resource-name" }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "roles": [ { "name": "roles/compute.admin", "title": "Compute Admin", "description": "Full control of all Compute Engine resources." }, { "name": "roles/compute.instanceAdmin", "title": "Compute Instance Admin (beta)", "description": "Full control of Compute Engine instance resources." } ] }
C++
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta le librerie client IAM. Per maggiori informazioni, consulta la documentazione di riferimento dell'API IAM C++.
C#
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta le librerie client IAM. Per maggiori informazioni, consulta la documentazione di riferimento dell'API IAM C# .
Go
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta le librerie client IAM. Per maggiori informazioni, consulta la documentazione di riferimento dell'API IAM Go.
Java
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta le librerie client IAM. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java IAM.
Python
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta le librerie client IAM. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python IAM.
Negli esempi precedenti, il nome completo della risorsa è un URI senza schema composto da un nome di servizio API compatibile con DNS e da un percorso della risorsa.
Ad esempio, per restituire tutti i ruoli assegnabili su un progetto, utilizza:
//cloudresourcemanager.googleapis.com/projects/project-id
Le risorse di livello inferiore hanno un nome completo e più dettagliato. Ad esempio, utilizza questo comando per restituire tutti i ruoli assegnabili su un'istanza di Compute Engine:
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
Passaggi successivi
- Scopri i ruoli IAM disponibili.
- Scopri come scegliere i ruoli predefiniti più appropriati.
- Scopri come concedere, modificare e revocare l'accesso di un'entità.
- Consulta esempi di nomi di risorse per diversi tipi di risorse.