通過安全策略管理配置Pod的安全策略
為了滿足集群合規(guī)性要求、提升集群安全性,推薦您啟用安全策略管理功能。安全策略管理功能提供了符合Kubernetes容器應(yīng)用場景的安全策略規(guī)則,包括Infra(基礎(chǔ)設(shè)施層資源)、Compliance(Kubernetes合規(guī)規(guī)范)、PSP(基于PodSecurityPolicy能力的拓展)和K8s-general(通用策略)維度。您可以在控制臺為容器應(yīng)用開啟或自定義安全策略,驗(yàn)證Pod的部署和更新是否安全可控。
策略治理介紹
自Kubernetes 1.21起,PodSecurityPolicy(PSP)被標(biāo)記為棄用(Deprecated)狀態(tài)。為此,ACK升級了原先基于PSP的策略管理功能。基于使用OPA策略的Gatekeeper Admission Controller,ACK擴(kuò)展了相應(yīng)的策略治理狀態(tài)統(tǒng)計(jì)、日志上報(bào)檢索等能力,同時(shí)內(nèi)置了種類豐富的策略治理規(guī)則庫,提供符合更多Kubernetes應(yīng)用場景的策略規(guī)則。在規(guī)則配置上,您可以在控制臺上白屏化配置,降低使用策略治理相關(guān)能力的門檻。
前提條件
集群版本為v1.16及以上。如需升級集群,請參見手動(dòng)升級集群。
如需使用RAM用戶進(jìn)行策略管理時(shí),請確保該RAM用戶擁有以下授權(quán):
cs:DescribePolicies
:列舉策略治理規(guī)則庫列表cs:DescribePoliceDetails
:獲取策略規(guī)則模板詳情cs:DescribePolicyGovernanceInCluster
:獲取集群策略治理詳情cs:DescribePolicyInstances
:獲取集群中當(dāng)前部署的策略實(shí)例列表cs:DescribePolicyInstancesStatus
:獲取集群當(dāng)前不同策略類型對應(yīng)的實(shí)例部署狀態(tài)cs:DeployPolicyInstance
:在指定集群中部署策略規(guī)則實(shí)例cs:DeletePolicyInstance
:在指定集群中刪除策略規(guī)則實(shí)例cs:ModifyPolicyInstance
:在指定集群中修改策略規(guī)則實(shí)例
關(guān)于如何自定義RAM授權(quán)策略,請參見自定義RAM授權(quán)策略。
注意事項(xiàng)
僅適用于Linux節(jié)點(diǎn)。
不支持自定義策略規(guī)則。所有規(guī)則均來自于阿里云容器服務(wù)內(nèi)置的規(guī)則庫。
步驟一:安裝或升級安全策略管理組件
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在策略管理頁面,根據(jù)頁面提示安裝或升級組件。
啟用安全策略管理功能時(shí),需安裝以下組件。以下組件本身不收取費(fèi)用,但會(huì)占用您的Pod資源。
gatekeeper組件:基于OPA策略引擎的Kubernetes策略準(zhǔn)入控制器,便于您管理和應(yīng)用集群內(nèi)的OPA策略,實(shí)現(xiàn)命名空間標(biāo)簽管理等功能。
說明僅支持使用ACK集群提供的gatekeeper組件。如您通過其他途徑安裝了gatekeeper組件,請卸載后重新安裝。關(guān)于gatekeeper組件的版本發(fā)布信息,請參見gatekeeper。
alibaba-log-controller組件:用于收集和檢索不符合策略約束的攔截或告警事件。
policy-template-controller組件:基于阿里云策略模板開發(fā)的Kubernetes控制器,便于您更好地管理基于不同策略模板部署的策略實(shí)例和集群整體的治理狀態(tài)。
步驟二:使用安全策略管理功能
操作入口
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在策略管理頁面,按頁面提示完成組件的安裝或升級(如有),然后按需進(jìn)行以下操作。
查看集群當(dāng)前安全策略執(zhí)行狀態(tài)
您可以單擊策略實(shí)施總覽頁簽,查看集群當(dāng)前的策略治理狀態(tài)。
策略開啟總覽,包括高危和中危防護(hù)策略的總數(shù)和已開啟數(shù)展示,建議開啟的策略列表等。
近7天攔截和告警結(jié)果統(tǒng)計(jì)。
近7天策略實(shí)施記錄,當(dāng)前頁面表格中會(huì)默認(rèn)展示7天內(nèi)最近100條的攔截或告警日志,如果您想查看更多審計(jì)日志,可以單擊近7天策略實(shí)施記錄后的圖標(biāo),并單擊懸浮窗口中的日志服務(wù)鏈接在SLS日志服務(wù)控制臺指定的logstore中查看全部日志。
創(chuàng)建并管理安全策略實(shí)例
單擊我的策略頁簽,然后單擊創(chuàng)建策略實(shí)例,在創(chuàng)建策略實(shí)例對話框配置相關(guān)參數(shù)。
配置項(xiàng) | 說明 |
策略類型 | 首先選擇策略類型,包括如下大類:
更多信息,請參見容器安全策略規(guī)則庫說明。 |
策略名稱 | 根據(jù)選擇的策略類型,在策略名稱下拉列表中選擇需要部署的策略模板名稱。 |
實(shí)施動(dòng)作 |
|
作用范圍 | 選擇策略實(shí)例實(shí)施在集群中哪些指定的命名空間。 |
參數(shù)配置 |
|
查看安全策略列表和集群中已部署的安全策略實(shí)例
單擊我的策略頁簽,查看集群所有可部署的策略名稱。
您可以在列表右上角篩選顯示的策略。已開啟的策略名稱會(huì)優(yōu)先展示。策略實(shí)例數(shù)會(huì)顯示對應(yīng)策略在集群中已部署的實(shí)例個(gè)數(shù)。
如果策略實(shí)例數(shù)為空,表明該策略還未在集群中部署,可在操作列單擊開啟配置參數(shù)并部署對應(yīng)的策略實(shí)例。
單擊操作列中的編輯可以修改策略實(shí)例的配置。
當(dāng)策略在集群中已部署超過1個(gè)實(shí)例時(shí),可單擊操作列的查看策略實(shí)例,然后單擊編輯修改相關(guān)配置。
單擊操作列中的刪除,可以刪除該策略在集群中部署的所有實(shí)例。
關(guān)于策略說明和模板示例的更多信息,請參見容器安全策略規(guī)則庫說明。
相關(guān)操作:為命名空間或Service開啟刪除保護(hù)
參見步驟一:安裝或升級安全策略管理組件啟用安全策略管理功能后,您還可以為涉及關(guān)鍵業(yè)務(wù)、敏感數(shù)據(jù)的命名空間或Service開啟刪除保護(hù)功能,以避免誤刪除帶來的維護(hù)成本。啟用后,僅當(dāng)您手動(dòng)關(guān)閉刪除保護(hù)后,對應(yīng)的資源才可以被刪除。
下文以為存量命名空間的開啟刪除保護(hù)為例,介紹流程步驟。其他操作步驟流程類似,您可以進(jìn)入控制臺對應(yīng)頁面,按照頁面提示完成配置。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇命名空間與配額。
在命名空間列表的操作列,單擊編輯,在對話框中按照頁面完成刪除保護(hù)的啟用。
相關(guān)文檔
配置巡檢功能可以掃描集群中工作負(fù)載配置的安全隱患。更多信息,請參見配置巡檢檢查集群工作負(fù)載。