La maggior parte delle risorse espone il metodo testIamPermissions()
, che consente di verificare in modo programmatico se al chiamante attualmente autenticato sono state concesse una o più autorizzazioni IAM specifiche per la risorsa. Google Cloud Il metodo testIamPermissions()
prende un identificatore di 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 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 (ad esempio foo-project
) e l'autorizzazione
resourcemanager.projects.delete
come parametri di input. Se al chiamante
è stata concessa l'autorizzazione resourcemanager.projects.delete
, verrà
elencato nel corpo della risposta. Se il chiamante non dispone di questa autorizzazione,
nel corpo della risposta non saranno elencate autorizzazioni.
Il metodo testIamPermissions()
è destinato a interfacce grafiche utente (GUI) di terze parti che devono visualizzare risorse Google Cloud in base alle autorizzazioni di visualizzazione dell'utente autenticato. Ad esempio, la console
Google Cloud utilizza internamente il metodo testIamPermissions()
per
determinare quali risorse e funzionalità sono visibili dopo
l'autenticazione. A utenti diversi vengono in genere 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 esempi di .NET questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Google Cloud .
C++
Per utilizzare gli esempi di C++ questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Google Cloud .
Java
Per utilizzare gli esempi di Java questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Google Cloud .
Python
Per utilizzare gli esempi di Python questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Google Cloud .
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per testare le autorizzazioni non è necessario alcun ruolo IAM.
Come testare le autorizzazioni
Questo esempio mostra come testare le autorizzazioni
resourcemanager.projects.get
eresourcemanager.projects.delete
per un Google Cloud progetto. Per testare le autorizzazioni per altre Google Cloud risorse, utilizza il metodotestIamPermissions()
esposto da ogni risorsa. Ad esempio, puoi testare le autorizzazioni IAM per un bucket Cloud Storage.C++
Per scoprire come installare e utilizzare la libreria client per IAM, consulta la sezione Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM C++.
Per eseguire l'autenticazione in IAM, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Prima di iniziare.
C#
Per eseguire l'autenticazione 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 la sezione Librerie client di Resource Manager.
IAM verifica le autorizzazioni del account di servizio che utilizzi per generare le credenziali.
Java
Per eseguire l'autenticazione 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 la sezione Librerie client di Resource Manager.
IAM verifica le autorizzazioni del account di servizio che utilizzi per generare le credenziali.
Python
Per eseguire l'autenticazione 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 la sezione Librerie client di Resource Manager.
IAM verifica le autorizzazioni del account di servizio che utilizzi 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 eliminarlo.
Il metodo
projects.testIamPermissions
dell'API Resource Manager accetta un elenco di autorizzazioni e verifica quali autorizzazioni ha 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 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 principal.
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-09-04 UTC.