檢視次數:
設定檔適用性:級別 1
RBAC 角色 cluster-admin提供對環境的廣泛權限,應僅在必要時使用。
Kubernetes 提供一組預設角色,其中使用了 RBAC。有些角色如 cluster-admin 提供廣泛的權限,應僅在絕對必要時使用。像 cluster-admin 這樣的角色允許超級使用者訪問,以執行任何資源上的任何操作。當在 ClusterRoleBinding 中使用時,它賦予集群中所有資源和所有命名空間的完全控制。當在 RoleBinding 中使用時,它賦予角色綁定命名空間中的每個資源,包括命名空間本身的完全控制。
注意
注意
預設情況下,提供了一個名為 cluster-admin 的單一 clusterrolebinding,其主體為 system:masters 群組。

影響

在從環境中移除任何clusterrolebindings之前,應謹慎行事,以確保它們不是集群運行所需的。特別是,不應對具有system:前綴的clusterrolebindings進行修改,因為它們是系統組件運行所必需的。

稽核

通過查看每個具有cluster-admin角色訪問權限的角色綁定的clusterrolebinding輸出,獲取有權訪問cluster-admin角色的主體列表。
kubectl get clusterrolebindings -o=custom-
columns=NAME:.metadata.name,ROLE:.roleRef.name,SUBJECT:.subjects[*].name
檢查每個列出的主體,並確保其需要cluster-admin權限。

補救

識別所有與cluster-admin角色相關的clusterrolebindings。檢查它們是否被使用,以及是否需要此角色,或者是否可以使用權限較低的角色。在可能的情況下,首先將用戶綁定到權限較低的角色,然後移除與cluster-admin角色相關的clusterrolebinding
kubectl delete clusterrolebinding [name]