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

Um Projekte zu verwalten, muss der Anrufer eine Rolle mit den folgenden Berechtigungen haben. Die Rolle wird für die Organisationsressource oder den Ordner gewährt, 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. Wenn Sie ein übergeordnetes Projekt aktualisieren und das Projekt in eine Organisationsressource verschieben möchten, benötigen Sie die Berechtigung resourcemanager.projects.create für diese Organisationsressource.
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)

Berechtigung zum Verwalten von „allow”-Richtlinien für Projekte

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

  • Projekt

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(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 umfassen eine Vielzahl 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

Neben den in diesem Thema beschriebenen vordefinierten Rollen können Sie auch benutzerdefinierte Rollen erstellen. Dabei handelt es sich um Sammlungen von Berechtigungen, die Sie an Ihre Bedürfnisse 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 hat, sollte sie auch die Berechtigungen projects.list und projects.get einschließen.
  • Beachten Sie, dass einem Nutzer mit der Berechtigung setIamPolicy für Organisations-, Ordner- und Projektressourcen auch alle anderen Berechtigungen erteilt werden. Überlegen Sie sorgfältig, ob dies nötig ist.

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 finden Sie unter Zugriff gewähren, ändern und entziehen.

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 der 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.