Zugriffssteuerung für Projekte 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 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 durch Festlegung von Richtlinien die spezifische Rollen zuweisen, die bestimmte Berechtigungen enthalten. steuern, wer (Nutzer) welchen Zugriff (Rollen) auf welche Ressourcen hat.

Auf dieser Seite werden die IAM-Berechtigungen und -Rollen beschrieben, mit denen Sie den Zugriff auf Projekte verwalten können. Eine ausführliche Beschreibung der IAM finden Sie in der IAM-Dokumentation. Lesen Sie insbesondere das Kapitel Zugriff gewähren, ändern und widerrufen.

Berechtigungen und Rollen

Damit der Zugriff auf die Ressourcen gesteuert werden kann, verlangt Google Cloud, dass Konten, die API-Anfragen senden, über entsprechende IAM-Rollen verfügen. IAM-Rollen beinhalten Berechtigungen, die es Nutzern erlauben, bestimmte Aktionen auf Google Cloud-Ressourcen durchzuführen. Mit der Berechtigung resourcemanager.projects.delete kann ein Nutzer beispielsweise ein Projekt löschen.

Sie erteilen den Nutzern die Berechtigungen nicht direkt, sondern Sie weisen ihnen Rollen zu, die eine oder mehrere Berechtigungen enthalten. Sie gewähren diese Rollen für eine bestimmte Ressource, sie gelten aber auch für alle untergeordneten Ressourcen dieser Ressource in der Ressourcenhierarchie.

Berechtigungen

Zum Verwalten von Projekten muss der Aufrufer eine Rolle mit den folgenden Berechtigungen haben. Die Rolle wird der Organisationsressource oder dem Ordner zugewiesen, der die Projekte enthält:

Methode Erforderliche Berechtigungen
resourcemanager.projects.create resourcemanager.projects.create
resourcemanager.projects.delete resourcemanager.projects.delete
resourcemanager.projects.get resourcemanager.projects.get
Wenn Sie diese Berechtigung erteilen, erhalten Sie auch Zugriff auf den Namen des mit dem Projekt verbundenen Abrechnungskontos über die Billing API-Methode billing.projects.getBillingInfo .
resourcemanager.projects.getIamPolicy resourcemanager.projects.getIamPolicy
resourcemanager.projects.list resourcemanager.projects.list
resourcemanager.projects.search resourcemanager.projects.get
resourcemanager.projects.setIamPolicy resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions Erfordert keine Berechtigungen.
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.patch Zum Aktualisieren der Metadaten eines Projekts wird die Berechtigung resourcemanager.projects.update benötigt. Zum Aktualisieren des übergeordneten Elements eines Projekts und zum Verschieben des Projekts in eine Organisationsressource ist die Berechtigung resourcemanager.projects.create für die Organisationsressource erforderlich.
projects.move projects.move

Vordefinierte Rollen verwenden

Mit vordefinierten IAM-Rollen können Sie die Berechtigungen, auf die Ihre Nutzer Zugriff haben, sorgfältig verwalten. Eine vollständige Liste der Rollen, die auf Projektebene erteilt werden können, finden Sie unter Informationen zu Rollen.

In der folgenden Tabelle sind die vordefinierten Rollen aufgeführt, die Sie verwenden können, um Zugriff auf ein Projekt zu gewähren. Jede Rolle enthält eine Beschreibung der jeweiligen Rolle und die in dieser Rolle enthaltenen Berechtigungen.

Rolle Berechtigungen

(roles/resourcemanager.projectCreator)

Berechtigung zum Erstellen neuer Projekte. Wenn der Nutzer ein Projekt erstellt, wird ihm automatisch die Inhaberrolle für dieses Projekt zugewiesen.

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

  • Ordner

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

Berechtigung zum Löschen von Google Cloud-Projekten

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

  • Ordner

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Berechtigung zum Aktualisieren und Verschieben von Projekten

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

  • Projekt

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

Berechtigungen zum Verwalten von Zulassungsrichtlinien für Projekte

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

  • Projekt

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.setIamPolicy

(roles/browser)

Lesezugriff zum Suchen in der Hierarchie nach einem Projekt, einschließlich Ordner, Organisation und "allow"-Richtlinie. Diese Rolle berechtigt nicht zum Ansehen der Ressourcen im Projekt.

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

  • Projekt

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

Einfache Rollen

Verwenden Sie einfache Rollen nur, wenn dies unbedingt erforderlich ist. Diese Rollen sind sehr leistungsfähig und umfassen eine große Anzahl von Berechtigungen für alle Google Cloud-Dienste. Weitere Informationen dazu, wann Sie einfache Rollen verwenden sollten, finden Sie unter Einfache Rollen.

Rolle Beschreibung Berechtigungen
roles/owner Vollzugriff auf alle Ressourcen Alle Berechtigungen für alle Ressourcen
roles/editor Schreibzugriff auf die meisten Ressourcen Zugriff auf die meisten Ressourcen zum Erstellen und Aktualisieren
roles/viewer Lesezugriff auf die meisten Ressourcen Zugriff auf die meisten Ressourcen zum Abrufen und Auflisten

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.

Zugriffssteuerung auf Projektebene

Mit der Google Cloud Console, der Cloud Resource Manager API und der Google Cloud CLI können Sie Nutzern Rollen auf Projektebene zuweisen. Eine Anleitung dazu finden Sie unter Zugriff gewähren, ändern und widerrufen.

Standardrollen

Wenn Sie ein Projekt erstellen, wird Ihnen die Rollen/Eigentümer-Rolle für das Projekt zugeteilt, damit Sie als Ersteller die volle Kontrolle haben. Diese Standardrolle kann wie üblich in einer IAM-Richtlinie geändert werden.

VPC Service Controls

VPC Service Controls bietet zusätzliche Sicherheit bei Verwendung der Cloud Resource Manager API. Weitere Informationen zu VPC Service Controls finden Sie in der Übersicht zu VPC Service Controls.

Informationen zu den derzeit geltenden Einschränkungen bei der Verwendung von Resource Manager mit VPC Service Controls finden Sie auf der Seite Unterstützte Produkte und Einschränkungen.