La maggior parte delle Google Cloud risorse espone il metodo testIamPermissions()
, che consente di verificare testIamPermissions()
a livello di programmazione se all'utente chiamante attualmente autenticato sono state concesse una o più autorizzazioni IAM specifiche sulla risorsa. Il metodo testIamPermissions()
prende un identificatore della risorsa e un insieme di autorizzazioni come parametri di input e restituisce l'insieme di autorizzazioni consentite al 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
informazioni dettagliate su una Google Cloud risorsa.
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 (ad esempio foo-project
) e l'autorizzazione resourcemanager.projects.delete
come parametri di input. Se all'utente che ha effettuato la chiamata è stata concessa l'autorizzazione resourcemanager.projects.delete
, questa verrà elencata nel corpo della risposta. Se il chiamante non dispone di questa autorizzazione,
nel corpo della risposta non verranno elencate autorizzazioni.
Il metodo testIamPermissions()
è destinato alle interfacce grafiche utente (GUI) di terze parti che devono mostrare le risorse Google Cloud in base a ciò che l'utente autenticato ha l'autorizzazione 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 mostra gli elementi di conseguenza.
Prima di iniziare
Enable the Resource Manager API.
Configurare l'autenticazione.
Select the tab for how you plan to use the samples on this page:
C#
Per utilizzare gli .NET esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'ADC per un ambiente di sviluppo locale nella Google Cloud documentazione sull'autenticazione.
C++
Per utilizzare gli C++ esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'ADC per un ambiente di sviluppo locale nella Google Cloud documentazione sull'autenticazione.
Java
Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'ADC per un ambiente di sviluppo locale nella Google Cloud documentazione sull'autenticazione.
Python
Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia a riga di comando gcloud, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Per ulteriori informazioni, consulta Configurare l'ADC per un ambiente di sviluppo locale nella Google Cloud documentazione sull'autenticazione.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
Ruoli obbligatori
Non è richiesto alcun ruolo IAM per testare le autorizzazioni.
Come testare le autorizzazioni
Questo esempio mostra come testare le autorizzazioni
resourcemanager.projects.get
eresourcemanager.projects.delete
per un Google Cloud progetto. Per verificare le autorizzazioni per altre Google Cloud risorse, utilizza il metodotestIamPermissions()
esposto da ogni risorsa. Ad esempio, puoi verificare le autorizzazioni IAM per un bucket Cloud Storage.C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API IAM C++.
Per autenticarti in IAM, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
C#
Per autenticarti in Resource Manager, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.
IAM verifica le autorizzazioni dell'account di servizio che stai utilizzando per generare le credenziali.
Java
Per autenticarti in Resource Manager, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.
IAM verifica le autorizzazioni dell'account di servizio che stai utilizzando per generare le credenziali.
Python
Per autenticarti in Resource Manager, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Per scoprire come installare e utilizzare la libreria client per Resource Manager, consulta Librerie client di Resource Manager.
IAM verifica le autorizzazioni dell'account di servizio che stai utilizzando per generare le credenziali.
REST
In questo esempio, l'utente ha un ruolo IAM che gli consente di ottenere informazioni su un progetto, ma non di eliminarli.
Il metodo
projects.testIamPermissions
dell'API Resource Manager accetta un elenco di autorizzazioni e testa quali sono quelle di un principale.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: il tuo Google Cloud ID progetto. Gli ID progetto sono stringhe alfanumeriche, comemy-project
.
Metodo HTTP e URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:testIamPermissions
Corpo JSON della richiesta:
{ "permissions": [ "resourcemanager.projects.get", "resourcemanager.projects.delete" ] }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "permissions": [ "resourcemanager.projects.get" ] }
Passaggi successivi
Scopri come concedere, modificare e revocare l'accesso ai principali.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-02-14 UTC.