arrow_back

Benutzerdefinierte IAM-Rollen

Anmelden Teilnehmen
Testen und teilen Sie Ihr Wissen mit unserer Community.
done
Sie erhalten Zugriff auf über 700 praxisorientierte Labs, Skill-Logos und Kurse

Benutzerdefinierte IAM-Rollen

Lab 1 Stunde universal_currency_alt 1 Guthabenpunkt show_chart Einsteiger
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Testen und teilen Sie Ihr Wissen mit unserer Community.
done
Sie erhalten Zugriff auf über 700 praxisorientierte Labs, Skill-Logos und Kurse

GSP190

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Überblick

Cloud IAM stellt die passenden Tools zur Verwaltung von Ressourcenberechtigungen bereit – unkompliziert und hochgradig automatisiert. Sie erteilen Nutzern nicht direkt Berechtigungen. Stattdessen weisen Sie ihnen Rollen zu, die eine oder mehrere Berechtigungen umfassen. Auf diese Weise können Sie Gruppen und Rollen Jobfunktionen in Ihrem Unternehmen zuordnen. Nutzer erhalten nur Zugriff auf die Funktionen, die sie für ihre Arbeit benötigen, und Administratoren können ganzen Nutzergruppen Standardberechtigungen erteilen.

Cloud IAM enthält zwei Arten von Rollen:

  • Vordefinierte Rollen
  • Benutzerdefinierte Rollen

Vordefinierte Rollen werden von Google erstellt und verwaltet. Die zugehörigen Berechtigungen werden nach Bedarf automatisch aktualisiert, z. B. wenn 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 von Google nicht verwaltet. Wenn neue Berechtigungen, Funktionen oder Dienste zu Google Cloud hinzukommen, werden benutzerdefinierte Rollen nicht automatisch entsprechend aktualisiert. Sie erstellen eine benutzerdefinierte Rolle, indem Sie eine oder mehrere der verfügbaren Cloud IAM-Berechtigungen kombinieren. Mit Berechtigungen werden Nutzer autorisiert, bestimmte Aktionen in Google Cloud-Ressourcen auszuführen.

Lerninhalte

In diesem Lab erstellen, aktualisieren und löschen Sie benutzerdefinierte Rollen und stellen Sie wieder her.

Voraussetzungen

Für ein optimales Lernen werden Grundkenntnisse in IAM-Rollen empfohlen.

Einrichtung und Anforderungen

Vor dem Klick auf „Start Lab“ (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
  • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Wenn Sie über ein persönliches Google Cloud-Konto oder -Projekt verfügen, verwenden Sie es nicht für dieses Lab. So werden zusätzliche Kosten für Ihr Konto vermieden.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:

    • Schaltfläche Google Cloud Console öffnen
    • Restzeit
    • Temporäre Anmeldedaten für das Lab
    • Ggf. weitere Informationen für dieses Lab
  2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

    {{{user_0.username | "Username"}}}

    Sie finden den Nutzernamen auch im Bereich Details zum Lab.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

    {{{user_0.password | "Password"}}}

    Sie finden das Passwort auch im Bereich Details zum Lab.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. Klicken Sie sich durch die nachfolgenden Seiten:

    • Akzeptieren Sie die Nutzungsbedingungen.
    • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
    • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie sich eine Liste der Google Cloud-Produkte und ‑Dienste ansehen möchten, klicken Sie oben links auf das Navigationsmenü. Symbol für Navigationsmenü

Cloud Shell aktivieren

Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.

  1. Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren Symbol für Cloud Shell-Aktivierung.

Wenn Sie verbunden sind, sind Sie bereits authentifiziert und das Projekt ist auf Ihre Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:

Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}

gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.

  1. (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
  1. Klicken Sie auf Autorisieren.

Ausgabe:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Um das aktive Konto festzulegen, führen Sie diesen Befehl aus: $ gcloud config set account `ACCOUNT`
  1. (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project

Ausgabe:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.

Region für Ihr Projekt festlegen

Führen Sie den folgenden Befehl aus, um die Region für Ihr Projekt festzulegen:

gcloud config set compute/region {{{project_0.default_region | Region}}}

Einführung in benutzerdefinierte IAM-Rollen

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 Benutzeroberfläche und eine API zum Erstellen und Verwalten benutzerdefinierter Rollen.

Kernpunkt: Mit benutzerdefinierten Rollen können Sie das Prinzip der geringsten Berechtigung anwenden und somit den Nutzer- und Dienstkonten in Ihrer Organisation nur den notwendigen Zugriff zur Durchführung ihrer Aufgaben gewähren.

Hinweis: Sie können benutzerdefinierte Rollen auf Organisationsebene und auf Projektebene erstellen, aber nicht auf Ordnerebene.

Sie erstellen eine benutzerdefinierte Rolle, indem Sie eine oder mehrere der verfügbaren Cloud IAM-Berechtigungen kombinieren. Mit Berechtigungen werden Nutzer autorisiert, bestimmte Aktionen in Google Cloud-Ressourcen auszuführen.

In Cloud IAM werden Berechtigungen so dargestellt:

<service>.<resource>.<verb>

Die Berechtigung compute.instances.list gestattet es Nutzern beispielsweise, ihnen gehörende Compute Engine-Instanzen aufzulisten. Mit compute.instances.stop haben sie die Möglichkeit, eine VM zu beenden.

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 dafür verfügbare REST-Methode zugewiesen ist. Aufrufer benötigen diese Berechtigung, um eine Methode aufzurufen. Der Aufrufer von topic.publish() benötigt beispielsweise die Berechtigung pubsub.topics.publish.

Mit benutzerdefinierten Rollen können nur Berechtigungen in Richtlinien für das Projekt oder die Organisation zugewiesen werden, dem bzw. 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

Aufrufer benötigen die Berechtigung iam.roles.create, um eine benutzerdefinierte Rolle zu erstellen.

Nutzern, die keine Inhaber sind, wie z. B. Organisationsadministratoren, muss entweder die Rolle „Administrator für Organisationsrollen“ (roles/iam.organizationRoleAdmin) oder die Rolle „Administrator für IAM-Rollen“ (roles/iam.roleAdmin) zugewiesen werden. Mit der Rolle des IAM-Sicherheitsprüfers (roles/iam.securityReviewer) können benutzerdefinierte Rollen angesehen, jedoch nicht verwaltet werden.

Die Benutzeroberfläche für benutzerdefinierte Rollen befindet sich in der 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 anderen Nutzern im gleichen Projekt die Rolle „Administrator für IAM-Rollen“ zuweisen. Wenn es sich um eine Organisation handelt, können nur Organisationsadministratoren die Rolle „Administrator für Organisationsrollen“ zuweisen.

Erstellen einer benutzerdefinierten Rolle vorbereiten

Bevor Sie eine benutzerdefinierte Rolle erstellen, möchten Sie möglicherweise Folgendes wissen:

  • Welche Berechtigungen können auf eine Ressource angewendet werden?
  • Welche Rollen können einer Ressource zugewiesen werden?
  • Was sind die Metadaten einer Rolle?

Aufgabe 1: Verfügbare Berechtigungen für eine Ressource abrufen

Bevor Sie eine benutzerdefinierte Rolle erstellen, möchten Sie möglicherweise wissen, welche Berechtigungen auf eine Ressource angewendet werden können. Mit dem gcloud-Befehlszeilentool, der Cloud Console oder der IAM API können Sie alle Berechtigungen abrufen, die auf eine Ressource und die in der Hierarchie darunter liegenden Ressourcen angewendet werden können. Beispielsweise haben Sie die Möglichkeit, alle Berechtigungen abzurufen, die Sie auf eine Organisation und auf Projekte in dieser Organisation anwenden können.

  • Führen Sie folgenden Befehl aus, um die Liste der für Ihr Projekt verfügbaren Berechtigungen abzurufen:
gcloud iam list-testable-permissions //cloudresourcemanager.googleapis.com/projects/$DEVSHELL_PROJECT_ID

Ausgabe:

name: appengine.applications.create stage: GA --- name: appengine.applications.get stage: GA --- name: appengine.applications.update stage: GA --- name: appengine.instances.delete stage: GA --- name: appengine.instances.get stage: GA --- name: appengine.instances.list stage: GA --- customRolesSupportLevel: TESTING name: appengine.memcache.addKey stage: BETA --- customRolesSupportLevel: TESTING name: appengine.memcache.flush stage: BETA ---

Aufgabe 2: Metadaten für die Rolle abrufen

Bevor Sie eine benutzerdefinierte Rolle erstellen, können Sie die Metadaten für vordefinierte und benutzerdefinierte Rollen abrufen. Diese umfassen die Rollen-ID und die in der Rolle enthaltenen Berechtigungen. Sie können die Metadaten über die Cloud Console oder die IAM API anzeigen lassen.

  • Führen Sie den folgenden Befehl aus, um die Metadaten für die Rolle aufzurufen. Ersetzen Sie dabei [ROLE_NAME] durch die Rolle. Beispiel: roles/viewer oder roles/editor:
gcloud iam roles describe [ROLE_NAME]

Beispielausgabe (für roles/viewer):

description: Read access to all custom roles in the project. etag: AA== includedPermissions: - iam.roles.get - iam.roles.list - resourcemanager.projects.get - resourcemanager.projects.getIamPolicy ... ... name: roles/iam.roleViewer stage: GA title: Viewer

Aufgabe 3: Zuweisbare Rollen für Ressourcen aufrufen

Mit dem Befehl gcloud iam list-grantable-roles können Sie eine Liste aller Rollen aufrufen, die sich einer bestimmten Ressource zuweisen lassen.

  • Führen Sie folgenden gcloud-Befehl aus, um zuweisbare Rollen aus Ihrem Projekt aufzulisten:
gcloud iam list-grantable-roles //cloudresourcemanager.googleapis.com/projects/$DEVSHELL_PROJECT_ID

Die Ausgabe sieht in etwa so aus:

--- description: Full management of App Engine apps (but not storage). name: roles/appengine.appAdmin title: App Engine Admin --- description: Ability to view App Engine app status. name: roles/appengine.appViewer title: App Engine Viewer --- description: Ability to view App Engine app status and deployed source code. name: roles/appengine.codeViewer title: App Engine Code Viewer --- ... ...

Aufgabe 4: Benutzerdefinierte Rolle erstellen

Zum Erstellen einer benutzerdefinierten Rolle muss der Aufrufer die Berechtigung iam.roles.create haben. Der Inhaber eines Projekts oder einer Organisation verfügt standardmäßig über diese Berechtigung und kann benutzerdefinierte Rollen erstellen und verwalten.

Nutzern, die keine Inhaber sind, wie z. B. Organisationsadministratoren, muss entweder die Rolle „Administrator für Organisationsrollen“ oder die Rolle „Administrator für IAM-Rollen“ zugewiesen werden.

Erstellen Sie mit dem Befehl gcloud iam roles create neue benutzerdefinierte Rollen auf zwei Arten:

  • Durch Bereitstellen einer YAML-Datei mit der Rollendefinition
  • Durch Festlegung der Rollendefinition mithilfe von Flags

Wenn Sie eine benutzerdefinierte Rolle erstellen, müssen Sie mithilfe des Flags --organization [ORGANIZATION-ID] oder --project [PROJECT-ID] angeben, ob sie für die Organisationsebene oder die Projektebene gilt. Bei jedem der unten aufgeführten Beispiele wird eine benutzerdefinierte Rolle auf Projektebene erstellt.

In den folgenden Abschnitten erstellen Sie benutzerdefinierte Rollen auf Projektebene.

Erstellen Sie eine benutzerdefinierte Rolle mithilfe einer YAML-Datei:

Erstellen Sie eine YAML-Datei, die die Definition für Ihre benutzerdefinierte Rolle enthält. Die Datei muss folgendermaßen strukturiert sein:

title: [ROLE_TITLE] description: [ROLE_DESCRIPTION] stage: [LAUNCH_STAGE] includedPermissions: - [PERMISSION_1] - [PERMISSION_2]

Die jeweiligen Platzhalterwerte werden folgendermaßen beschrieben:

  • [ROLE_TITLE] ist der angezeigte Titel der Rolle, zum Beispiel Role Viewer.
  • [ROLE_DESCRIPTION] ist eine kurze Beschreibung der Rolle, zum Beispiel Beschreibung meiner benutzerdefinierten Rolle.
  • [LAUNCH_STAGE] gibt die Phase einer Rolle im Einführungszyklus an, zum Beispiel ALPHA, BETA oder GA.
  • includedPermissions gibt an, welche Berechtigungen in die benutzerdefinierte Rolle aufgenommen werden sollen, zum Beispiel iam.roles.get.
  1. Erstellen Sie nun Ihre YAML-Datei, um die Rolle zu definieren. Führen Sie dazu folgenden Befehl aus:
nano role-definition.yaml
  1. Fügen Sie der YAML-Datei diese Definition einer benutzerdefinierten Rolle hinzu:
title: "Role Editor" description: "Edit access for App Versions" stage: "ALPHA" includedPermissions: - appengine.versions.create - appengine.versions.delete
  1. Speichern und schließen Sie dann die Datei durch Drücken von STRG+X, J und ENTER.

  2. Führen Sie den folgenden gcloud-Befehl aus:

gcloud iam roles create editor --project $DEVSHELL_PROJECT_ID \ --file role-definition.yaml

Nachdem die Rolle erstellt wurde, wird die folgende Antwort zurückgegeben:

Created role [editor]. description: Edit access for App Versions etag: BwVs4O4E3e4= includedPermissions: - appengine.versions.create - appengine.versions.delete name: projects/{{{project_0.project_id | Project ID}}}/roles/editor stage: ALPHA title: Role Editor

Klicken Sie auf Fortschritt prüfen. Benutzerdefinierte Rolle mithilfe einer YAML-Datei erstellen

Benutzerdefinierte Rolle mithilfe von Flags erstellen

Jetzt verwenden Sie die Flag-Methode, um eine benutzerdefinierte Rolle zu erstellen. Die Flags haben ein ähnliches Format wie die YAML-Datei, sodass Sie schnell verstehen werden, wie der Befehl aufgebaut ist.

  • Führen Sie den folgenden gcloud-Befehl aus, um eine neue Rolle mithilfe von Flags zu erstellen:
gcloud iam roles create viewer --project $DEVSHELL_PROJECT_ID \ --title "Role Viewer" --description "Custom role description." \ --permissions compute.instances.get,compute.instances.list --stage ALPHA

Beispielausgabe:

Created role [viewer]. description: Custom role description. etag: BwVs4PYHqYI= includedPermissions: - compute.instances.get - compute.instances.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: ALPHA title: Role Viewer

Klicken Sie auf Fortschritt prüfen. Benutzerdefinierte Rolle mithilfe von Flags erstellen

Aufgabe 5: Benutzerdefinierte Rollen auflisten

  1. Führen Sie den folgenden gcloud-Befehl aus, um benutzerdefinierte Rollen aufzulisten, die entweder auf Projekt- oder auf Organisationsebene angewendet werden können:
gcloud iam roles list --project $DEVSHELL_PROJECT_ID

Beispielausgabe:

--- description: Edit access for App Versions etag: BwVxLgrnawQ= name: projects/{{{project_0.project_id | Project ID}}}/roles/editor title: Role Editor --- description: Custom role description. etag: BwVxLg18IQg= name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer title: Role Viewer

Sie können auch das Flag --show-deleted angeben, um gelöschte Rollen aufzulisten.

  1. Führen Sie den folgenden gcloud-Befehl aus, um vordefinierte Rollen aufzulisten:
gcloud iam roles list

Aufgabe 6: Vorhandene benutzerdefinierte Rolle aktualisieren

Die Metadaten einer Ressource, beispielsweise einer Rolle, werden häufig nach dem folgenden Muster aktualisiert: Der aktuelle Status wird gelesen, die Daten werden lokal aktualisiert und die geänderten Daten werden anschließend zum Schreiben gesendet. Dabei kann es jedoch zu Konflikten kommen, wenn zwei oder mehr voneinander unabhängige Prozesse gleichzeitig nach diesem Muster verfahren.

Wenn beispielsweise zwei Inhaber eines Projekts gleichzeitig versuchen, gegensätzliche Änderungen an der Rolle vorzunehmen, könnte es passieren, dass einige Änderungen nicht übernommen werden.

Cloud IAM löst dieses Problem durch die Verwendung des Attributs etag in benutzerdefinierten Rollen. Mit diesem Attribut wird überprüft, ob sich die benutzerdefinierte Rolle seit der letzten Anfrage geändert hat. Wenn Sie eine Anfrage mit einem ETag-Wert an Cloud IAM senden, vergleicht Cloud IAM den ETag-Wert in der Anfrage mit dem vorhandenen ETag-Wert, der der benutzerdefinierten Rolle zugeordnet ist. Die Änderung wird nur geschrieben, wenn die ETag-Werte übereinstimmen.

Mit dem Befehl gcloud iam roles update können Sie benutzerdefinierte Rollen auf zwei Arten aktualisieren:

  • Durch eine YAML-Datei, die die aktualisierte Rollendefinition enthält
  • Durch Flags, die die aktualisierte Rollendefinition angeben

Wenn Sie eine benutzerdefinierte Rolle aktualisieren, müssen Sie mithilfe des Flags --organization [ORGANIZATION_ID] oder --project [PROJECT_ID] angeben, ob sie für die Organisationsebene oder die Projektebene gilt. Bei jedem der unten aufgeführten Beispiele wird eine benutzerdefinierte Rolle auf Projektebene erstellt.

Durch den Befehl describe wird die Definition der Rolle zurückgegeben. Er enthält einen ETag-Wert, der eindeutig die aktuelle Version der Rolle angibt. Der ETag-Wert sollte in der Definition der aktualisierten Rolle angegeben werden, um sicherzustellen, dass nebenläufige Rollenänderungen nicht überschrieben werden.

Benutzerdefinierte Rolle mithilfe einer YAML-Datei aktualisieren

  1. Rufen Sie die aktuelle Definition der Rolle ab. Führen Sie dazu den folgenden gcloud-Befehl aus und ersetzen Sie dabei [ROLE_ID] durch editor.
gcloud iam roles describe [ROLE_ID] --project $DEVSHELL_PROJECT_ID

Der Befehl describe gibt die folgende Ausgabe zurück:

description: [ROLE_DESCRIPTION] etag: [ETAG_VALUE] includedPermissions: - [PERMISSION_1] - [PERMISSION_2] name: [ROLE_ID] stage: [LAUNCH_STAGE] title: [ROLE_TITLE]
  1. Kopieren Sie die Ausgabe. Damit wird in den nächsten Schritten eine neue YAML-Datei erstellt.

  2. Erstellen Sie in einem Editor die Datei new-role-definition.yaml:

nano new-role-definition.yaml
  1. Fügen Sie die Ausgabe des letzten Befehls ein und die folgenden beiden Berechtigungen unter includedPermissions hinzu:
- storage.buckets.get - storage.buckets.list

Abschließend sollte Ihre YAML-Datei folgendermaßen aussehen:

description: Edit access for App Versions etag: BwVxIAbRq_I= includedPermissions: - appengine.versions.create - appengine.versions.delete - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/editor stage: ALPHA title: Role Editor
  1. Speichern und schließen Sie die Datei mit STRG+X, J und ENTER.

  2. Nun aktualisieren Sie die Rolle mit dem Befehl update. Führen Sie den folgenden gcloud-Befehl aus und ersetzen Sie dabei [ROLE_ID] durch editor:

gcloud iam roles update [ROLE_ID] --project $DEVSHELL_PROJECT_ID \ --file new-role-definition.yaml

Nachdem die Rolle aktualisiert wurde, wird die folgende Antwort zurückgegeben:

description: Edit access for App Versions etag: BwVxIBjfN3M= includedPermissions: - appengine.versions.create - appengine.versions.delete - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/editor stage: ALPHA title: Role Editor

Klicken Sie auf Fortschritt prüfen. Benutzerdefinierte Rolle mithilfe einer YAML-Datei aktualisieren

Benutzerdefinierte Rolle mithilfe von Flags aktualisieren

Jeder Teil einer Rollendefinition kann mithilfe eines entsprechenden Flags aktualisiert werden. Eine Liste aller anwendbaren Flags aus der SDK-Referenzdokumentation finden Sie unter gcloud iam roles update.

Verwenden Sie die folgenden Flags, um Berechtigungen hinzuzufügen oder zu entfernen:

  • --add-permissions fügt der Rolle durch Kommas getrennte Berechtigungen hinzu.
  • --remove-permissions entfernt durch Kommas getrennte Berechtigungen aus der Rolle.

Alternativ können Sie die neuen Berechtigungen einfach mit dem Flag --permissions [PERMISSIONS] angeben und eine durch Kommas getrennte Liste von Berechtigungen bereitstellen, um die vorhandene Berechtigungsliste zu ersetzen.

  • Führen Sie den folgenden gcloud-Befehl aus, um der Rolle viewer mithilfe von Flags Berechtigungen zuzuweisen:
gcloud iam roles update viewer --project $DEVSHELL_PROJECT_ID \ --add-permissions storage.buckets.get,storage.buckets.list

Nachdem die Rolle aktualisiert wurde, wird die folgende Antwort zurückgegeben:

description: Custom role description. etag: BwVxLi4wTvk= includedPermissions: - compute.instances.get - compute.instances.list - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: ALPHA title: Role Viewer

Klicken Sie auf Fortschritt prüfen. Benutzerdefinierte Rolle mithilfe von Flags aktualisieren

Aufgabe 7: Benutzerdefinierte Rolle deaktivieren

Beim Deaktivieren einer Rolle werden alle Richtlinienbindungen deaktiviert, die mit der Rolle in Zusammenhang stehen. Die Berechtigungen in der Rolle werden also selbst dann nicht gewährt, wenn Sie die Rolle einem Nutzer zuweisen.

Am einfachsten lässt sich eine vorhandene benutzerdefinierte Rolle deaktivieren, indem das Flag --stage auf DISABLED gesetzt wird.

  • Führen Sie den folgenden gcloud-Befehl aus, um die Rolle viewer zu deaktivieren:
gcloud iam roles update viewer --project $DEVSHELL_PROJECT_ID \ --stage DISABLED

Nachdem die Rolle aktualisiert wurde, wird die folgende Antwort zurückgegeben:

description: Custom role description. etag: BwVxLkIYHrQ= includedPermissions: - compute.instances.get - compute.instances.list - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: DISABLED title: Role Viewer

Klicken Sie auf Fortschritt prüfen. Benutzerdefinierte Rolle deaktivieren

Aufgabe 8: Benutzerdefinierte Rolle löschen

  • Mit dem Befehl gcloud iam roles delete können Sie eine benutzerdefinierte Rolle löschen. Nach dem Löschen ist die Rolle inaktiv und kann nicht zum Erstellen neuer IAM-Richtlinienbindungen verwendet werden:
gcloud iam roles delete viewer --project $DEVSHELL_PROJECT_ID

Beispielausgabe:

deleted: true description: Custom role description. etag: BwVxLkf_epw= includedPermissions: - compute.instances.get - compute.instances.list - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: DISABLED title: Role Viewer

Nachdem die Rolle gelöscht wurde, bleiben vorhandene Bindungen erhalten, sind aber inaktiv. Die Rolle kann innerhalb von sieben Tagen wiederhergestellt werden. Nach sieben Tagen beginnt das endgültige Löschen der Rolle, das 30 Tage dauert. Nach 37 Tagen kann die Rollen-ID wieder verwendet werden.

Hinweis: Wenn eine Rolle schrittweise eingestellt werden soll, ändern Sie deren Attribut role.stage in DEPRECATED und legen Sie den Parameter „deprecation_message fest“. Damit wissen die Nutzer, welche alternativen Rollen sie verwenden und wo sie weitere Informationen finden können.

Aufgabe 9: Benutzerdefinierte Rolle wiederherstellen

  • Eine Rolle können Sie Innerhalb des 7-Tage-Zeitraums wiederherstellen. Gelöschte Rollen weisen den Status DISABLED auf. Um sie wieder verfügbar zu machen, aktualisieren Sie das Flag --stage:
gcloud iam roles undelete viewer --project $DEVSHELL_PROJECT_ID

Klicken Sie auf Fortschritt prüfen. Benutzerdefinierte Rolle wiederherstellen

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

In diesem Lab haben Sie benutzerdefinierte Rollen in IAM erstellt und verwaltet.

Nächste Schritte / Weitere Informationen

Weitere Informationen zu IAM finden Sie im IAM-Artikel Cloud-Identitäts- und Zugriffsverwaltung.

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Anleitung zuletzt am 15. April 2024 aktualisiert

Lab zuletzt am 13. Juli 2023 getestet

© 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail