Zugriffssteuerung für Ordner mit IAM

Google Cloud bietet mit der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) die Möglichkeit, bestimmten Google Cloud-Ressourcen detaillierte Zugriffsrechte zuzuweisen und den unerwünschten Zugriff auf andere Ressourcen zu verhindern. Durch IAM haben Sie die Möglichkeit, das Prinzip der geringsten Berechtigung anzuwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen zu gewähren.

Mit IAM können Sie kontrollieren, wer (Nutzer) welchen Zugriff (Rollen) auf welche Ressourcen hat, indem Sie IAM-Richtlinien festlegen. Durch sie werden einem Nutzer bestimmte Rollen zugewiesen, mit denen wiederum gewisse Berechtigungen verknüpft sind.

Auf dieser Seite werden die auf Ordnerebene verfügbaren IAM-Rollen erläutert. Außerdem erfahren Sie, wie Sie IAM-Richtlinien für Ordner mit der Cloud Resource Manager API erstellen und verwalten. Eine genaue Beschreibung von IAM finden Sie in der IAM-Dokumentation. Lesen Sie insbesondere den Abschnitt Zugriff gewähren, ändern und aufheben.

Übersicht über die IAM-Rollen für Ordner

Um Ihnen das Konfigurieren Ihrer IAM-Rollen zu erleichtern, finden Sie in der Tabelle unten Folgendes:

  • Die aktivierbaren Aktionstypen
  • Die für diese Aktionen erforderlichen Rollen
  • Die Ressourcenebene, auf der die Rollen angewendet werden sollen
Aktionstypen Erforderliche Rollen Ressourcenebene
Ordner in der Organisationsressource verwalten Ordneradministrator Organisationsressource
Einen Ordner und alle darin enthaltenen Projekte und Ordner verwalten Ordneradministrator Spezieller Ordner
IAM-Richtlinien eines Ordners aufrufen und verwalten Ordner-IAM-Administrator Spezieller Ordner
Neue Ordner erstellen Ordnerersteller Übergeordnete Ressource für den Speicherort der neuen Ordner
Ordner und Projekte verschieben Ordnerverschieber Übergeordnete Ressource für den Speicherort des ursprünglichen und neuen Ordners
Projekt in einen neuen Ordner verschieben Projektbearbeiter oder Projektinhaber Übergeordnete Ressource für den Speicherort des ursprünglichen und neuen Projekts
Ordner löschen Ordnerbearbeiter oder Ordneradministrator Spezieller Ordner

Best Practices für die Verwendung von IAM-Rollen und Berechtigungen mit Ordnern

Beachten Sie beim Zuweisen von IAM-Rollen und Berechtigungen für Ordner Folgendes:

  • Verwenden Sie wenn möglich Gruppen, um Hauptkonten zu verwalten.
  • Verwenden Sie möglichst wenig einfache Rollen wie Inhaber, Bearbeiter und Betrachter. Verwenden Sie stattdessen gemäß dem Prinzip der geringsten Berechtigung vordefinierte Rollen.
  • Weisen Sie für die Verwaltung des gesamten Ordners Berechtigungen auf Ordnerebene zu, die von den Projekten automatisch übernommen werden. Gewähren Sie beispielsweise der Abteilungsadministratorgruppe die Rolle Ordneradministrator für den Ordner. Sie können den Netzwerkadministratoren, die abteilungsübergreifende Berechtigungen benötigen, die Rolle Netzwerkadministrator für den Ordner zuweisen.
  • Erwägen Sie vor dem Verschieben einer Ressource aus einem Ordner sorgfältig, welche Berechtigungen sich ändern könnten. Andernfalls werden möglicherweise Anwendungen oder Workflows unterbrochen, die diese Berechtigungen für die jeweilige Ressource benötigen.
  • Planen und testen Sie die Ressourcenhierarchie eingehend, bevor Sie Produktionsprojekte in Ordner verschieben. Eine Möglichkeit besteht darin, vorab einen Testordner unter der Organisationsressource anzulegen und einen Prototyp der gewünschten Hierarchie zu erstellen.
  • Wenn Sie einem Nutzer auf Ordnerebene eine Rolle zuweisen, erhält der Nutzer diese Rolle auch für jede Ressource unter diesem Ordner. Wenn Sie beispielsweise einem Nutzer die Compute Admin-Rolle (roles/compute.admin) für einen Ordner erteilen, hat dieser Nutzer die vollständige Kontrolle über alle Compute Engine-Ressourcen in jedem Projekt in diesem Ordner.

