Identity and Access Management (IAM) bietet für die meisten Google Cloud-Dienste mehrere vordefinierte Rollen. Jede vordefinierte Rolle enthält die Berechtigungen, die zum Ausführen einer Aufgabe oder einer Gruppe verwandter Aufgaben erforderlich sind.
Für einfache Aufgaben ist es häufig einfach, eine geeignete vordefinierte Rolle zu finden. Wenn ein Hauptkonto beispielsweise Objekte in einem Cloud Storage-Bucket aufrufen muss, ist die Rolle des Storage-Objekt-Betrachters (roles/storage.objectViewer
) wahrscheinlich eine gute Wahl.
Es gibt jedoch Hunderte von vordefinierten Rollen, was die Ermittlung der geeignetsten Rollen, die Ihren Hauptkonten zugewiesen werden müssen, erschweren kann. Außerdem kann es eine Herausforderung sein, Rollen zu finden, die dem Prinzip der geringsten Berechtigung folgen. Das bedeutet, dass Hauptkonten keine Berechtigungen haben, die sie nicht benötigen.
Auf dieser Seite erfahren Sie, wie Sie die am besten geeigneten vordefinierten Rollen auswählen:
- Identifizieren der erforderlichen Berechtigungen
- Rollen suchen, die die Berechtigungen enthalten
- Auswählen der am besten geeigneten Rollen
- Festlegen, wo die Rollen zugewiesen werden sollen.
- Rollen einem Hauptkonto zuweisen
Erforderliche Berechtigungen ermitteln
Zum Identifizieren der Berechtigungen, die ein Hauptkonto benötigt, beginnen Sie mit der Auflistung der Aufgaben, die sie ausführen müssen, sowie der Google Cloud-Dienste, die sie für diese Aufgaben verwenden. Ein Hauptkonto muss beispielsweise Compute Engine zum Erstellen von VM-Instanzen verwenden.
Nachdem Sie die Aufgaben und Dienste ermittelt haben, können Sie einige Strategien einsetzen, um die erforderlichen Berechtigungen für die einzelnen Aufgaben zu ermitteln:
Sehen Sie sich die Dokumentation für die Google Cloud-Dienste an.
Bei einigen Diensten werden in den aufgabenorientierten Anleitungen die Rollen oder Berechtigungen aufgeführt, die Sie für die einzelnen Aufgaben benötigen, entweder im Abschnitt "Vorbereitung" oder mit der Anleitung für jede Aufgabe. Sehen Sie sich beispielsweise die Voraussetzungen für das Importieren und Exportieren von VM-Images für Compute Engine an.
Einige andere Dienste identifizieren erforderliche Rollen und Berechtigungen auf einer Seite zur Zugriffssteuerung. Sehen Sie sich zum Beispiel die in Spanner erforderlichen Berechtigungen für Aufgaben in der Google Cloud Console an.
Ermitteln Sie die REST API- oder RPC API-Methoden, die Sie zum Ausführen der Aufgaben verwenden würden, und prüfen Sie die API-Referenzdokumentation auf die erforderlichen IAM-Berechtigungen.
Für einige Dienste sind in der REST API- und RPC API-Dokumentation die Berechtigungen aufgeführt, die für die einzelnen Methoden erforderlich sind. Weitere Informationen finden Sie beispielsweise in der Compute Engine-Dokumentation zur Methode
instances.get
.Sehen Sie sich die Liste der Berechtigungen für jeden Dienst an und suchen Sie nach den entsprechenden Berechtigungen.
In den meisten Fällen beschreibt der Name jeder Berechtigung auch, was die Berechtigung ermöglicht. Die Berechtigung zum Erstellen einer Compute Engine-VM-Instanz hat beispielsweise den Namen
compute.instances.create
.Damit Sie die einzelnen Berechtigungsnamen besser verstehen, sollten Sie beachten, dass Berechtigungsnamen das Format
SERVICE.RESOURCE_TYPE.ACTION
haben.
Im Allgemeinen müssen Sie nicht jede Berechtigung identifizieren, die für jede Aufgabe erforderlich ist. Stattdessen sollten Sie sich darauf konzentrieren, für jede Aufgabe die relevantesten Berechtigungen zu finden. Wenn eine vordefinierte Rolle diese Berechtigung enthält, enthält sie wahrscheinlich auch zugehörige Berechtigungen.
Im Rahmen dieses Prozesses sollten Sie auch versuchen, zu ermitteln, welche der erforderlichen Berechtigungen am leistungsstärksten sind. Im Allgemeinen sind leistungsfähigere Berechtigungen in einer kleineren Anzahl vordefinierter Rollen enthalten. Wenn Sie sich also auf diese Berechtigungen konzentrieren, haben Sie eine kürzere Liste möglicher Rollen für die Auswahl.
Die folgenden Berechtigungstypen sind beispielsweise besonders leistungsfähig:
- Berechtigungen zum Erstellen und Löschen von Ressourcen
- Berechtigungen für den Zugriff auf vertrauliche Daten wie Verschlüsselungsschlüssel oder personenidentifizierbare Informationen (PII)
- Berechtigungen zum Festlegen der Zulassungsrichtlinie oder Ablehnungsrichtlinie für eine Ressource
- Berechtigungen zum Aktualisieren von Organisationen, Ordnern und Projekten, die dazu führen können, dass andere Ressourcen die Aktualisierungen übernehmen
Im Gegensatz dazu sind die folgenden Berechtigungstypen weniger leistungsstark:
- Berechtigungen zum Auflisten von Ressourcen
- Berechtigungen für den Zugriff auf nicht vertrauliche Daten
- Berechtigungen zum Aktualisieren von Einstellungen mit begrenztem Risiko, z. B. der Mindest-CPU-Plattform für Compute Engine-VM-Instanzen
Rollen suchen, die die Berechtigungen enthalten
Nachdem Sie die erforderlichen Berechtigungen ermittelt haben, können Sie nach vordefinierten Rollen suchen, die diese Berechtigungen enthalten, und eine Liste der Rollen erstellen, die gut geeignet sind. Am einfachsten finden Sie diese Rollen, wenn Sie die Berechtigungsreferenz durchsuchen, die alle IAM-Berechtigungen und die Rollen, die die einzelnen Berechtigungen umfassen, enthält.
Gemäß dem Prinzip der geringsten Berechtigung müssen Sie möglicherweise mehrere vordefinierte Rollen zuweisen, die gewährt werden sollen, insbesondere wenn die erforderlichen Berechtigungen zu mehreren Google Cloud-Diensten gehören. Wenn ein Hauptkonto beispielsweise Cloud Storage-Objekte ansehen und Cloud SQL-Datenbanken verwalten muss, ist es unwahrscheinlich, dass eine einzelne vordefinierte Rolle die entsprechenden Berechtigungen für beide Dienste enthält. Wenn eine solche Rolle vorhanden ist, kann sie auch eine große Anzahl nicht verwandter Berechtigungen enthalten, die das Hauptkonto nicht benötigt. Um das Risiko zu verringern, suchen Sie nach einer Rolle mit den erforderlichen Berechtigungen für Cloud Storage und einer anderen Rolle mit den erforderlichen Berechtigungen für Cloud SQL.
Am besten geeignete Rollen auswählen
Nachdem Sie nun eine Liste vordefinierter Rollen haben, die gut geeignet sind, können Sie die am besten geeigneten Rollen aus der Liste auswählen.
Schließen Sie zuerst die folgenden Rollentypen aus:
Für Produktionsumgebungen: Einfache Rollen, einschließlich Inhaber (
roles/owner
), Bearbeiter (roles/editor
) und Betrachter (roles/viewer
)Einfache Rollen umfassen Tausende von Berechtigungen für alle Google Cloud-Dienste. In Produktionsumgebungen sollten Sie einfache Rollen nur zuweisen, wenn es keine Alternative gibt. Gewähren Sie stattdessen vordefinierte Rollen mit den größten Einschränkungen oder benutzerdefinierte Rollen, die Ihren Anforderungen entsprechen.
Dienst-Agent-Rollen, die in der Regel Titel haben, die auf "Dienst-Agent" enden, und Namen, die auf
serviceAgent
endenDiese Rollen sind für Dienst-Agents vorgesehen, eine spezielle Art von Dienstkonto, mit dem ein Google Cloud-Dienst auf Ihre Ressourcen zugreift. Dienst-Agent-Rollen enthalten in der Regel Berechtigungen für mehrere Dienste, einschließlich Diensten, auf die Ihr Hauptkonto nicht zugreifen muss.
Verwenden Sie als Nächstes die Referenz zu vordefinierten Rollen oder die Seite Rollen in der Google Cloud Console, um die Berechtigungen aufzulisten, die jede Rolle enthält. Prüfen Sie jede Rolle auf Berechtigungen, die das Hauptkonto nicht haben soll, und entfernen Sie alle Rollen, die unerwünschte Berechtigungen enthalten.
Wenn bei diesem Vorgang alle vordefinierten Rollen ausgeschlossen werden, sollten Sie möglicherweise eine benutzerdefinierte Rolle für Ihren Anwendungsfall erstellen. Wählen Sie andernfalls die Rolle bzw. Rollen aus, die die geringstmögliche Anzahl an Berechtigungen enthalten und dennoch Ihre Anforderungen erfüllen.
Entscheiden, wo die Rollen zugewiesen werden sollen
Wenn Sie eine Rolle zuweisen, gewähren Sie diese immer für eine bestimmte Google Cloud-Ressource, die zu einer Ressourcenhierarchie gehört. Ressourcen auf niedrigerer Ebene, wie Compute Engine-VM-Instanzen, erben die Rollen von übergeordneten Ressourcen wie Projekten, Ordnern und Organisationen.
Wählen Sie aus, wo die vordefinierten Rollen zugewiesen werden sollen:
- Wenn das Hauptkonto Zugriff auf bestimmte untergeordnete Ressourcen benötigt, weisen Sie die Rollen für diese Ressourcen zu.
Wenn das Hauptkonto Zugriff auf viele Ressourcen innerhalb eines Projekts, Ordners oder einer Organisation benötigt, weisen Sie die Rollen für das Projekt, den Ordner oder die Organisation zu. Wählen Sie die Ressource auf der untersten Ebene aus, die den Anforderungen des Hauptkontos entspricht.
Außerdem sollten Sie IAM Conditions verwenden, um die Rollen nur für bestimmte Ressourcen innerhalb des Projekts, des Ordners oder der Organisation zuzuweisen.
Wenn Sie mehrere vordefinierte Rollen identifiziert haben, sollten Sie sich überlegen, ob Sie die Rollen auf verschiedenen Ebenen der Ressourcenhierarchie zuweisen sollten. Wenn ein Hauptkonto beispielsweise Zugriff auf eine einzelne Cloud SQL-Datenbank, aber auf viele verschiedene Compute Engine-VM-Instanzen benötigt, sollten Sie die Rolle für Cloud SQL für die Datenbank und die Rolle für Compute Engine für das Projekt gewähren.
Rollen einem Hauptkonto zuweisen
Jetzt können Sie Ihrem Hauptkonto die Rollen zuweisen. Informationen zum Zuweisen von Rollen finden Sie hier:
- Zugriff auf Projekte, Ordner und Organisationen verwalten
- Zugriff auf Dienstkonten verwalten
- Zugriff auf andere Ressourcen verwalten
Nachdem Sie die Rollen zugewiesen haben, können Sie mit Policy Analyzer und Policy Troubleshooter prüfen, welche Ressourcen das Hauptkonto aufrufen kann, und Zugriffsprobleme beheben.
Wenn das Hauptkonto die erforderlichen Berechtigungen für die richtigen Ressourcen hat, aber seine Aufgaben nicht ausführen kann, haben Sie möglicherweise eine Berechtigung übersehen, die das Hauptkonto benötigt. Wiederholen Sie den vorherigen Versuch, indem Sie der Liste die erforderlichen Berechtigungen hinzufügen, Rollen suchen, die diese Berechtigungen enthalten, und die am besten geeigneten Rollen auswählen.
Wenn Sie versehentlich eine Rolle mit zu vielen Berechtigungen zuweisen, schlägt eine Rollenempfehlung möglicherweise eine weniger umfassende Rolle vor, die die Anforderungen des Hauptkontos erfüllen würde. Einige Rollenbindungen erhalten keine Rollenempfehlungen.
Nächste Schritte
- Erfahren Sie, wie Sie mit Policy Simulator Änderungen an den Rollen eines Hauptkontos testen können.
- Erfahren Sie, wie Sie mit Policy Analyzer feststellen können, welchen Zugriff Hauptkonto auf eine Ressource hat.
- Weitere Informationen zur Fehlerbehebung bei Zugriffsproblemen