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 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-Name | Berechtigungen |
---|---|
viewer | Kann alle Inhalte von allen Namespaces anschauen, ausser Secrets. |
user | Kann Namespaces erstellen und die selber erstellten Namespaces löschen, hat aber keinen Zugriff zu anderen Namespaces. Kann Secrets im eigenen Namespace einsehen |
admin | Hat 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 Rolle | Berechtigungen |
---|---|
cluster-admin | Diese 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. |
admin | Erlaubt 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. |
edit | Erlaubt 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. |
view | Erlaubt 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 .