設定檔適用性:級別 1
不應使用
預設
服務帳戶,以確保更容易審核和檢查授予應用程式的權限。Kubernetes 提供一個
default
服務帳戶,該帳戶由叢集工作負載使用,當沒有特定服務帳戶分配給 Pod 時。如果需要從 Pod 訪問 Kubernetes API,應為該 Pod 創建一個特定的服務帳戶,並授予該服務帳戶權限。
應配置預設服務帳戶,使其不提供服務帳戶權杖且沒有任何明確的權限分配。
![]() |
注意預設情況下,
default 服務帳戶允許在其命名空間中的 Pod 中掛載其服務帳戶令牌。 |
影響
所有需要訪問 Kubernetes API 的工作負載都需要創建一個明確的服務帳戶。
審計
對於叢集中每個命名空間,檢查分配給預設服務帳戶的權限,並確保除了預設值外,沒有綁定任何角色或叢集角色。
此外,請確保每個預設服務帳戶都設置
automountServiceAccountToken: false
。補救
在 Kubernetes 工作負載需要特定訪問 Kubernetes API 伺服器時,請創建明確的服務帳戶。
將每個預設服務帳戶的配置修改為包含此值:
automountServiceAccountToken: false
預設帳戶的自動修復:
kubectl patch serviceaccount default -p $'automountServiceAccountToken: false'