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.organizations.list kann ein Nutzer zum Beispiel seine eigenen Organisationen auflisten, während er mit der Berechtigung resourcemanager.projects.delete ein Projekt löschen kann.

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 über eine Rolle verfügen, die die folgenden Berechtigungen umfasst. Die Rolle wird für die Organisation 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.search
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 Organisation verschieben möchten, benötigen Sie die Berechtigung resourcemanager.projects.create für diese Organisation.
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 Rollenname Beschreibung Berechtigungen
roles/resourcemanager.projectCreator Projektersteller

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

  • resourcemanager.organizations.get
  • resourcemanager.projects.create
roles/resourcemanager.projectDeleter Projektlöscher

Berechtigung zum Löschen von Google Cloud-Projekten

  • resourcemanager.projects.delete
roles/resourcemanager.projectMover Projektverschieber

Berechtigung zum Aktualisieren und Verschieben von Projekten

  • resourcemanager.projects.get
  • resourcemanager.projects.move
  • resourcemanager.projects.update
roles/resourcemanager.projectIamAdmin Projekt-IAM-Administrator

Berechtigung zum Verwalten von IAM-Richtlinien für Projekte

  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy
roles/browser Browser

Lesezugriff zum Suchen in der Hierarchie nach einem Projekt, einschließlich Ordner, Organisation und IAM-Richtlinie. Diese Rolle berechtigt nicht zum Aufrufen von Ressourcen des Projekts.

  • 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 zur Verwendung einfacher Rollen finden Sie in den FAQ zur Identitäts- und Zugriffsverwaltung.

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 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 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 Organisationen, Ordner und Projekte auch alle anderen Berechtigungen erteilt werden. Überlegen Sie sorgfältig, ob dies nötig ist.

Zugriffssteuerung auf Projektebene

Mit der Google Cloud Console, der Resource Manager API und dem gcloud-Befehlszeilentool können Sie Nutzern Rollen auf Projektebene zuweisen. Eine genaue 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 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.