Prima di concedere a un utente un ruolo di Identity and Access Management (IAM) per una risorsa, potrebbe essere utile sapere quali ruoli sono disponibili da concedere per 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
) per la risorsa per cui vuoi elencare i ruoli assegnabili.
Per saperne di più sulla concessione dei ruoli, vedi Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni getIamPolicy
per tutti i tipi di risorse. Per elencare i ruoli assegnabili, devi disporre dell'autorizzazione getIamPolicy
per la risorsa per cui vuoi elencare i ruoli assegnabili. Ad esempio, per elencare i ruoli assegnabili per un progetto è necessaria l'autorizzazione resourcemanager.projects.getIamPolicy
.
Potresti anche essere in grado di ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Informazioni sui ruoli assegnabili
È possibile concedere un ruolo sopra una risorsa se questa contiene autorizzazioni per quel tipo di risorsa. Ad esempio, il ruolo storage.admin
concede le autorizzazioni alle
API storage.buckets.get
e storage.objects.get
, pertanto è assegnabile
ai tipi di risorse Bucket Storage e Oggetti Storage.
I ruoli possono anche essere concessi "sopra" i tipi di risorse per cui sono definite le relative autorizzazioni. In altre parole, i ruoli per le risorse di livello inferiore possono essere concessi
per una risorsa con un livello superiore nella gerarchia delle risorse di Google Cloud. Ad esempio, il ruolo storage.admin
può essere concesso anche a livello di progetto o di organizzazione, oltre ai bucket di archiviazione.
Le autorizzazioni concesse da un ruolo interessano solo le risorse al livello specificato o inferiore; non interessano le risorse di livello superiore o peer. Inoltre, quando viene concesso un ruolo per una risorsa, vengono concesse solo le autorizzazioni applicabili alla risorsa specificata, indipendentemente dal nome, dalla descrizione o dalle altre autorizzazioni del ruolo che contiene. Ad esempio, l'assegnazione del ruolo resourcemanager.organizationAdmin
(che concede l'autorizzazione resourcemanager.projects.list
) a un utente a
livello di progetto concede solo le autorizzazioni per quel progetto specifico. Non potrà elencare né amministrare tutti i progetti dell'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 per altre nel progetto.
Elenco ruoli assegnabili
Puoi elencare i ruoli assegnabili utilizzando la console Google Cloud, Google Cloud CLI, l'API IAM o le librerie client IAM.
La console Google Cloud elenca sempre tutti i ruoli assegnabili per la risorsa che stai visualizzando. L'interfaccia a riga di comando Google Cloud, l'API IAM e le librerie client elencano solo i ruoli assegnabili per le API abilitate.
Console
Per visualizzare i ruoli assegnabili per un progetto, una cartella o un'organizzazione:
Nella console Google Cloud, vai alla pagina IAM.
Fai clic su Seleziona un progetto nella parte superiore della pagina.
Seleziona il progetto, la cartella o l'organizzazione per cui vuoi visualizzare i ruoli assegnabili.
Fai clic su
Concedi l'accesso.Fai clic su Seleziona un ruolo. Questo menu visualizza tutti i ruoli, compresi gli eventuali ruoli personalizzati, che puoi concedere per questa risorsa.
Per visualizzare i ruoli assegnabili per altri tipi di risorse:
Nella console Google Cloud, vai alla pagina che elenca la risorsa per la quale vuoi visualizzare i ruoli assegnabili.
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 la quale vuoi visualizzare i ruoli assegnabili.
Assicurati che il riquadro delle informazioni sia visibile. Se non è visibile, fai clic su Mostra riquadro informazioni.
Fai clic su
Aggiungi entità.Fai clic su Seleziona un ruolo. Questo menu visualizza tutti i ruoli, inclusi gli eventuali ruoli personalizzati, che puoi concedere per 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, è possibile che venga restituito un numero elevato di ruoli. Per limitare i risultati, puoi specificare un'espressione di filtro.
L'output sarà simile al seguente:
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 su una risorsa.
Prima di utilizzare qualsiasi dato della richiesta, effettua le seguenti sostituzioni:
FULL_RESOURCE_NAME
: un URI costituito dal nome del servizio e dal percorso della risorsa. Ad esempio, vedi Nomi completi delle risorse.
Metodo HTTP e URL:
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
Corpo JSON della richiesta:
{ "fullResourceName": "FULL_RESOURCE_NAME" }
Per inviare la richiesta, espandi una di queste 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 la pagina relativa alle librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C++.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C#.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Go.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Java.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per informazioni su come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM Python.
Per eseguire l'autenticazione su IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta la pagina Configurare l'autenticazione per un ambiente di sviluppo locale.
Negli esempi precedenti, il nome completo della risorsa è un URI senza schema composto da un nome di servizio API compatibile con DNS e 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 più dettagliato. Ad esempio, utilizza il codice seguente per restituire tutti i ruoli assegnabili in un'istanza di Compute Engine:
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
Passaggi successivi
- Ulteriori informazioni sui ruoli IAM disponibili.
- Scopri come scegliere i ruoli predefiniti più appropriati.
- Scopri come concedere, modificare e revocare l'accesso di un'entità.
- Vedi esempi di nomi delle risorse per diversi tipi di risorse.