全部產品
Search
文件中心

Container Service for Kubernetes:通過安全性原則管理配置Pod的安全性原則

更新時間:Aug 31, 2024

為了滿足叢集合規性要求、提升叢集安全性,推薦您啟用安全性原則管理功能。安全性原則管理功能提供了符合Kubernetes容器應用情境的安全性原則規則,包括Infra(基礎設施層資源)、Compliance(Kubernetes合規規範)、PSP(基於PodSecurityPolicy能力的拓展)和K8s-general(通用策略)維度。您可以在控制台為容器應用開啟或自訂安全性原則,驗證Pod的部署和更新是否安全可控。

策略治理介紹

自Kubernetes 1.21起,PodSecurityPolicy(PSP)被標記為棄用(Deprecated)狀態。為此,ACK升級了原先基於PSP的策略管理功能。基於使用OPA策略的Gatekeeper Admission Controller,ACK擴充了相應的策略治理狀態統計、日誌上報檢索等能力,同時內建了種類豐富的策略治理規則庫,提供符合更多Kubernetes應用情境的策略規則。在規則配置上,您可以在控制台上白屏化配置,降低使用原則治理相關能力的門檻。

前提條件

  • 叢集版本為v1.16及以上。如需升級叢集,請參見手動升級叢集

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

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

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

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

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

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

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

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

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

    關於如何自訂RAM授權策略,請參見為RAM使用者或RAM角色授予RAM許可權

注意事項

  • 僅適用於Linux節點。

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

步驟一:安裝或升級安全性原則管理組件

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

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

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

    啟用安全性原則管理功能時,需安裝以下組件。以下組件本身不收取費用,但會佔用您的Pod資源。

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

      說明

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

    • alibaba-log-controller組件:用於收集和檢索不符合策略約束的攔截或警示事件。

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

步驟二:使用安全性原則管理功能

操作入口

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

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

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

查看叢集當前安全性原則執行狀態

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

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

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

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

建立並管理安全性原則執行個體

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

配置項

說明

策略類型

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

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

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

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

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

更多資訊,請參見容器安全性原則規則庫說明

策略名稱稱

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

實施動作

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

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

作用範圍

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

參數配置

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

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

查看安全性原則列表和叢集中已部署的安全性原則執行個體

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

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

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

策略規則說明

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

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

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

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

相關操作:為命名空間或Service開啟刪除保護

參見步驟一:安裝或升級安全性原則管理組件啟用安全性原則管理功能後,您還可以為涉及關鍵業務、敏感性資料的命名空間或Service開啟刪除保護功能,以避免誤刪除帶來的維護成本。啟用後,僅當您手動關閉刪除保護後,對應的資源才可以被刪除。

下文以為存量命名空間的開啟刪除保護為例,介紹流程步驟。其他動作步驟流程類似,您可以進入控制台對應頁面,按照頁面提示完成配置。

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

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇命名空間與配額

  3. 在命名空間列表的操作列,單擊編輯,在對話方塊中按照頁面完成刪除保護的啟用。

相關文檔

配置巡檢功能可以掃描叢集中工作負載配置的安全隱患。更多資訊,請參見配置巡檢檢查叢集工作負載