通过容器策略治理配置Pod的安全策略
Gatekeeper准入控制器使用开放策略(OPA)的策略,提供了更符合K8s应用场景的安全策略规则。借助Gatekeeper组件,您可以在容器计算服务ACS控制台启用或自定义安全策略,验证Pod的部署和更新是否安全可控。
策略治理介绍
PodSecurityPolicy(简称PSP)从Kubenetes 1.21版本开始被标记为弃用(Deprecated)状态。为此,ACS集群改版了原先基于PSP的策略管理功能。基于使用OPA策略的Gatekeeper准入控制器,ACK集群扩展了相应的策略治理状态统计和日志上报检索等能力,同时内置了种类丰富的策略治理规则库,提供符合更多K8s应用场景的策略规则。在规则配置上,您可以在控制台上白屏化配置,降低使用策略治理相关能力的门槛。
前提条件
-
已创建ACS集群,具体操作, 请参见创建ACS集群。
-
使用RAM用户进行策略管理时,已确保该RAM用户拥有以下授权:
-
cs:DescribePolicies:列举策略治理规则库列表 -
cs:DescribePoliceDetails:获取策略规则模板详情 -
cs:DescribePolicyGovernanceInCluster:获取集群策略治理详情 -
cs:DescribePolicyInstances:获取集群中当前部署的策略实例列表 -
cs:DescribePolicyInstancesStatus:获取集群当前不同策略类型对应的实例部署状态 -
cs:DeployPolicyInstance:在指定集群中部署策略规则实例 -
cs:DeletePolicyInstance:在指定集群中删除策略规则实例 -
cs:ModifyPolicyInstance:在指定集群中修改策略规则实例
关于如何自定义RAM授权策略,请参见为RAM用户或RAM角色授予RAM权限 。
-
注意事项
-
仅适用于Linux节点。
-
当前不支持自定义策略规则,所有规则均来自于阿里云容器服务内置的规则库。
步骤一:安装或升级策略治理组件
启用安全策略治理功能时,需安装以下组件:
-
gatekeeper组件:基于OPA策略引擎的K8s策略准入控制器,便于您管理和应用集群内的OPA策略,实现命名空间标签管理等功能。
说明仅支持使用ACS集群提供的gatekeeper组件。如您通过其他途径安装了gatekeeper组件,请卸载后重新安装。关于gatekeeper组件的版本发布信息,请参见gatekeeper。
-
logtail-ds日志组件:对不符合策略约束的拦截或告警事件的收集和检索。
-
policy-template-controller组件:为基于阿里云策略模板开发的K8s控制器,便于您更好地管理基于不同策略模板部署的策略实例和集群整体的治理状态。
-
登录容器计算服务控制台,在左侧导航栏选择集群列表。
-
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择安全管理 > 策略管理。
-
在策略管理页面,根据页面提示安装或升级组件。
步骤二:使用策略治理功能
操作入口
-
登录容器计算服务控制台,在左侧导航栏选择集群列表。
-
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择安全管理 > 策略管理。
-
在策略管理页面,按页面提示完成组件安装或升级(如有),然后按需进行以下操作。
查看集群当前策略治理状态
您可以单击策略实施总览页签,查看集群当前的策略治理状态。
-
策略开启总览,包括高危和中危防护策略的总数和已开启数展示,建议开启的策略列表等。
-
近7天拦截和告警结果统计。
-
近7天策略实施记录,当前页面表格中会默认展示7天内最近100条的拦截或告警日志,如果您想查看更多审计日志,可以单击近7天策略实施记录后的
图标,并单击悬浮窗口中的日志服务链接在SLS日志服务控制台指定的logstore中查看全部日志。页面底部还展示近7天策略实施记录表格,包含实施时间、策略类型、策略名称、策略描述、风险等级、实施动作、详情信息等列,记录各策略的具体拦截与告警详情。
创建并管理策略实例
单击我的策略页签,然后单击创建策略实例,在创建策略实例对话框配置相关参数。
|
配置项 |
说明 |
|
策略类型 |
首先选择策略类型,包括如下大类:
|
|
实施动作 |
|
|
策略名称 |
根据选择的策略类型,在策略名称下拉列表中选择需要部署的策略模板名称。 |
|
作用范围 |
选择策略实例实施在集群中哪些指定的命名空间。 |
|
参数配置 |
|
查看策略列表和集群中已部署的策略实例
单击我的策略页签,查看集群所有可部署的策略名称。
您可以在列表右上角筛选显示的策略。已开启的策略名称会优先展示。策略实例数会显示对应策略在集群中已部署的实例个数。
如果策略实例数为空,表明该策略还未在集群中部署,可在操作列单击开启配置参数配置并部署对应的策略实例。策略列表包含策略类型、策略名称、策略描述、风险等级、策略实例数和操作列。未开启的策略在操作列显示开启链接,页面顶部还展示高危、中危、低危的策略风险统计数量。
-
单击操作列中的编辑可以修改策略实例的配置。
当策略在集群中已部署超过1个实例时,可以单击操作列的查看策略实例,然后单击编辑修改相关配置。
-
单击操作列中的删除可以删除该策略在集群中部署的所有实例。
关于策略说明和模板示例的更多信息,请参见容器安全策略规则库说明。
相关文档
关于策略治理支持的四类内置规则库,包括Compliance、Infra、K8s-general和PSP,请参见容器安全策略规则库说明。