Informationen zu benutzerdefinierten IAM-Rollen

Die Identitäts- und Zugriffsverwaltung (IAM) bietet vordefinierte Rollen, die detaillierten Zugriff auf bestimmte Google Cloud-Ressourcen gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern.

IAM bietet auch die Möglichkeit, benutzerdefinierte IAM-Rollen zu erstellen. Sie können eine benutzerdefinierte IAM-Rolle mit einer oder mehreren Berechtigungen erstellen und sie dann Nutzern zuweisen. IAM bietet eine Benutzeroberfläche und eine API zum Erstellen und Verwalten benutzerdefinierter Rollen.

In diesem Thema ist keine umfassende Liste aller IAM-Berechtigungen aufgeführt, die Sie benutzerdefinierten Rollen zuweisen können. Informationen dazu, ob eine bestimmte Berechtigung in benutzerdefinierten Rollen unterstützt wird, finden Sie unter Supportstufe für Berechtigungen in benutzerdefinierten Rollen.

Hinweis

Grundlegende Konzepte

In IAM gewähren Sie Nutzern Berechtigungen nicht direkt. Stattdessen erteilen Sie Rollen, die eine oder mehrere Berechtigungen umfassen. In IAM gibt es drei Arten von Rollen: einfache Rollen, vordefinierte Rollen und benutzerdefinierte Rollen.

Einfache Rollen umfassen drei Rollen, die es bereits vor IAM gab: "Inhaber", "Bearbeiter" und "Betrachter".

Vordefinierte Rollen werden von Google erstellt und verwaltet. Die zugehörigen Berechtigungen werden nach Bedarf automatisch aktualisiert, wenn z. B. Google Cloud um neue Features oder Dienste erweitert wird.

Benutzerdefinierte Rollen werden vom Nutzer definiert und ermöglichen die Zusammenstellung von einer unterstützten Berechtigung oder von mehreren, je nach Ihren speziellen Anforderungen. Benutzerdefinierte Rollen werden nicht von Google verwaltet. Bei einer Implementierung neuer Berechtigungen, Features oder Dienste in Google Cloud werden benutzerdefinierte Rollen nicht automatisch aktualisiert.

Wenn Sie eine benutzerdefinierte Rolle erstellen, müssen Sie eine Organisation oder ein Projekt auswählen. Anschließend können Sie die benutzerdefinierte Rolle für die Organisation oder das Projekt sowie für alle Ressourcen innerhalb dieser Organisation oder des Projekts zuweisen.

Eine benutzerdefinierte Rolle erstellen Sie, indem Sie eine oder mehrere der verfügbaren IAM-Berechtigungen kombinieren. Mit Berechtigungen werden Nutzer autorisiert, bestimmte Aktionen für Google Cloud-Ressourcen durchzuführen. Im Bereich IAM werden Berechtigungen so dargestellt:

service.resource.verb

Mit der Berechtigung compute.instances.list kann ein Nutzer zum Beispiel die Compute Engine-Instanzen auflisten, die ihm gehören. Mit compute.instances.stop können Nutzer eine VM beenden.

Berechtigungen stehen meistens, aber nicht immer, im Verhältnis 1:1 zu den REST-Methoden. Das bedeutet, dass jedem Google Cloud-Dienst eine Berechtigung für jede vorhandene REST-Methode zugewiesen ist. Der Aufrufer benötigt diese Berechtigung, um eine Methode aufzurufen. Beispiel: Der Aufrufer von topic.publish() benötigt die Berechtigung pubsub.topics.publish.

Sie können eine benutzerdefinierte Rolle nur innerhalb des Projekts oder der Organisation zuweisen, in der Sie sie erstellt haben. Sie können keine benutzerdefinierten Rollen für andere Projekte oder Organisationen oder für Ressourcen innerhalb anderer Projekte oder Organisationen zuweisen.

Erforderliche Berechtigungen und Rollen

Zum Erstellen einer benutzerdefinierten Rolle muss ein Aufrufer die Berechtigung iam.roles.create haben.

Nutzern, die keine Inhaber sind, einschließlich Organisationsadministratoren, muss die Rolle "Administrator für Organisationsrollen" (roles/iam.organizationRoleAdmin), die Rolle "IAM-Rollenadministrator" (roles/iam.roleAdmin) oder die Rolle "IAM-Sicherheitsüberprüfer" (roles/iam.securityReviewer) zugewiesen werden, damit sie benutzerdefinierte Rollen ansehen, aber nicht verwalten können. Weitere Informationen zum Zuweisen dieser Rollen finden Sie unter Zugriff gewähren, ändern und widerrufen.

