全部產品
Search
文件中心

Container Compute Service:通過容器策略治理配置Pod的安全性原則

更新時間:Dec 11, 2024

Gatekeeper准入控制器使用開放策略(OPA)的策略,提供了更多符合K8s應用情境的安全性原則規則。藉助ACK叢集引入的Gatekeeper組件,您可以在Container Service控制台啟用或自訂安全性原則,驗證Pod的部署和更新是否安全可控。

策略治理介紹

PodSecurityPolicy(簡稱PSP)從Kubenetes 1.21版本開始被標記為棄用(Deprecated)狀態。為此,ACK叢集改版了原先基於PSP的策略管理功能。基於使用OPA策略的Gatekeeper准入控制器,ACK叢集擴充了相應的策略治理狀態統計和日誌上報檢索等能力,同時內建了種類豐富的策略治理規則庫,提供符合更多K8s應用情境的策略規則。在規則配置上,您可以在控制台上白屏化配置,降低使用原則治理相關能力的門檻。

前提條件

  • 已建立ACK託管叢集ACK專有叢集,且叢集版本為v1.16及以上。具體操作, 請參見建立ACK託管叢集建立ACK專有叢集。如需升級叢集,請參見手動升級叢集

  • 使用RAM使用者進行策略管理時,已確保該RAM使用者擁有以下授權:

    • cs:DescribePolicies:列舉策略治理規則庫列表

    • cs:DescribePoliceDetails:擷取策略規則模板詳情

    • cs:DescribePolicyGovernanceInCluster:擷取叢集策略治理詳情

    • cs:DescribePolicyInstances:擷取叢集中當前部署的策略執行個體列表

    • cs:DescribePolicyInstancesStatus:擷取叢集當前不同策略類型對應的執行個體部署狀態

    • cs:DeployPolicyInstance:在指定叢集中部署策略規則執行個體

    • cs:DeletePolicyInstance:在指定叢集中刪除策略規則執行個體

    • cs:ModifyPolicyInstance:在指定叢集中修改策略規則執行個體

    關於如何自訂RAM授權策略,請參見使用RAM授予叢集及雲資源存取權限

注意事項

  • 僅適用於Linux節點。

  • 當前不支援自訂策略規則,所有規則均來自於阿里雲Container Service內建的規則庫。

步驟一:安裝或升級策略治理組件

啟用安全性原則治理功能時,需安裝以下組件:

  • gatekeeper組件:基於OPA策略引擎的K8s策略准入控制器,便於您管理和應用叢集內的OPA策略,實現命名空間標籤管理等功能。

    說明

    僅支援使用ACK叢集提供的gatekeeper組件。如您通過其他途徑安裝了gatekeeper組件,請卸載後重新安裝。關於gatekeeper組件的版本發布資訊,請參見gatekeeper

  • logtail-ds日誌組件:對不符合策略約束的攔截或警示事件的收集和檢索。

  • policy-template-controller組件:為基於阿里雲原則範本開發的K8s控制器,便於您更好地管理基於不同原則範本部署的策略執行個體和叢集整體的治理狀態。

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇安全管理 > 策略管理

  3. 策略管理頁面,根據頁面提示安裝或升級組件。

步驟二:使用原則治理功能

操作入口

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇安全管理 > 策略管理

  3. 策略管理頁面,按頁面提示完成組件安裝或升級(如有),然後按需進行以下操作。

查看叢集當前策略治理狀態

您可以單擊策略實施總覽頁簽,查看叢集當前的策略治理狀態。

  • 策略開啟總覽,包括高危和中危防護策略的總數和已開啟數展示,建議開啟的策略列表等。

  • 近7天攔截和警示結果統計。

  • 近7天策略實施記錄,當前頁面表格中會預設展示7天內最近100條的攔截或警示日誌,如果您想查看更多審計日誌,可以單擊近7天策略實施記錄後的未知表徵圖,並單擊懸浮視窗中的Log Service連結在SLSLog Service控制台指定的logstore中查看全部日誌。策略實施總覽

建立並管理原則執行個體

單擊我的策略頁簽,然後單擊建立策略執行個體,在建立策略執行個體對話方塊配置相關參數。

配置項

說明

策略類型

首先選擇策略類型,包括如下大類:

  • Infra:基礎設施層資源相關的策略類型。

  • Compliance:基於阿里雲K8s加固等K8s合規規範定製的策略類型。

  • PSP:替代Pod Security Policy(PSP)能力的策略類型。

  • K8s-general:基於最佳安全實踐對K8s資源配置進行安全強化約束的通用策略類型。

實施動作

  • 攔截:違反策略規則約束的指定資源部署會被攔截。

  • 警示:違反策略規則約束的指定資源仍舊可以部署,只會產生對應違規審計的警示日誌。

策略名稱稱

根據選擇的策略類型,在策略名稱稱下拉式清單中選擇需要部署的原則範本名稱。

作用範圍

選擇策略執行個體實施在叢集中哪些指定的命名空間。

參數配置

  • 如果參數配置輸入框中預設為空白,說明規則不需要進行參數配置。

  • 如果輸入框中包含需要配置的參數模板,則請參考策略參數說明按照指定格式配置參數。

查看策略列表和叢集中已部署的策略執行個體

單擊我的策略頁簽,查看叢集所有可部署的策略名稱稱。

您可以在列表右上方篩選顯示的策略。已開啟的策略名稱稱會優先展示。策略執行個體數會顯示對應策略在叢集中已部署的執行個體個數。

如果策略執行個體數為空白,表明該策略還未在叢集中部署,可在操作列單擊開啟配置參數配置並部署對應的策略執行個體。策略規則說明

  • 單擊操作列中的編輯可以修改策略執行個體的配置。

    當策略在叢集中已部署超過1個執行個體時,可以單擊操作列的查看策略執行個體,然後單擊編輯修改相關配置。

  • 單擊操作列中的刪除可以刪除該策略在叢集中部署的所有執行個體。

關於策略說明和模板樣本的更多資訊,請參見容器安全性原則規則庫說明

相關文檔