La maggior parte delle risorse Google Cloud espone il metodo testIamPermissions()
, che consente di verificare in modo programmatico se al chiamante attualmente autenticato siano state concesse una o più autorizzazioni IAM specifiche per la risorsa. Il metodo testIamPermissions()
accetta un identificatore della risorsa e un insieme di autorizzazioni come parametri di input e restituisce l'insieme di autorizzazioni consentite dal chiamante.
Puoi utilizzare il metodo testIamPermissions()
per determinare se un utente deve avere accesso a uno strumento amministrativo in un'applicazione web. Ad esempio, puoi utilizzare questo metodo per decidere, in base alle autorizzazioni dell'utente, se visualizzare o meno le informazioni dettagliate di una risorsa Google Cloud.
Ad esempio, per determinare se l'utente attualmente autenticato ha l'autorizzazione per eliminare un progetto, chiama il metodo projects.testIamPermissions()
fornendo l'ID progetto (come foo-project
) e l'autorizzazione resourcemanager.projects.delete
come parametri di input. Se al chiamante è stata concessa l'autorizzazione resourcemanager.projects.delete
, verrà elencata nel corpo della risposta. Se il chiamante non dispone di questa autorizzazione,
il corpo della risposta non elenca alcuna autorizzazione.
Il metodo testIamPermissions()
è destinato a interfacce utente (GUI) grafiche di terze parti che devono visualizzare le risorse Google Cloud in base a ciò che l'utente autenticato è autorizzato a visualizzare. Ad esempio, la console Google Cloud utilizza internamente il metodo testIamPermissions()
per determinare quali risorse e funzionalità sono visibili dopo l'autenticazione. In genere a utenti diversi vengono concesse autorizzazioni diverse e la console Google Cloud nasconde o espone gli elementi di conseguenza.
Prima di iniziare
-
Attiva Resource Manager API.
Ruoli obbligatori
Non è necessario alcun ruolo IAM per testare le autorizzazioni.
Come testare le autorizzazioni
Questo esempio mostra come testare le autorizzazioni resourcemanager.projects.get
e resourcemanager.projects.delete
per un progetto Google Cloud. Per testare le autorizzazioni per altre risorse Google Cloud, utilizza il metodo testIamPermissions()
esposto da ciascuna risorsa. Ad esempio, puoi testare le autorizzazioni IAM per un bucket Cloud Storage.
REST
In questo esempio, l'utente ha un ruolo IAM che consente di ottenere informazioni su un progetto, ma non di eliminarlo.
Il metodo projects.testIamPermissions
dell'API Resource Manager accetta un elenco di autorizzazioni e verifica quale delle autorizzazioni dispone di un'entità.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo ID progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche comemy-project
.
Metodo e URL HTTP:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:testIamPermissions
Testo JSON richiesta:
{ "permissions": [ "resourcemanager.projects.get", "resourcemanager.projects.delete" ] }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "permissions": [ "resourcemanager.projects.get" ] }
C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM C++.
C#
Per scoprire come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM C#.
IAM testa le autorizzazioni dell'account di servizio che stai utilizzando per generare le credenziali.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
IAM testa le autorizzazioni dell'account di servizio che stai utilizzando per generare le credenziali.Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta la pagina relativa alle librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
IAM testa le autorizzazioni dell'account di servizio che stai utilizzando per generare le credenziali.Passaggi successivi
Scopri come concedere, modificare e revocare l'accesso alle entità.