設定檔適用性:等級 1 - 叢集 / 控制平面
Kubernetes 角色和 ClusterRoles 通過定義允許的對象和操作集合來授予對資源的訪問權限。將這些角色設置為通配符 "*" 字符,這會匹配所有項目,可能會導致安全弱點,因為它會無意中授予對新資源的訪問權限,無論是通過自定義資源定義
(CRD) 還是平台的未來版本。從安全角度來看,這種做法是不建議的,因為它違背了最小特權原則,該原則要求嚴格限制用戶訪問其角色所需的內容,從而避免在 Kubernetes
API 中提供過多的權限。
審計
檢索叢集中每個命名空間中定義的角色並檢查是否有萬用字元:
kubectl get roles --all-namespaces -o yaml
檢索叢集中定義的叢集角色並檢查是否有萬用字元:
kubectl get clusterroles -o yaml
補救措施
在可能的情況下,將 clusterroles 和 roles 中使用的任何萬用字元替換為特定的對象或操作。