GCP Create Custom Role: Bei der Entwicklung einer Software oder einer Anwendung sind Dutzende oder sogar Hunderte von Benutzern beteiligt. Aber nicht alle haben die gleichen Zugriffsrechte. Um den Zugang zu den verschiedenen Ressourcen der Google Cloud Platform zu personalisieren, gibt es GCP Custom.
GCP Create Custom Role: Aber was ist GCP custom role?
GCP custom roles entsprechen den benutzerdefinierten Rollen auf IAM (Identity and Access Management).
GCP custom role auf IAM
💡Zur Erinnerung:
IAM ist die Plattform für die Verwaltung der Authentifizierung und des Zugriffs auf die Google Cloud Platform. Genauer gesagt definiert sie, wer (Nutzer) auf was (Ressourcen) und wie (Rolle) zugreifen kann.
- Der Nutzer: Man spricht auch von einem Hauptkonto. Es kann sich um ein Google-Konto, ein Dienstkonto, eine Google-Gruppe, ein Google Workspace-Konto oder eine Cloud Identity-Domain handeln. Jedes Hauptkonto hat eine eigene Kennung (oft eine E-Mail-Adresse).
- Cloud-Ressourcen: Das sind Instanzen von Compute Engine Virtual Machines, Google Kubernetes Engine Cluster, Cloud Storage Buckets, vollständige Ordner, Projekte, etc.
- Rolle: Die Zugriffsberechtigung wird nicht direkt an den Nutzer vergeben, sondern läuft über Rollen. Diese werden dann den Hauptkonten zugewiesen und fassen eine Reihe von Berechtigungen für eine Ressource zusammen.
- Aber Vorsicht: Es gibt verschiedene Arten von Rollen.
Die verschiedenen Arten von Rollen
Das Cloud IAM Tool hat 3 Arten von Rollen:
- Basisrollen: Diese sind in IAM standardmäßig vorhanden. Es handelt sich dabei um die Rollen „Eigentümer“, „Herausgeber“ und „Leser“. Sobald sie zugewiesen sind, beinhalten sie Tausende von Berechtigungen für GCP-Ressourcen. Daher ist es am besten, diese Art von Rollen nicht zuzuweisen.
- Vordefinierte Rollen: Diese Rollen werden vollständig von Google verwaltet und ermöglichen es, den Zugriff auf Ressourcen zu erlauben oder zu verweigern. Wenn also neue Funktionen oder Dienste hinzugefügt werden, werden die vordefinierten Rollen automatisch aktualisiert.
- Benutzerdefinierte Rollen: Diese werden vom Nutzer selbst definiert. Dadurch können die Zugangsbedingungen an die spezifischen Bedürfnisse der Organisation angepasst werden. Aber bei diesen benutzerdefinierten Rollen gibt es keine automatische Aktualisierung, nachdem eine neue Funktion oder ein neuer Dienst hinzugefügt wurde.Die GCP custom roles basieren auf dem Prinzip des geringsten Privilegs. Das heißt, die Benutzer sollten nicht mehr Berechtigungen haben als nötig. Wenn also eine vordefinierte Rolle die Berechtigung für eine Reihe von Ressourcen beinhaltet, ermöglicht die Erstellung von GCP custom role die Erteilung von Zugriffsrechten für eine ganz bestimmte Ressource und nicht für die Gesamtheit.
💡Gut zu wissen:
Oftmals sind es die Systemadministratoren, die selbst die benutzerdefinierten Rollen entsprechend den Bedürfnissen der Nutzer festlegen. In manchen Fällen können sie aber auch Rollenempfehlungen verwenden (vor allem, wenn die Zuweisungen zu freizügig sind). In einem solchen Fall erhalten sie eine Empfehlung, eine benutzerdefinierte Rolle zu erstellen.
Wie kann man die Rollen auf GCP anpassen?
Erfahre mehr über die verschiedenen Schritte, um eine GCP custom role zu erstellen.
Genehmigungen einholen
Zuallererst musst du die Berechtigungen für die Verwaltung von Rollen erhalten. Das bedeutet, Rollen zu bearbeiten, aufzulisten, zu löschen oder neu zu erstellen. Dazu musst du die Rolle „Rollenadministrator“ (für ein Projekt) oder „Organisationsrollenadministrator“ (für das gesamte Unternehmen) erhalten.
Verfügbare Berechtigungen anzeigen
Die Verwaltung von GCP custom roles hängt von ihrem Standort ab. Wenn die Rolle also auf Organisationsebene angesiedelt ist, wird es nicht möglich sein, eine Berechtigung in eine benutzerdefinierte Rolle auf Projektebene aufzunehmen.
Daher ist es wichtig, dass du die Liste der verfügbaren Berechtigungen überprüfst, bevor du benutzerdefinierte Rollen erstellst. Um diese aufzulisten, kannst du die Google Cloud-Konsole oder das Identity and Access Management API verwenden.
Metadaten erhalten
Bevor du eine GCP Custom Role erstellst, benötigst du ihre Metadaten. Das heißt, die Rollen-ID und alle Berechtigungen, die sie enthält. Auch hier kannst du diese Metadaten über die Google Cloud-Konsole und das IAM-API anzeigen lassen.
Erstellen einer GCP custom role
Rollen werden entweder auf Organisations- oder auf Projektebene (nie auf Ordnerebene) erstellt. Bei letzteren ist es besser, eine Rolle auf Organisationsebene zu definieren, da sie alle Berechtigungen enthalten können, die mit den GCP custom role kompatibel sind. Manche Rollen können jedoch nur auf Organisations- und nicht auf Projektebene verwendet werden. Dies ist zum Beispiel der Fall bei resourcemanager.organizations.get.
Um dann eine benutzerdefinierte Rolle zu erstellen, musst du die folgenden Regeln beachten:
- Maximal 3.000 Berechtigungen ;
- Maximal 64 KB für die Größe des Titels, der Beschreibung und der Berechtigungsnamen.
Wenn du mehr Berechtigungen vergeben musst, kannst du sie auf GCP auf mehrere Custom Roles verteilen.
Um eine benutzerdefinierte Rolle auf Identity and Access Management zu erstellen, kannst du die Konsole der Google Cloud Platform, das IAM-API oder die verschiedenen Programmiersprachen (C++, C, Go, Java, Python) verwenden.
Eine Startphase einbeziehen
Diese Startphase ist optional. Die Idee ist vor allem, die benutzerdefinierte Rolle zu testen, bevor sie in großem Umfang eingesetzt wird. Dies ist besonders wichtig für die Funktion DISABLED, die eine Deaktivierung der GCP custom role beinhaltet.
Eine benutzerdefinierte Rolle bearbeiten
Nach der Erstellung einer GCP custom role ist es am einfachsten, das Modell Lesen-Ändern-Schreiben zu verwenden. Dadurch können die Metadaten einer Ressource (insbesondere die Rollen) aktualisiert werden.
💡Aber Vorsicht: Wenn du Änderungen vornimmst, solltest du darauf achten, dass du der Einzige bist, der diese Änderungen vornimmt. Denn wenn zwei Besitzer gleichzeitig das Modell Lesen-Ändern-Schreiben verwenden, kann es zu Fehlern (fehlgeschlagenen Änderungen) kommen.
Um solche Konflikte zu vermeiden, kannst du ruhig die etag-Eigenschaft verwenden, die die Werte der Abfrage mit dem vorhandenen etag-Wert vergleicht.
Gut zu wissen: Manche Aktualisierungen erscheinen nicht automatisch, sondern erst nach einer gewissen Verzögerung, die bis zu 24 Stunden betragen kann. Dies ist zum Beispiel der Fall, wenn die folgenden Berechtigungen hinzugefügt oder entfernt werden: resourcemanager.organizations.get, resourcemanager.folders.get oder resourcemanager.projects.get.
Beherrsche den Befehl "Create custom role GCP" mit DataScientest
Sehr oft ist die Verwendung von GCP custom role das Vorrecht des Administrators. Um diese Funktion auf der Google Cloud-Plattform zu beherrschen, kannst du die GCP-Zertifizierungen absolvieren. Aber um dein gesamtes Wissen über diesen Cloud-Dienst zu erweitern, ist es besser, eine umfassende Schulung zu absolvieren. Bei DataScient ist genau das möglich. Mach mit!