Bevor Sie einem Nutzer eine IAM-Rolle (Identity and Access Management) für eine Ressource zuweisen, möchten Sie möglicherweise wissen, welche Rollen der jeweiligen Ressource zugewiesen werden können.
Vorbereitung
-
IAM API aktivieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Sicherheitsprüfer“ (roles/iam.securityReviewer
) für die Ressource zuzuweisen, für die Sie erteilbare Rollen auflisten möchten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierte Rolle enthält die getIamPolicy
-Berechtigungen für alle Ressourcentypen. Zum Auflisten der erteilbaren Rollen benötigen Sie die Berechtigung getIamPolicy
für die Ressource, für die Sie erteilbare Rollen auflisten möchten, z. B. die Berechtigung resourcemanager.projects.getIamPolicy
zum Auflisten der erteilbaren Rollen für ein Projekt.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Informationen zu erteilbaren Rollen
Eine Rolle kann für oder oberhalb einer Ressource gewährt werden, wenn sie Berechtigungen für den entsprechenden Ressourcentyp enthält. Beispiel: Die Rolle storage.admin
gewährt Berechtigungen für die APIs storage.buckets.get
und storage.objects.get
. Somit kann sie den Ressourcentypen Storage-Buckets und Speicherobjekte zugewiesen werden.
Rollen können auch "oberhalb" der Ressourcentypen gewährt werden, für die die Berechtigungen definiert wurden. Mit anderen Worten, Rollen für untergeordnete Ressourcen können für eine Ressource gewährt werden, die in der Google Cloud-Ressourcenhierarchie übergeordnet ist. Beispielsweise kann die Rolle storage.admin
nicht nur Storage-Buckets , sondern zusätzlich auch auf Projekt- oder Organisationsebene zugewiesen werden.
Von einer Rolle gewährte Berechtigungen wirken sich nur auf der angegebenen Ebene oder darunter auf Ressourcen aus und nicht auf Ressourcen auf höherer Ebene oder auf Peer-Ressourcen. Wenn eine Rolle für eine Ressource gewährt wird, werden außerdem nur Berechtigungen gewährt, die für die angegebene Ressource gelten, und das unabhängig vom Namen, der Beschreibung oder anderen enthaltenen Berechtigungen der Rolle. So werden beispielsweise durch Zuweisen der Rolle resourcemanager.organizationAdmin
(die die Berechtigung resourcemanager.projects.list
enthält) an einen Nutzer auf Projektebene diesem nur Berechtigungen für das spezifische Projekt gewährt. Er kann nicht alle Projekte in der Organisation auflisten oder verwalten.
Entsprechend werden durch das Zuweisen der Rolle compute.admin
auf einer bestimmten Compute Engine-Instanz nur Berechtigungen für diese spezifische Instanz und keine anderen im Projekt gewährt.
Erteilbare Rollen auflisten
Überprüfen Sie, dass der Dienst im Projekt aktiviert wurde, bevor Sie die erteilbaren Rollen auflisten. Wenn ein Dienst nicht aktiviert wurde, werden seine Rollen nicht zurückgegeben.
Console
Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie oben auf der Seite auf das Drop-down-Menü "Projekt auswählen".
Wählen Sie das Projekt oder die Organisation aus, für die Sie die Rollen anzeigen möchten.
Klicken Sie auf
Zugriff erlauben.Geben Sie unter Hauptkonten die E-Mail-Adresse, die Domain oder eine andere Kennung des Hauptkontos ein.
Die Drop-down-Liste Rolle auswählen enthält alle Rollen (einschließlich benutzerdefinierte Rollen), die einem Hauptkonto für diese Ressource zugewiesen werden können.
gcloud CLI
Verwenden Sie den Befehl gcloud iam list-grantable-roles
, um eine Liste aller Rollen zurückgeben zu lassen, die auf eine bestimmte Ressource angewendet werden können.
gcloud iam list-grantable-roles full-resource-name
Abhängig von der gewünschten Ressource können sehr viele Rollen zurückgegeben werden. Sie können einen Filterausdruck angeben, um die Zahl der Ergebnisse zu begrenzen.
Die Ausgabe sieht etwa so aus:
description: Full control of all Compute Engine resources.
name: roles/compute.admin
title: Compute Admin
---
description: Full control of Compute Engine instance resources.
name: roles/compute.instanceAdmin
title: Compute Instance Admin
# Additional results here...
REST
Die Methode roles.queryGrantableRoles
gibt eine Liste aller Rollen zurück, die für eine Ressource gewährt werden können.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
full-resource-name
: URI, der aus dem Dienstnamen und dem Pfad zur Ressource besteht. Beispiele finden Sie unter Vollständige Ressourcennamen.
HTTP-Methode und URL:
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
JSON-Text anfordern:
{ "fullResourceName": "full-resource-name" }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "roles": [ { "name": "roles/compute.admin", "title": "Compute Admin", "description": "Full control of all Compute Engine resources." }, { "name": "roles/compute.instanceAdmin", "title": "Compute Instance Admin (beta)", "description": "Full control of Compute Engine instance resources." } ] }
C++
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur C++ API.
C#
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur C# API.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur Go API.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur Java API.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für IAM finden Sie unter IAM-Clientbibliotheken. Weitere Informationen finden Sie in der IAM-Referenzdokumentation zur Python API.
In den Beispielen oben ist der vollständige Ressourcenname ein schemaloser URI bestehend aus einem DNS-kompatiblen API-Dienstnamen und einem Ressourcenpfad.
Sie verwenden etwa Folgendes, um alle erteilbaren Rollen für ein Projekt zurückzugeben:
//cloudresourcemanager.googleapis.com/projects/project-id
Ressourcen auf einer niedrigeren Ebene haben einen detaillierteren vollständig qualifizierten Namen. Sie verwenden etwa Folgendes, um alle erteilbaren Rollen für eine Compute Engine-Instanz zurückzugeben:
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
Nächste Schritte
- Informationen zu den verfügbaren IAM-Rollen lesen
- Geeignete vordefinierte Rollen auswählen
- Zugriff von Hauptkonto gewähren, ändern und widerrufen
- Beispiele für Ressourcennamen für verschiedene Ressourcentypen