Ansichten:
Profilanwendbarkeit: Stufe 1
Die RBAC-Rolle cluster-admin bietet weitreichende Befugnisse über die Umgebung und sollte nur dort und dann verwendet werden, wo und wann es notwendig ist.
Kubernetes bietet eine Reihe von Standardrollen, bei denen RBAC verwendet wird. Einige dieser Rollen wie cluster-admin bieten weitreichende Privilegien, die nur dann angewendet werden sollten, wenn es absolut notwendig ist. Rollen wie cluster-admin erlauben 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 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 Vorsicht walten gelassen 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 der Systemkomponenten erforderlich sind.

Prüfung

Erhalten Sie eine Liste der Prinzipale, 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, wo möglich, Benutzer zuerst an eine Rolle mit weniger Berechtigungen und entfernen Sie dann die clusterrolebinding für die Rolle cluster-admin:
kubectl delete clusterrolebinding [name]