Zugriffssteuerung für Projekte mit IAM

Die Google Cloud Platform bietet eine Identitäts- und Zugriffsverwaltung (Identity and Access Management – IAM), mit der Sie den Zugriff auf bestimmte Google Cloud Platform-Ressourcen noch genauer steuern können. Außerdem wird der unerwünschte Zugriff auf andere Ressourcen verhindert. Durch IAM haben Sie die Möglichkeit, das Principle of Least Privilege (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 Projektebene verfügbaren Rollen der Identitäts- und Zugriffsverwaltung (IAM) erklärt. Eine detaillierte Beschreibung von Cloud IAM finden Sie in der IAM-Dokumentation. Lesen Sie insbesondere das Kapitel Zugriff für Projektmitglieder gewähren, ändern und aufheben.

Berechtigungen und Rollen

Bei Cloud IAM muss das Konto, das die API-Anfrage sendet, für jede Methode der Google Cloud Platform die entsprechenden Zugriffsberechtigungen für die Ressource haben. Mit Berechtigungen werden Nutzer autorisiert, bestimmte Aktionen auf Cloud-Ressourcen durchzuführen. Die Berechtigung resourcemanager.projects.list gestattet es einem Nutzer beispielsweise, die ihm gehörenden Projekte aufzulisten, während er mit der Berechtigung resourcemanager.projects.delete ein Projekt löschen darf.

In der folgenden Tabelle sind die Berechtigungen aufgelistet, die ein Nutzer haben muss, um eine Projects API aufzurufen:

Methode Erforderliche Berechtigung(en)
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 dieser Methode werden Projekte aufgelistet, für die der Nutzer die Berechtigung resourcemanager.projects.get hat. Wenn Sie beim Aufrufen von list() einen Filter wie byParent angeben, 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() Does not require any permission.
resourcemanager.projects.undelete() resourcemanager.projects.undelete
resourcemanager.projects.update() Erfordert zum Aktualisieren der Metadaten eines Projekts die Berechtigung resourcemanager.projects.update. Zum Aktualisieren des übergeordneten Elements eines Projekts und zum Verschieben des Projekts in eine Organisation ist die Berechtigung resourcemanager.projects.create für die Organisation erforderlich.

Sie erteilen den Nutzern die Berechtigungen nicht direkt, sondern Sie weisen ihnen Rollen zu, die eine oder mehrere Berechtigungen enthalten.

Sie können für dasselbe Projekt eine oder mehrere Rollen zuweisen. Wenn Sie die resourcemanager.projects.getIamPolicy()-Methode zum Anzeigen von Berechtigungen verwenden, werden nur die Berechtigungen angezeigt, die dem Projekt direkt zugewiesen sind, und keine übernommenen Berechtigungen.

Vordefinierte Rollen verwenden

Die folgende Tabelle enthält die Rollen, die Sie zuweisen können, um auf ein Projekt zuzugreifen, eine Beschreibung der Rollen und die damit einhergehenden Berechtigungen.

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. 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:
  • List- und Get-Berechtigungen wie resourcemanager.projects.get/list sollten immer gemeinsam erteilt werden.
  • Wenn die benutzerdefinierte Rolle die Berechtigungen folders.list und folders.get enthält, sollte sie auch projects.list und projects.get enthalten.
  • 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

Sie können Nutzern über die Google Cloud Platform Console, die Resource Manager API und das gcloud-Befehlszeilentool 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.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Dokumentation zu Resource Manager