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