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. Cloud de Confiance by S3NS 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. Cloud de Confiance
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,
il corpo della risposta non elencherà alcuna autorizzazione.
Il metodo testIamPermissions() è destinato a interfacce grafiche utente (GUI) di terze parti che devono visualizzare risorse Cloud de Confiance in base alle autorizzazioni di visualizzazione dell'utente autenticato. Ad esempio, la console
Cloud de Confiance 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 Cloud de Confiance nasconde o mostra gli elementi di conseguenza.
Prima di iniziare
Abilita l'API Resource Manager.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.Configurare l'autenticazione.
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
C#
Per utilizzare gli esempi di .NET in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Cloud de Confiance .
C++
Per utilizzare gli esempi di C++ in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Cloud de Confiance .
Java
Per utilizzare gli esempi Java in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Cloud de Confiance .
Python
Per utilizzare gli esempi di Python in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Configura gcloud CLI per utilizzare la tua identità federata.
Per ulteriori informazioni, vedi Accedi a gcloud CLI con la tua identità federata.
-
Crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione di Cloud de Confiance .
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Cloud de Confiance .
-
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 e
resourcemanager.projects.delete per un
progettoCloud de Confiance . Per
testare le autorizzazioni per altre Cloud de Confiance risorse, utilizza il
metodo testIamPermissions() esposto da ciascuna 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 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.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN su s3nsapis.fr.
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 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 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 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 sostituzioni seguenti:
PROJECT_ID: il tuo ID progetto Cloud de Confiance . 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.