Die meisten Google Cloud-Ressourcen bieten die Methode testIamPermissions()
, mit der Sie programmatisch prüfen können, ob dem aktuell authentifizierten Aufrufer eine oder mehrere spezifische IAM-Berechtigungen für die Ressource erteilt wurden. Die Methode testIamPermissions()
gibt mit einer Ressourcen-URL und einer Gruppe von Berechtigungen als Eingabeparameter die Gruppe der Berechtigungen für den Aufrufer zurück.
Mit der Methode testIamPermissions()
können Sie bestimmen, ob ein Nutzer Zugriff auf ein Verwaltungstool in einer Webanwendung haben soll. Mit dieser Methode können Sie beispielsweise anhand der Berechtigungen des Nutzers entscheiden, ob detaillierte Informationen zu einer Google Cloud-Ressource angezeigt werden sollen.
Es soll beispielsweise festgestellt werden, ob der aktuell authentifizierte Nutzer zum Löschen eines Projekts berechtigt ist. Rufen Sie dazu die Methode projects.testIamPermissions()
auf und geben Sie dabei die Projekt-ID (z. B. foo-project
) und die Berechtigung resourcemanager.projects.delete
als Eingabeparameter an. Wenn dem Aufrufer die Berechtigung resourcemanager.projects.delete
gewährt wurde, ist dies im Antworttext aufgeführt. Wenn der Aufrufer diese Berechtigung nicht hat, listet der Antworttext keine Berechtigungen auf.
Die Methode testIamPermissions()
ist für grafische Benutzeroberflächen (GUIs) von Drittanbietern vorgesehen, die Google Cloud-Ressourcen auf der Grundlage der Berechtigungen des authentifizierten Nutzers anzeigen sollen. Beispielsweise verwendet die Cloud Console intern die Methode testIamPermissions()
, um zu bestimmen, welche Ressourcen und Funktionen nach der Authentifizierung angezeigt werden. Unterschiedlichen Nutzern werden in der Regel unterschiedliche Berechtigungen gewährt. Die Cloud Console blendet Elemente entsprechend aus oder stellt sie zur Verfügung.
Berechtigungen testen
In diesem Beispiel wird gezeigt, wie die Berechtigungen resourcemanager.projects.get
und resourcemanager.projects.delete
für ein Google Cloud-Projekt getestet werden. Verwenden Sie zum Testen von Berechtigungen für andere Google Cloud-Ressourcen die Methode testIamPermissions()
, die von den einzelnen Ressourcen bereitgestellt wird. Sie können beispielsweise die IAM-Berechtigungen für einen Cloud Storage-Bucket testen.
REST
In diesem Beispiel hat der Nutzer eine IAM-Rolle, mit der er Informationen zu einem Projekt abrufen, aber keine Projekte löschen kann.
Die Methode projects.testIamPermissions
der Resource Manager API akzeptiert eine Liste von Berechtigungen und testet, welche Berechtigungen ein Mitglied hat.
Ersetzen Sie diese Werte in den folgenden Anweisungen:
project-id
: Ihre Google Cloud-Projekt-ID.
HTTP-Methode und URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/project-id:testIamPermissions
JSON-Text anfordern:
{ "permissions": [ "resourcemanager.projects.get", "resourcemanager.projects.delete" ] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten ungefähr so eine JSON-Antwort erhalten:
{ "permissions": [ "resourcemanager.projects.get" ] }
C#
Richten Sie für dieses Beispiel C# wie in der IAM-Kurzanleitung zur Verwendung von Clientbibliotheken beschrieben ein. Weitere Informationen finden Sie in der Referenzdokumentation zur IAM C# API.
IAM testet die Berechtigungen des Dienstkontos, mit dem Sie Anmeldedaten generieren.Java
Richten Sie für dieses Beispiel Java wie in der IAM-Kurzanleitung zur Verwendung von Clientbibliotheken beschrieben ein. Weitere Informationen finden Sie in der Referenzdokumentation zur IAM Java API.
IAM testet die Berechtigungen des Dienstkontos, mit dem Sie Anmeldedaten generieren.Python
Richten Sie für dieses Beispiel Python wie in der IAM-Kurzanleitung zur Verwendung von Clientbibliotheken beschrieben ein. Weitere Informationen finden Sie in der Referenzdokumentation zur IAM Python API.
IAM testet die Berechtigungen des Dienstkontos, mit dem Sie Anmeldedaten generieren.Nächste Schritte
Zugriff auf Ressourcen erteilen, ändern und entziehen