設定檔適用性:等級 1 - 主節點
RBAC 角色
cluster-admin
提供對環境的廣泛權限,應僅在必要時使用。Kubernetes 提供了一組使用 RBAC 的預設角色。其中一些角色如
cluster-admin
提供了廣泛的權限,應僅在絕對必要時使用。像 cluster-admin
這樣的角色允許超級使用者訪問,能對任何資源執行任何操作。當在 ClusterRoleBinding
中使用時,它對叢集中的每個資源和所有命名空間具有完全控制。當在 RoleBinding
中使用時,它對 rolebinding 的命名空間中的每個資源,包括命名空間本身,具有完全控制。
注意預設情況下,會提供一個名為
cluster-admin 的單一 clusterrolebinding ,其主要群組為 system:masters 。 |
影響
在從環境中移除任何
clusterrolebindings
之前,應謹慎操作,以確保它們不是叢集運行所必需的。特別是,不應對具有 system:
前綴的 clusterrolebindings
進行修改,因為它們是系統組件運行所必需的。審計
獲取有權訪問
cluster-admin
角色的主體列表,方法是查看每個具有訪問cluster-admin
角色權限的角色綁定的clusterrolebinding
輸出。kubectl get clusterrolebindings -o=custom- columns=NAME:.metadata.name,ROLE:.roleRef.name,SUBJECT:.subjects[*].name
檢查每個列出的主體,並確保它需要
cluster-admin
權限。補救措施
識別所有與
cluster-admin
角色相關的clusterrolebindings
。檢查它們是否被使用,以及它們是否需要此角色,或者是否可以使用權限較少的角色。在可能的情況下,首先將用戶綁定到較低特權的角色,然後移除
clusterrolebinding
到 cluster-admin
角色:kubectl delete clusterrolebinding [name]