Grundlegendes zu Ordnerrollen und -berechtigungen

Standardrollen

Wenn Sie einen Ordner erstellen, erhalten Sie automatisch die Rollen Ordner-Admin und Ordner-Editor, damit Sie als Ersteller volle Kontrolle haben. Im Folgenden finden Sie die Berechtigungen, die diese Rollen bieten. Diese Standardrollen können wie gewohnt in einer IAM-Richtlinie geändert werden.

Vordefinierte Rollen verwenden

Rolle Berechtigungen

(roles/resourcemanager.folderAdmin)

Alle verfügbaren Berechtigungen zum Arbeiten mit Ordnern

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Ordner

essentialcontacts.*

  • essentialcontacts.contacts.create
  • essentialcontacts.contacts.delete
  • essentialcontacts.contacts.get
  • essentialcontacts.contacts.list
  • essentialcontacts.contacts.send
  • essentialcontacts.contacts.update

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.*

  • resourcemanager.folders.create
  • resourcemanager.folders.delete
  • resourcemanager.folders.get
  • resourcemanager.folders.getIamPolicy
  • resourcemanager.folders.list
  • resourcemanager.folders.move
  • resourcemanager.folders.setIamPolicy
  • resourcemanager.folders.undelete
  • resourcemanager.folders.update

resourcemanager.hierarchyNodes.*

  • resourcemanager.hierarchyNodes.createTagBinding
  • resourcemanager.hierarchyNodes.deleteTagBinding
  • resourcemanager.hierarchyNodes.listEffectiveTags
  • resourcemanager.hierarchyNodes.listTagBindings

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

resourcemanager.projects.move

resourcemanager.projects.setIamPolicy

(roles/resourcemanager.folderIamAdmin)

Berechtigungen zum Verwalten von Zulassungsrichtlinien für Ordner

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Ordner

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.setIamPolicy

(roles/resourcemanager.folderCreator)

Berechtigung zum Durchsuchen der Hierarchie und zum Erstellen von Ordnern

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Ordner

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.create

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderEditor)

Berechtigung zum Ändern von Ordnern und zum Anzeigen der Zulassungsrichtlinie eines Ordners

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Ordner

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.delete

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.list

resourcemanager.folders.undelete

resourcemanager.folders.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderMover)

Berechtigung zum Verschieben von Projekten und Ordnern in eine übergeordnete Organisation oder einen übergeordneten Ordner und aus dieser bzw. diesem

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Ordner

resourcemanager.folders.move

resourcemanager.projects.move

(roles/resourcemanager.folderViewer)

Berechtigung zum Abrufen eines Ordners und zur Auflistung der Ordner und Ressourcen unter einer Ressource

Ressourcen auf der niedrigsten Ebene, für die Sie diese Rolle zuweisen können:

  • Ordner

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.projects.get

resourcemanager.projects.list

Benutzerdefinierte Rollen erstellen

Zusätzlich zu den vordefinierten Rollen, die in diesem Thema beschrieben werden, können Sie auch benutzerdefinierte Rollen erstellen. Dabei handelt es sich um Sammlungen von Berechtigungen, die Sie an Ihre Anforderungen anpassen. Beachten Sie die folgenden Punkte, wenn Sie eine benutzerdefinierte Rolle für die Verwendung mit Resource Manager erstellen:
  • Berechtigungen zum Auflisten und Abrufen, z. B. resourcemanager.projects.get/list, sollten immer als Paar von Berechtigungen zugewiesen werden.
  • Wenn Ihre benutzerdefinierte Rolle die Berechtigungen folders.list und folders.get enthält, sollte sie auch projects.list und projects.get enthalten.
  • Beachten Sie, dass Nutzer mit der Berechtigung setIamPolicy für Organisations-, Ordner- und Projektressourcen alle anderen Berechtigungen erteilen können. Sie sollten diese Berechtigung daher mit Vorsicht zuweisen.

