Ansichten:
Profilanwendbarkeit: Stufe 1
Die RBAC-Rolle cluster-admin bietet umfassende Befugnisse über die Umgebung und sollte nur bei Bedarf verwendet werden.
Kubernetes bietet eine Reihe von Standardrollen, bei denen RBAC verwendet wird. Einige dieser Rollen, wie cluster-admin, bieten weitreichende Privilegien, die nur dort angewendet werden sollten, wo es unbedingt notwendig ist. Rollen wie cluster-admin ermöglichen Superuser-Zugriff, um jede Aktion auf jeder Ressource auszuführen. Wenn sie in einem ClusterRoleBinding verwendet werden, geben sie Vollzugriff auf jede Ressource im Cluster und in allen Namespaces. Wenn sie in einem RoleBinding verwendet werden, geben sie Vollzugriff auf jede Ressource im Namespace des RoleBindings, einschließlich des Namespaces selbst.
Hinweis
Hinweis
Standardmäßig wird eine einzelne clusterrolebinding namens cluster-admin mit der Gruppe system:masters als Hauptgruppe bereitgestellt.

Auswirkung

Es sollte darauf geachtet werden, bevor clusterrolebindings aus der Umgebung entfernt werden, um sicherzustellen, dass sie nicht für den Betrieb des Clusters erforderlich waren. Insbesondere sollten keine Änderungen an clusterrolebindings mit dem Präfix system: vorgenommen werden, da sie für den Betrieb von Systemkomponenten erforderlich sind.

Prüfung

Erhalten Sie eine Liste der Benutzer, die Zugriff auf die cluster-admin-Rolle haben, indem Sie die Ausgabe der clusterrolebinding für jede Rollenbindung überprüfen, die Zugriff auf die cluster-admin-Rolle hat.
kubectl get clusterrolebindings -o=custom-columns=NAME:.metadata.name,ROLE:.roleRef.name,SUBJECT:.subjects[*].name
Überprüfen Sie jeden aufgeführten Hauptbenutzer und stellen Sie sicher, dass das cluster-admin-Privileg dafür erforderlich ist.

Wiederherstellung

Identifizieren Sie alle clusterrolebindings zur cluster-admin-Rolle. Überprüfen Sie, ob sie verwendet werden und ob sie diese Rolle benötigen oder ob sie eine Rolle mit weniger Berechtigungen verwenden könnten.
Wo möglich, binden Sie Benutzer zunächst an eine Rolle mit geringeren Privilegien und entfernen Sie dann die clusterrolebinding zur cluster-admin-Rolle:
kubectl delete clusterrolebinding [name]