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 erforderlich ist. Rollen wie cluster-admin ermöglichen Superuser-Zugriff, um beliebige Aktionen auf beliebigen Ressourcen auszuführen.Wenn es in einer
ClusterRoleBinding verwendet wird, gibt es Vollzugriff auf jede Ressource im Cluster und in allen Namespaces.
Wenn es in einer RoleBinding verwendet wird, gibt es Vollzugriff auf jede Ressource im Namespace der RoleBinding,
einschließlich des Namespaces selbst.
HinweisStandardmäß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 Rolle
cluster-admin haben, indem Sie die Ausgabe von clusterrolebinding für jede Rollenbindung überprüfen, die Zugriff auf die Rolle cluster-admin hat.Hier ist eine prägnante und effektive CLI-Anweisung, um alle Principals (Benutzer,
Gruppen oder Dienstkonten) aufzulisten, die an die Rolle
cluster-admin gebunden sind:kubectl get clusterrolebinding -o jsonpath='{range .items[?(@.roleRef.name=="cluster-admin")]}{.metadata.name}{"\n"}{range .subjects[*]}{.kind}{"\t"}{.name}{"\n"}{end}{"\n"}{end}'
Überprüfen Sie jeden aufgeführten Principal 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 niedrigeren Berechtigungen
und entfernen Sie dann die
clusterrolebinding zur cluster-admin Rolle :kubectl delete clusterrolebinding [name]
