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/browser Beta
| Zugriff zum Durchsuchen von Ressourcen im Projekt |
|
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
undfolders.get
enthält, sollte sie auchprojects.list
undprojects.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.