Die Benutzeroberfläche für benutzerdefinierte Rollen befindet sich in der Google Cloud Console unter IAM-Rollen. Sie ist nur für Nutzer verfügbar, die zum Erstellen oder Verwalten von benutzerdefinierten Rollen berechtigt sind. Standardmäßig können nur Projektinhaber neue Rollen erstellen. Projektinhaber können den Zugriff auf diese Funktion steuern, indem sie die Rolle "IAM-Rollenadministrator" anderen Nutzern im gleichen Projekt gewähren. Wenn es sich um eine Organisation handelt, können nur Organisationsadministratoren die Rolle "Administrator für Organisationsrollen" gewähren.

Die administrativen Rollen werden weiter unten detailliert beschrieben.

Rolle "Administrator für Organisationsrollen"

Wenn Ihrem Google Cloud-Konto eine Organisation zugeordnet ist, können Sie mit der Rolle "Administrator für Organisationsrollen" alle benutzerdefinierten Rollen in Ihrer Organisation verwalten. Diese Rolle kann nur auf Organisationsebene gewährt werden. Nur Organisationsadministratoren können die Rolle "Administrator für Organisationsrollen" gewähren.

In der folgenden Tabelle sind die Berechtigungen der Rolle "Administrator für Organisationsrollen" aufgelistet:

Rolle Berechtigungen
roles/iam.organizationRoleAdmin iam.roles.create
iam.roles.delete
iam.roles.undelete
iam.roles.get
iam.roles.list
iam.roles.update
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
resourcemanager.projects.list
resourcemanager.organizations.get
resourcemanager.organizations.getIamPolicy

Rolle "Rollenadministrator"

Mit der Rolle "Rollenadministrator" können Sie alle benutzerdefinierten Rollen für ein Projekt verwalten. Verwenden Sie diese Rolle, wenn Sie keine Organisation haben. Diese Rolle kann nur von Projekt- oder Organisationsinhabern auf Projektebene gewährt werden.

In der folgenden Tabelle sind die Berechtigungen der Rolle "Rollenadministrator" aufgelistet:

Rolle Berechtigungen
roles/iam.roleAdmin iam.roles.create
iam.roles.delete
iam.roles.undelete
iam.roles.get
iam.roles.list
iam.roles.update
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy

Lebenszyklus benutzerdefinierter Rollen

Es gibt einige Konzepte, die Sie bei der Entscheidung beachten sollten, wie Sie Ihre benutzerdefinierten Rollen modellieren, erstellen und verwalten.

Erstellung

Bevor Sie sich entscheiden, eine benutzerdefinierte Rolle zu erstellen, prüfen Sie, ob der Dienst eine vordefinierte Rolle oder eine Kombination aus mehreren vordefinierten Rollen hat, die Ihren Anforderungen entspricht. Eine vollständige Liste vordefinierter Rollen sowie die Berechtigungen, die in den einzelnen vordefinierten Rollen enthalten sind, finden Sie in der Referenz für vordefinierte Rollen.

Wenn keine vordefinierte Rolle bzw. keine Kombination vordefinierter Rollen vorhanden ist, die Ihren Anforderungen entspricht, können Sie eine benutzerdefinierte Rolle erstellen, die nur die Berechtigungen enthält, die Sie gewähren möchten. Weitere Informationen finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.

Nicht unterstützte bzw. nicht verfügbare Berechtigungen

Einige Berechtigungen sind möglicherweise für Sie nicht sichtbar oder in einer benutzerdefinierten Rolle nicht verwendbar. Beispielsweise ist eine Berechtigung möglicherweise nicht für die Verwendung in benutzerdefinierten Rollen verfügbar, wenn sich der Dienst in der Betaphase befindet oder Sie für den Dienst nicht die API aktiviert haben.

Unter Support-Ebene für Berechtigungen in benutzerdefinierten Rollen können Sie nachlesen, ob Sie eine bestimmte Berechtigung für benutzerdefinierte Rollen verwenden können. Weitere Informationen dazu, welche Berechtigungen Sie für eine bestimmte Ressource nutzen können, finden Sie unter Verfügbare Berechtigungen für eine Ressource abrufen.

Berechtigungen und Abhängigkeiten

Einige Berechtigungen sind nur gültig, wenn sie paarweise gewährt werden. Wenn Sie beispielsweise eine IAM-Richtlinie aktualisieren möchten, müssen Sie das Muster read-modify-write verwenden. Daher benötigen Sie für die Aktualisierung einer Richtlinie fast immer die Berechtigung getIamPolicy für den jeweiligen Dienst und Ressourcentyp sowie die Berechtigung setIamPolicy.

