Zum Hauptinhalt springen

Benutzer & Berechtigungen

Für maximale Sicherheit kontrolliert nine den Benutzerzugriff und die Authentifizierung zu Ihrem Cluster. Wenn Sie neue Benutzer hinzufügen möchten, müssen Sie dies bei support@nine.ch anfordern.

Benutzerrollen

Nine Managed GKE bietet verschiedene Rollen für Benutzer-accounts, welche beim Erstellen des Benutzers angegeben werden müssen. Die Rollen gehören primär zum Kubernetes Cluster, beeinflussen aber auch, was auf Runway dargestellt wird und später erklärt wird.

Es existieren folgende Rollen:

Rollen-NameBerechtigungen
viewerKann alle Inhalte von allen Namespaces anschauen, ausser Secrets.
userKann Namespaces erstellen und die selber erstellten Namespaces löschen, hat aber keinen Zugriff zu anderen Namespaces. Kann Secrets im eigenen Namespace einsehen
adminHat Vollzugriff auf alle Namespaces

Weiter ist es möglich, die viewer und user Rolle zu kombinieren. Dies führt zu einem User, welche alle Namespaces einsehen kann und eigene Namespaces erstellen kann, in welche der User vollen Zugriff erhält.

Berechtigungen auf Namespaces

Standardmässig wird dem User, welcher einen Namespace erstellt, Admin Berechtigungen im Namespace vergeben. Des weiteren erhalten alle User mit der Admin Rolle ebenfalls Vollzugriff und Viewer erhalten Lesezugriff auf den erstellten Namespace.

Falls Sie anderen Benutzern, welche keine globalen Rechte (admin oder viewer) besitzen, Zugriff auf Namespaces geben wollen, müssen Sie diese mittels sogenannten rolebindings an Cluster Rollen binden. Jeder GKE Cluster beinhaltet die folgenden vordefinierten Cluster Rollen, welche in Namespaces benutzt werden können:

  • cluster-admin
  • admin
  • edit
  • view

Die folgende Tabelle listet die Unterschiede dieser Cluster Rollen auf (wenn sie in rolebindings genutzt werden):

Name der Cluster RolleBerechtigungen
cluster-adminDiese Rolle erlaubt vollen Zugriff auf alle Objekte in einem Namespace (inklusive dem Namespace Objekt selbst). Nutzer mit dieser Rolle können die Berechtigungen im Namespace ändern.
adminErlaubt administrativen Zugriff im Namespace. Diese Rolle gibt lesenden- und schreibenden Zugriff auf die meisten Resourcen im Namespace (inklusive der Berechtigung neue Rollen und rolebindings zu erstellen bzw. zu ändern). Diese Rolle erlaubt keinen schreibenden Zugriff auf Resourcen Quotas oder auf das Namespace Objekt selbst. Aufgrund der genannten Einschränkungen kann diese Rolle keine Berechtigungen im Namespace selbst ändern.
editErlaubt lesenden- und schreibenden Zugriff auf die meisten Resourcen im Namespace. Es gelten die gleichen Einschränkungen wie die der admin Rolle, jedoch wird zusätzlich kein Zugriff auf Rollen oder rolebindings gewährt.
viewErlaubt nur lesenden Zugriff auf die meisten Resourcen im Namespace. Es wird kein Zugriff auf Rollen oder rolebindings gewährt. Weiterhin ist kein Zugriff auf secrets im Namespace erlaubt.

Um anderen Benutzern eine der vordefinierten Cluster Rollen zuzuweisen, können Sie die kubectl Applikation nutzen. Hier ein paar Beispiele:

# creating a namespace admin with full privileges
kubectl create rolebinding custom-admins-full-privileges --clusterrole=cluster-admin --user=<name>@ninegcp.ch [--user ...] --namespace=<your namespace>

# creating a normal namespace admin
kubectl create rolebinding custom-admins --clusterrole=admin --user=<name>@ninegcp.ch [--user ...] --namespace=<your namespace>

# granting normal edit permissions
kubectl create rolebinding custom-editors --clusterrole=edit --user=<name>@ninegcp.ch [--user ...] --namespace=<your namespace>

# granting view only permissions
kubectl create rolebinding custom-viewers --clusterrole=view --user=<name>@ninegcp.ch [--user ...] --namespace=<your namespace>

Um die erstellten rolebindings nachträglich zu verändern kann der Befehl kubectl edit rolebinding <rolebinding name> -n <your namespace> benutzt werden.

Runway

Auf Runway werden Service Accounts, die Key-Files jener und Verbindungsinformationen wie Passwörter für CloudSQL Instanzen gelistet. Da Service Accounts höhere Privilegien haben könnten wie User Accounts ist es nur Admins erlaubt, diese Informationen einzusehen. Falls jedoch einem Benutzeraccount, welcher nicht Admin ist, Zugriff auf diese Informationen gegeben werden soll, ist es möglich, diesem Benutzer die Rolle credentials-viewer zu geben. Dieses Feature sollte mit Vorsicht gebraucht werden, da dies Privilege Escalation Attacks ermöglicht.

Passwort reset

Falls Sie ein neues Passwort für Ihren nine Managed GKE Account benötigen, kontaktieren Sie bitte support@nine.ch.