Informationen zu benutzerdefinierten IAM-Rollen

Cloud Identity and Access Management (Cloud IAM) bietet vordefinierte Rollen, die detaillierten Zugriff auf bestimmte Google Cloud-Ressourcen gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern.

Cloud IAM bietet die Möglichkeit, benutzerdefinierte Cloud IAM-Rollen zu erstellen. Diese können eine oder mehrere Berechtigungen umfassen und den gewünschten Nutzern zugewiesen werden. Cloud IAM verfügt über eine UI und API zum Erstellen und Verwalten von benutzerdefinierten Rollen.

In diesem Thema ist keine umfassende Liste aller Cloud 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.

Hinweise

Grundlegende Konzepte

In Cloud IAM werden Nutzerberechtigungen nicht direkt gewährt. Stattdessen erteilen Sie Rollen, die eine oder mehrere Berechtigungen umfassen. Cloud IAM enthält drei Arten von Rollen: einfache Rollen, vordefinierte Rollen und benutzerdefinierte Rollen.

Einfache Rollen umfassen drei Rollen, die es bereits vor Cloud 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 oder mehreren unterstützten Berechtigungen, je nach Ihren speziellen Anforderungen. Benutzerdefinierte Rollen werden nicht von Google verwaltet. Bei Implementierung neuer Berechtigungen, Features oder Dienste in Google Cloud werden benutzerdefinierte Rollen nicht automatisch aktualisiert.

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

<service>.<resource>.<verb>
    

Beispiel: Mit der Berechtigung compute.instances.list können Nutzer Google Compute Engine-Instanzen auflisten lassen, deren Inhaber sie sind. Die Berechtigung compute.instances.stop hingegen ermöglicht das Anhalten einer VM.

Berechtigungen stehen normalerweise, 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.

Mit benutzerdefinierten Rollen können nur Berechtigungen in Richtlinien für das Projekt oder die Organisation zugewiesen werden, der diese Rollen oder Ressourcen gehören. Sie können keine benutzerdefinierten Rollen von einem Projekt oder einer Organisation für eine Ressource zuweisen, die einem anderen Projekt oder einer anderen Organisation gehört.

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 "Administrator für IAM-Rollen" (roles/iam.roleAdmin) oder die Rolle "IAM-Sicherheitsprüfer" (roles/iam.securityReviewer) zugewiesen werden, damit sie benutzerdefinierte Rollen ansehen, aber nicht verwalten können.

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 dieses Feature steuern, indem sie die Rolle "Administrator für IAM-Rollen" 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 GCP-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. 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 Cloud 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.

Rolle benennen

Die ID für eine benutzerdefinierte Rolle muss eindeutig sein. Sie kann bis zu 64 Zeichen lang sein und alphanumerische Groß- und Kleinbuchstaben, Unterstriche sowie Punkte enthalten.

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. Titel können bis zu 100 Byte lang sein sowie alphanumerische Zeichen in Groß- und Kleinschreibung und Symbole enthalten. Rollentitel können jederzeit geändert werden.

Wählen Sie die ID Ihrer Rolle sorgfältig aus, da sie nicht geändert werden kann. Sie können eine Rolle zwar löschen, aber keine neue benutzerdefinierte Rolle mit derselben ID erstellen, bis der 37-tägige Löschprozess abgeschlossen ist. Weitere Informationen zum Löschprozess finden Sie unter Benutzerdefinierte Rolle löschen.

Der Rollentitel wird in der Cloud Console angezeigt. Wählen Sie eindeutige Namen, um Verwechslungen vorzubeugen, wenn Nutzer in der Cloud Console benutzerdefinierte Rollen auswählen. Es empfiehlt sich darüber hinaus, anzugeben, ob sich eine Rolle auf die Organisationsebene oder Projektebene bezieht. Dazu binden Sie diese Informationen in den Namen der Rolle ein.

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 und alphanumerische Groß- und Kleinbuchstaben sowie Symbole enthalten.

Testen und bereitstellen

Benutzerdefinierte Rollen enthalten ein Attribut role.stage. Legen Sie die Phase zuerst auf ALPHA fest, um anzugeben, dass sich die Rolle in einer frühen Bereitstellungsphase befindet und nicht zur Produktion zur Verfügung steht. Ermöglichen Sie dann einer kleinen Gruppe von Mitgliedern Ihrer Organisation die Verwendung dieser Rolle in einigen wenigen Anwendungsfällen.

Wenn die Mitglieder mit der neu erstellten benutzerdefinierten Rolle zufrieden sind, ändern Sie das Attribut role.stage zu BETA oder GA. Wenn Ihre benutzerdefinierte Rolle auf Berechtigungen für Dienste in der Betaphase verweist, sollten Sie die Rolle so lange als BETA (und nicht als GA) markieren, bis der Dienst die Betaphase verlassen hat.

Wartung

Jobfunktionen und die Produktfunktionalität entwickeln sich ständig weiter. Um benutzerdefinierte Rollen auf dem neuesten Stand zu halten und nur mit geringsten Rechten auszustatten, ist Wartungsaufwand erforderlich.

Beispiel: Wenn ein freigegebener Dienst neue Betafeatures 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 Betafeatures zu gewähren.

Google kann zwar eine bestehende vordefinierte Rolle aktualisieren, indem Berechtigungen hinzugefügt (oder entfernt) werden, doch werden benutzerdefinierte Rollen nicht basierend auf den vordefinierten Rollen geändert. Benutzerdefinierte Rollen stellen pauschale Berechtigungslisten dar; es sind keine Links zu den vordefinierten Rollen vorhanden, auf denen sie möglicherweise basieren.

Wir empfehlen, diese Details dem Feld "Beschreibung" für eine vorhandene benutzerdefinierte Rolle hinzuzufügen, damit schneller überprüft werden kann, ob aktuelle Änderungen an vordefinierten Rollen Aktualisierungen der benutzerdefinierten Rolle rechtfertigen. Die Cloud Console fügt diese Informationen beim Erstellen einer neuen benutzerdefinierten Rolle automatisch in die Beschreibung ein.

Dem Änderungslog der IAM-Berechtigungen können Sie entnehmen, welche Berechtigungen in letzter Zeit 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 der Rolle zu DEPRECATED und definieren Sie optional eine deprecation_message. Auf diese Weise wissen die Nutzer, welche alternativen Rollen sie verwenden sollten und wo sie weitere Informationen finden. Achten Sie außerdem darauf, dass Richtlinien in Ihrer Organisation nicht mehr auf die verworfene 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. Informationen dazu, ob Sie eine bestimmte Berechtigung in einer benutzerdefinierten Rolle verwenden können, finden Sie unter Supportstufe für Berechtigungen in benutzerdefinierten Rollen.
  • Über benutzerdefinierte Rollen, die in einem Projekt erstellt wurden, können keine anderen Projekte aufgelistet werden. Wenn Sie eine vordefinierte Rolle mit der Berechtigung resourcemanager.projects.list in eine neue benutzerdefinierte Rolle auf Projektebene kopieren, wird eine der folgenden 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 dem Status INVALID_ARGUMENT. Die benutzerdefinierte Rolle wird erst erstellt, wenn Sie die Berechtigung resourcemanager.projects.list aus der Rollendefinition entfernen und den Vorgang wiederholen.

Nächste Schritte

Weitere Informationen über benutzerdefinierte Rollen