Damit Ihre benutzerdefinierten Rollen tatsächlich wirksam sind, können Sie benutzerdefinierte Rollen anhand vordefinierter Rollen mit ähnlichen Berechtigungen erstellen. An den vordefinierten Rollen sehen Sie, welche Berechtigungen in der Regel in Kombination verwendet werden.

Weitere Informationen zum Erstellen einer benutzerdefinierten Rolle anhand einer vordefinierten Rolle finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.

Rolle benennen

Rollen haben sowohl eine ID als auch einen Titel. Die Rollen-ID ist eine eindeutige Kennung für die Rolle. Der Rollentitel wird in der Liste der Rollen in der Cloud Console angezeigt.

Rollen-IDs müssen innerhalb des Projekts oder der Organisation, in der Sie die Rolle erstellt haben, eindeutig sein. Dadurch wird sichergestellt, dass die vollständige ID der Rolle, einschließlich des Projekts oder der Organisation, eindeutig ist. Rollen-IDs können bis zu 64 Zeichen lang sein und alphanumerische Groß- und Kleinbuchstaben, Unterstriche sowie Punkte enthalten.

Rollen-IDs können nicht geändert werden. Wählen Sie Ihre Rollen-IDs daher sorgfältig aus. Sie können eine benutzerdefinierte Rolle löschen, aber erst nach Abschluss des 37-tägigen Löschvorgangs können Sie eine neue benutzerdefinierte Rolle mit derselben vollständigen ID erstellen. Weitere Informationen zum Löschvorgang finden Sie unter Benutzerdefinierte Rolle löschen.

Der Name für eine benutzerdefinierte Rolle kann mehrmals vorkommen. Daher kann in der Cloud Console mehr als eine benutzerdefinierte Rolle mit demselben Titel angezeigt werden. Verwenden Sie eindeutige und aussagekräftige Namen für Ihre benutzerdefinierten Rollen, um Verwechslungen zu vermeiden. Außerdem sollten Sie im Rollennamen angeben, ob es sich um eine Rolle auf Organisations- oder auf Projektebene handelt.

Rollentitel können bis zu 100 Byte lang sein sowie alphanumerische Zeichen in Groß- und Kleinschreibung und Symbole enthalten. Sie können den Rollentitel jederzeit ändern.

Rollenbeschreibung

Erwägen Sie nach der Bearbeitung einer benutzerdefinierten Rolle, ob Sie auch die Rollenbeschreibung aktualisieren und das Änderungsdatum sowie eine Zusammenfassung des beabsichtigten Zwecks der Rolle aufnehmen möchten. Beschreibungen können bis zu 256 Zeichen lang sein sowie alphanumerische Zeichen in Groß- und Kleinschreibung und Symbole enthalten.

Testen und bereitstellen

Benutzerdefinierte Rollen umfassen eine Startphase, die im Attribut stage für die Rolle gespeichert wird. Die Startphase dient der Information. Sie können damit nachverfolgen, ob jede Rolle für die allgemeine Verwendung bereit ist.

Jede benutzerdefinierte Rolle kann eine der folgenden Startphasen haben:

Startphasen
ALPHA Die Rolle wird noch entwickelt oder getestet oder enthält Berechtigungen für Google Cloud-Dienste oder -Funktionen, die noch nicht öffentlich sind. Sie ist noch nicht für die allgemeine Verwendung bereit.
BETA Die Rolle wurde nur eingeschränkt getestet oder enthält Berechtigungen für Google Cloud-Dienste oder -Funktionen, die nicht allgemein verfügbar sind.
GA Die Rolle wurde umfassend getestet und alle Berechtigungen gelten für Google Cloud-Dienste oder -Funktionen, die allgemein verfügbar sind.

Legen Sie beim Erstellen einer benutzerdefinierten Rolle die Startphase auf ALPHA fest. Bitten Sie einige Mitglieder Ihrer Organisation, die Rolle zu testen. Nachdem Sie sich vergewissert haben, dass die benutzerdefinierte Rolle korrekt funktioniert, ändern Sie die Startphase in BETA oder GA.

Wartung

Jobfunktionen und die Produktfunktionalität entwickeln sich ständig weiter. Es erfordert Wartungsaufwand, benutzerdefinierte Rollen auf dem neuesten Stand zu halten und dem Prinzip der geringsten Berechtigung zu folgen.

