Zugriffssteuerung für Projekte mit IAM

Google Cloud bietet Cloud Identity and Access Management (IAM). Sie können damit bestimmten Google Cloud-Ressourcen detaillierte Zugriffsrechte zuweisen und unerwünschten Zugriff auf andere Ressourcen verhindern. Mit Cloud IAM können Sie das Sicherheitsprinzip der geringsten Berechtigung anwenden und so nur den notwendigen Zugriff auf Ressourcen gewähren.

Mit Cloud IAM können Sie steuern, wer (Nutzer) welchen Zugriff (Rollen) auf welche Ressourcen hat. Dazu legen Sie Cloud IAM-Richtlinien fest, die bestimmte Rollen mit bestimmten Berechtigungen zuweisen.

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

Berechtigungen und Rollen

Bei Cloud IAM erfordert jede Google Cloud-Methode, dass das Konto, das die API-Anfrage stellt, über die entsprechenden Berechtigungen für den Zugriff auf die Ressource verfügt. Mit Berechtigungen werden Nutzer autorisiert, bestimmte Aktionen für Google Cloud-Ressourcen durchzuführen. Mit der Berechtigung resourcemanager.projects.list kann ein Nutzer zum Beispiel seine eigenen Projekte 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.

Um Projekte zu verwalten, muss der Aufrufer eine Rolle mit den folgenden Berechtigungen haben, die für die Organisation oder den Ordner mit den Projekten gewährt wird:

Methode Erforderliche Berechtigungen
resourcemanager.projects.create resourcemanager.projects.create
resourcemanager.projects.delete resourcemanager.projects.delete
resourcemanager.projects.get resourcemanager.projects.get
resourcemanager.projects.getIamPolicy resourcemanager.projects.getIamPolicy
resourcemanager.projects.list Erfordert keine Berechtigungen. Mit der Methode werden Projekte aufgelistet, für die der Aufrufer die Berechtigung resourcemanager.projects.get hat. Wenn Sie beim Aufruf von list() einen Filter anwenden, zum Beispiel byParent, listet die Methode Projekte auf, für die Sie die Berechtigung resourcemanager.projects.get haben und die die Filterbedingung erfüllen.
resourcemanager.projects.setIamPolicy resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions Erfordert keine Berechtigungen.
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.update 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

Einfache Rollen verwenden

Die folgende Tabelle enthält die einfachen Rollen, die Sie für den Zugriff auf ein Projekt zuweisen können, eine Beschreibung der jeweiligen Rolle und die darin enthaltenen Berechtigungen. 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 zum Cloud Identity and Access Management.

Die vordefinierten Cloud IAM-Rollen sind wesentlich differenzierter und ermöglichen eine sorgfältige Verwaltung der Berechtigungen, die Sie Nutzern gewähren. Unter Informationen zu Rollen finden Sie eine Liste der Rollen, die auf Projektebene erteilt werden können. Mit benutzerdefinierten Rollen können Sie die Kontrolle über die Nutzerberechtigungen weiter verbessern.

Rolle Beschreibung Berechtigungen
roles/owner Vollzugriff auf alle Ressourcen Alle Berechtigungen für alle Ressourcen
roles/editor Schreibzugriff auf alle Ressourcen Zugriff auf alle Ressourcen zum Erstellen und Aktualisieren
roles/viewer Lesezugriff auf alle Ressourcen Zugriff auf alle Ressourcen zum Abrufen und Auflisten
roles/browserBeta Zugriff zum Durchsuchen von Ressourcen im Projekt
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.list
  • resourcemanager.projectInvites.get

Benutzerdefinierte Rollen erstellen

Neben den vordefinierten Rollen, die in diesem Thema beschrieben werden, können Sie auch benutzerdefinierte Rollen erstellen. Dies sind 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 für Projektmitglieder gewähren, ändern und aufheben.

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. Siehe oben für die Berechtigungen, die diese Rolle bietet. Diese Standardrolle kann wie üblich in einer Cloud 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.