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