Beispiel: Wenn ein freigegebener Dienst neue Betafunktionen erhält, sind diese API-Methoden öffentlich verfügbar, und die Berechtigungen werden den jeweiligen einfachen und vordefinierten Rollen automatisch hinzugefügt. Ihre benutzerdefinierten Rollen für diesen Dienst übernehmen diese neuen Berechtigungen nicht. Aus diesem Grund kann es vorkommen, dass Nutzer, die diesen benutzerdefinierten Rollen zugewiesen sind, nicht auf die neuen Betafunktionen zugreifen können. An diesem Punkt können Sie wählen, ob Sie eine benutzerdefinierte Rolle hinzufügen oder möglicherweise eine separate erstellen möchten, um nur bestimmten Nutzern Zugriff auf diese Betafunktionen zu gewähren.

Google kann zwar eine bestehende vordefinierte Rolle durch Hinzufügen (oder Entfernen) von Berechtigungen aktualisieren, doch werden benutzerdefinierte Rollen nicht anhand von vordefinierten Rollen geändert. Benutzerdefinierte Rollen sind einfache Listen mit Berechtigungen. Eine benutzerdefinierte Rolle hat keinen Link zu den vordefinierten Rollen, auf denen sie möglicherweise basiert.

Wenn Ihre benutzerdefinierte Rolle auf vordefinierten Rollen basiert, empfehlen wir, diese Rollen im Beschreibungsfeld der benutzerdefinierten Rolle aufzulisten. Dadurch können Sie leichter feststellen, ob Sie Ihre benutzerdefinierte Rolle anhand von Änderungen an einer vordefinierten Rolle aktualisieren sollten. Die Cloud Console fügt diese Informationen automatisch in die Beschreibung ein, wenn eine neue benutzerdefinierte Rolle erstellt wird. Weitere Informationen zum Aktualisieren der Beschreibung einer benutzerdefinierten Rolle finden Sie unter Vorhandene benutzerdefinierte Rolle bearbeiten.

Im Änderungsprotokoll für Berechtigungen sehen Sie, welche Rollen und Berechtigungen kürzlich geändert wurden.

Benutzerdefinierte Rollen deaktivieren

Wenn Sie nicht mehr möchten, dass Personen in Ihrer Organisation die Rolle verwenden, ändern Sie das Attribut role.stage in DEPRECATED und legen Sie optional deprecation_message fest, um den Nutzern mitzuteilen, welche alternativen Rollen verwendet werden sollen oder wo sie weitere Informationen erhalten. Achten Sie außerdem darauf, dass Richtlinien in Ihrer Organisation nicht mehr auf die veraltete Rolle verweisen.

Wenn Sie sicher sind, dass die Rolle deaktiviert werden kann, rufen Sie roles:UpdateRole() auf, um diese Rolle zu deaktivieren.

Bekannte Einschränkungen

  • Einige vordefinierte Rollen enthalten Berechtigungen, die in benutzerdefinierten Rollen nicht zulässig sind. Weitere Informationen dazu, ob Sie eine bestimmte Berechtigung in einer benutzerdefinierten Rolle verwenden können, finden Sie unter Supportstufe für Berechtigungen in benutzerdefinierten Rollen.
  • Die Berechtigung resourcemanager.projects.list wird nur für benutzerdefinierte Rollen auf Organisationsebene unterstützt, nicht jedoch für benutzerdefinierte Rollen auf Projektebene. Wenn Sie eine vordefinierte Rolle mit der Berechtigung resourcemanager.projects.list in eine neue benutzerdefinierte Rolle auf Projektebene kopieren, wird eine dieser Meldungen angezeigt:
    • Cloud Console: Die folgende Warnmeldung wird angezeigt: "Nicht anwendbar für benutzerdefinierte Rollen auf Projektebene". Die Berechtigung resourcemanager.projects.list wird automatisch aus der Liste der enthaltenen Berechtigungen entfernt und Sie können mit dem Erstellen der Rolle fortfahren.
    • gcloud-Befehlszeilentool von Cloud SDK: Die folgende Fehlermeldung wird zurückgegeben: INVALID_ARGUMENT: Permission resourcemanager.projects.list is not valid. Die benutzerdefinierte Rolle wird erst erstellt, wenn Sie die Berechtigung resourcemanager.projects.list aus der Rollendefinition entfernen und den Vorgang wiederholen.
    • Google Cloud APIs: Folgende Fehlermeldung wird zurückgegeben: Permission resourcemanager.projects.list is not valid, zusammen mit einem HTTP 400-Fehlercode und einem Status von INVALID_ARGUMENT. Die benutzerdefinierte Rolle wird erst erstellt, wenn Sie die Berechtigung resourcemanager.projects.list aus der Rollendefinition entfernen und den Vorgang wiederholen.

Weitere Informationen

Weitere Informationen über benutzerdefinierte Rollen