Rollen zum Durchsuchen von Ordnern gewähren

Listenberechtigungen ermöglichen das Durchsuchen von Ordnern. In der Regel müssen zwei Arten von Listenberechtigungen gewährt werden: resourcemanager.folders.list, mit dem Nutzer Ordner unter einer Ressource auflisten können, und resourcemanager.projects.list, mit dem Nutzer Projekte unter einer Organisationsressource oder einem Ordner durchsuchen können. Der Organisationsadministrator verfügt über beide Berechtigungen. Für Nutzer, denen die Rolle Organisationsadministrator nicht gewährt wurde, gilt Folgendes:

  • resourcemanager.folders.list kann über die Rollen Ordnerbetrachter und Ordnerbearbeiter gewährt werden.
  • resourcemanager.projects.list kann über die Rollen Betrachter und Durchsucher gewährt werden.

Damit Hauptkonten von Organisationsressourcen die gesamte Ressourcenhierarchie der Organisation durchsuchen können, sollten Listenberechtigungen auf der Ebene der Organisationsressource gewährt werden.

Rollen zum Erstellen von Ordnern gewähren

Nutzern, die Ordner erstellen sollen, muss die Rolle Ordnerersteller für eine Ressource in der Hierarchie oberhalb der Ebene gewährt werden, auf der der Ordner erstellt werden soll. Es ist hilfreich, zusätzlich zur Berechtigung, Ordner zu erstellen, auch die zum Durchsuchen zu gewähren, damit die Nutzer zu der Stelle in der Hierarchie navigieren können, an der der Ordner angelegt wird. Weitere Informationen zu Berechtigungen zum Durchsuchen finden Sie im vorherigen Abschnitt.

Die Rolle Ordnerersteller gewährt einem Nutzer keine Berechtigung zum Löschen eines Ordners. Wenn ein Nutzer einen Ordner erstellt, wird ihm jedoch automatisch die Rolle Ordnerbearbeiter zugewiesen. Mit der Rolle Ordnerbearbeiter können Ordner gelöscht werden.

Rollen für Ordnerverschiebungen zuweisen

Damit Nutzer einen Ordner von einer übergeordneten Ressource in eine andere verschieben können, benötigen sie für die alte und neue übergeordnete Ressource oder einen gemeinsamen Ancestor die Rolle Ordnerverschieber.

Rollen für Projektverschiebungen zuweisen

Um ein Projekt in einen Ordner zu verschieben, benötigen Nutzer für das Projekt die Rolle Projektbearbeiter oder Projektinhaber und für die übergeordnete Quell- und Zielressource die Rolle Projektverschieber.

Dies unterscheidet sich geringfügig von den Anforderungen für das Verschieben eines nicht zur Organisation gehörenden Projekts in die Organisationsressource, in dem Nutzer die Rolle Projektbearbeiter oder Projektinhaber für das Projekt und die Rolle Projektersteller für die Organisationsressource haben müssen.

Ordnerspezifische Rollen zum Erstellen von Projekten gewähren

Um Projekte erstellen zu können, müssen Nutzer über die Rolle Projektersteller verfügen. Es kann hilfreich sein, Nutzern nur das Anzeigen und Erstellen von Projekten in einem Ordner zu ermöglichen und ihnen nicht die Berechtigung zur Erstellung von Projekten in der gesamten Organisation zu gewähren.

So gewähren Sie ordnerspezifische Berechtigungen:

  1. Gewähren Sie dem Nutzer die Rolle Organisationsbetrachter auf Organisationsknotenebene (z. B. "domain.com").
  2. Erstellen Sie einen neuen Ordner.
  3. Fügen Sie den Nutzer auf Ordnerebene zur IAM hinzu und gewähren Sie ihm die Rollen Ordnerbetrachter und Projektersteller.

Auf diese Weise kann der Nutzer Projekte in seinem Ordner erstellen, ohne diese für jedes Projekt in der übergeordneten Organisationsressource sichtbar zu machen.