檢視次數:
設定檔適用性:等級 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'