檢視次數:
設定檔適用性:等級 1
不應使用 default 服務帳戶,以確保更容易審核和檢查授予應用程式的權限。
Kubernetes 提供一個 default 服務帳戶,供未指定特定服務帳戶的叢集工作負載使用。
當需要從 Pod 存取 Kubernetes API 時,應為該 Pod 建立一個特定的服務帳戶,並授予該服務帳戶相應的權限。
應配置預設服務帳戶,使其不提供服務帳戶令牌,且沒有任何明確的權限分配。
注意
注意
預設情況下,default 服務帳戶允許其服務帳戶令牌掛載在其命名空間中的 Pod。

影響

所有需要訪問 Kubernetes API 的工作負載都需要創建一個明確的服務帳戶。

稽核

對於叢集中的每個命名空間,檢查分配給預設服務帳戶的權限,並確保除了預設值外,沒有其他角色或叢集角色與其綁定。
此外,請確保每個預設服務帳戶的 automountServiceAccountToken: false 設定已到位。

補救

在 Kubernetes 工作負載需要特定訪問 Kubernetes API 伺服器時,請創建明確的服務帳戶。
修改每個預設服務帳戶的配置以包含此值:
automountServiceAccountToken: false
預設帳戶的自動修復:
kubectl patch serviceaccount default -p
$'automountServiceAccountToken: false'