Kubernetes集羣的安全機制

集羣的安全性須要考慮如下幾個目標:安全

一、保證容器與其所在宿主機的隔離server

二、限制容器給基礎設施及其餘容器帶來的消極影響的能力對象

三、最小權限原則——合理限制全部組件的權限,確保組件只執行它被受權的行爲進程

四、明確組件間邊界的劃分資源

五、劃分普通用戶和管理員用戶io

六、在必要的時候容許將管理員權限賦給普通用戶集羣

七、容許擁有Secret數據的應用在集羣中運行容器

1、API Server認證基礎

集羣全部資源的訪問和變動都是經過K8S API來實現的,因此集羣安全的關鍵點就是如何識別並認證客戶端的身份,以及認證後的受權問題。配置

K8S集羣提供了3中級別的客戶端身份認證:

1)、最嚴格的的HTTPS雙向證書認證;

2)、HTTP Token認證,經過Token識別合法用戶

3)、HTTP Base認證,經過用戶名+密碼的方式認證

2、API Server 受權

分一下集中受權策略:

1)、AlwaysDeny:拒絕全部請求

2)、AlwaysAllow:接收全部請求

3)、ABAC:基於屬性的訪問控制,使用用戶配置的受權策略匹配用戶的請求,受權策略有如下四種屬性:

  • 用戶名
  • 是否只讀請求
  • 被訪問哪一類資源
  • 被訪問對象所屬的NameSpace

API Server啓用ABAC模式時,須要制定受權文件,受權文件裏的每一行都是Map類型的JSON對象,稱爲「訪問策略對象」。

3、Admission Control准入控制

Admission Control有一個准入控制列表,發送給API server的任何請求都須要經過准入列表的檢查。

4、Service Account

Service Account爲運行在Pod裏的進程使用。

相關文章
相關標籤/搜索