Ansichten:
Profilanwendbarkeit: Stufe 1
Die RBAC-Rolle cluster-admin bietet umfassende Befugnisse über die Umgebung und sollte nur dort und dann verwendet werden, wenn es erforderlich ist.
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 beliebige Aktionen auf beliebigen Ressourcen 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 der Rollenbindung, einschließlich des Namespaces selbst.
Hinweis
Hinweis
Standardmäßig wird ein einzelnes clusterrolebinding namens cluster-admin mit der system:masters-Gruppe als Hauptkomponente bereitgestellt.

Auswirkung

Es sollte darauf geachtet werden, bevor clusterrolebindings aus der Umgebung entfernt wird, 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 clusterrolebinding-Ausgabe 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 jede aufgeführte Hauptinstanz und stellen Sie sicher, dass das cluster-admin-Privileg dafür erforderlich ist.

Wiederherstellung

Identifizieren Sie alle clusterrolebindings für die Rolle cluster-admin. Ü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. Binden Sie nach Möglichkeit zuerst Benutzer an eine Rolle mit weniger Berechtigungen und entfernen Sie dann die clusterrolebinding für die Rolle cluster-admin:
kubectl delete clusterrolebinding [name]