Rollenbasierte Zugriffssteuerung konfigurieren

In den folgenden Schritten wird beschrieben, wie Sie die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) in einem Kf-Bereich konfigurieren.

Hinweise

Folgen Sie dem GKE-RBAC-Leitfaden, bevor Sie mit den folgenden Schritten fortfahren.

Identity and Access Management (IAM) konfigurieren

Zusätzlich zu den Berechtigungen, die mit Kf RBAC gewährt werden, müssen Nutzer, Gruppen oder Dienstkonten auch authentifiziert werden, um GKE-Cluster auf Projektebene aufzurufen. Diese Anforderung entspricht der Konfiguration von GKE RBAC. Nutzer/Gruppen müssen also mindestens die IAM-Berechtigung container.clusters.get in dem Projekt haben, in dem sich der Cluster befindet. Diese Berechtigung ist in der Rolle container.clusterViewer und in anderen umfassenderen Rollen enthalten. Weitere Informationen finden Sie unter Interaktion mit Identity and Access Management.

Weisen Sie einem Nutzer oder einer Gruppe container.clusterViewer zu.

gcloud projects add-iam-policy-binding ${CLUSTER_PROJECT_ID} \
  --role="container.clusterViewer" \
  --member="${MEMBER}"

Beispiele für Mitgliedswerte:

  • user:test-user@gmail.com
  • group:admins@example.com
  • serviceAccount:test123@example.domain.com

Space-Mitgliedschaft als SpaceManager verwalten

Als „Clusteradministrator“ oder Mitglieder mit der Rolle SpaceManager können einem Nutzer, einer Gruppe oder einem Dienstkonto die Rolle zuweisen.

kf set-space-role MEMBER -t [Group|ServiceAccount|User]

Als „Clusteradministrator“ oder Mitglieder mit der Rolle SpaceManager können Mitglieder aus einer Rolle entfernen.

kf unset-space-role MEMBER -t [Group|ServiceAccount|User]

Sie können Mitglieder und ihre Rollen in einem Bereich ansehen.

kf space-users

Beispiele

Weisen Sie einem Nutzer die Rolle SpaceDeveloper zu.

kf set-space-role alice@example.com SpaceDeveloper

Weisen Sie einer Gruppe die Rolle SpaceDeveloper zu.

kf set-space-role devs@example.com SpaceDeveloper -t Group

Weisen Sie einem Dienstkonto die Rolle SpaceDeveloper zu.

kf set-space-role sa-dev@example.domain.com SpaceDeveloper -t ServiceAccount

Anwendungsentwicklung als SpaceDeveloper

Mitglieder mit der Rolle SpaceDeveloper können im Space Kf-App-Entwicklungsvorgänge ausführen.

So pushen Sie eine Anwendung:

kf push app_name -p [PATH_TO_APP_ROOT_DIRECTORY]

So rufen Sie Logs einer Anwendung auf: posix-terminal kf logs app_name

Stellen Sie eine SSH-Verbindung zu einem Kubernetes-Pod her, auf dem die Anwendung ausgeführt wird: posix-terminal kf ssh app_name

Sehen Sie sich die verfügbaren Service Broker an:

kf marketplace

Anwendungen als SpaceManager oder SpaceAuditor aufrufen

Mitglieder mit der Rolle SpaceManager oder SpaceAuditor können sich die verfügbaren Anwendungen im Space ansehen:

kf apps

Kf-Spaces in einem Cluster aufrufen

Alle Rollen (SpaceManager, SpaceDeveloper und SpaceAuditor) können die verfügbaren Kf-Bereiche in einem Cluster aufrufen:

kf spaces

Space-Mitglieder und ihre Rollen innerhalb eines Spaces anzeigen.

kf space-users

Identitätsflags

Um die Berechtigung eines Mitglieds zu überprüfen, kann ein Mitglied mit umfassenderen Berechtigungen die Berechtigungen eines anderen Mitglieds testen, indem es die entsprechenden Identitätsflags verwendet: --as und --as-group.

Als Clusteradministrator können Sie beispielsweise überprüfen, ob ein Nutzer (Nutzername: bob) die Berechtigung zum Pushen einer Anwendung hat.

kf push APP_NAME --as bob

Prüfen Sie, ob eine Gruppe (manager-group@beispiel.de) berechtigt ist, anderen Mitgliedern die Berechtigung zuzuweisen.

kf set-space-role bob SpaceDeveloper --as-group manager-group@example.com