2.5. 支持的策略
查看支持的策略示例,了解如何在 Red Hat Advanced Cluster Management for Kubernetes 中创建和管理策略时如何在 hub 集群上定义规则、流程和控制。
2.5.1. 配置策略示例策略表 复制链接链接已复制到粘贴板!
查看以下示例配置策略:
策略示例 | 描述 |
---|---|
确保环境与命名空间一致。请参阅 Kubernetes 命名空间文档。 | |
确保集群工作负载配置。请参阅 Kubernetes Pod 文档。 | |
使用限制范围限制工作负载资源使用情况。请参阅限制范围文档。 | |
Pod 安全策略 (已弃用) | 确保工作负载安全性一致。请参阅 Kubernetes Pod 安全策略文档。 |
使用角色和角色绑定管理角色绑定。请参阅 Kubernetes RBAC 文档。 | |
使用安全性上下文约束管理工作负载权限。请参阅 Openshift 安全性上下文约束文档。 | |
确保通过 etcd 加密的数据安全性。请参阅 Openshift etcd 加密文档。 | |
部署 Compliance Operator,以利用 OpenSCAP 扫描并强制实施集群的合规性状态。请参阅 Openshift Compliance Operator 文档。 | |
应用 Compliance operator 策略后,部署 Essential 8 (E8) 扫描来检查 E8 安全配置集的合规性。请参阅 Openshift Compliance Operator 文档。 | |
应用 Compliance operator 策略后,部署互联网安全中心 (CIS) 扫描,以检查与 CIS 安全配置集的合规性。请参阅 Openshift Compliance Operator 文档。 | |
部署 Container Security Operator,并检测集群中运行的 pod 中的已知镜像漏洞。请参阅 Container Security Operator GitHub。 | |
Gatekeeper 是一个准入 Webhook,它强制执行基于自定义资源定义的策略,由 Open Policy Agent (OPA)策略引擎运行。请参阅 Gatekeeper 文档。 | |
将 Gatekeeper 部署到集群后,部署此示例 Gatekeeper 策略以确保在集群中创建的命名空间标记为指定。 |
2.5.2. 开箱即用策略的支持列表 复制链接链接已复制到粘贴板!
策略 | Red Hat OpenShift Container Platform 3.11 | Red Hat OpenShift Container Platform 4 |
---|---|---|
内存用量策略 | x | x |
命名空间策略 | x | x |
镜像漏洞策略 | x | x |
Pod 策略 | x | x |
Pod 安全策略(已弃用) | ||
角色策略 | x | x |
角色绑定策略 | x | x |
安全性上下文约束策略(SCC) | x | x |
ETCD 加密策略 | x | |
Gatekeeper 策略 | x | |
Compliance operator 策略 | x | |
E8 扫描策略 | x | |
OpenShift CIS 扫描策略 | x | |
策略设置 | x |
查看以下策略示例以查看如何应用特定策略:
更多主题,请参阅监管。
2.5.3. 内存用量策略 复制链接链接已复制到粘贴板!
Kubernetes 配置策略控制器负责监控内存用量策略的状态。使用内存用量策略来限制或约束您的内存和计算用量。如需更多信息,请参阅 Kubernetes 文档中的限制范围。
在以下部分了解更多有关内存用量策略结构的详细信息:
2.5.3.1. 内存用量策略 YAML 结构 复制链接链接已复制到粘贴板!
您的内存用量策略可能类似以下 YAML 文件:
2.5.3.2. 内存用量策略表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
2.5.3.3. 内存用量策略示例 复制链接链接已复制到粘贴板!
请参阅 policy-limitmemory.yaml
查看策略示例。如需了解更多详细信息,请参阅管理安全策略。请参阅策略概述文档,以及 Kubernetes 配置策略控制器,以查看控制器监控的其他配置策略。
2.5.4. 命名空间策略 复制链接链接已复制到粘贴板!
Kubernetes 配置策略控制器负责监控命名空间策略的状态。应用命名空间策略来为您的命名空间定义特定规则。
在以下部分了解更多有关命名空间策略结构的详细信息:
2.5.4.1. 命名空间策略 YAML 结构 复制链接链接已复制到粘贴板!
2.5.4.2. 命名空间策略 YAML 表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
2.5.4.3. 命名空间策略示例 复制链接链接已复制到粘贴板!
请参阅 policy-namespace.yaml
查看策略示例。
如需了解更多详细信息,请参阅管理安全策略。请参阅策略概述文档,以及 Kubernetes 配置策略控制器,以了解其他配置策略。
2.5.5. 镜像漏洞策略 复制链接链接已复制到粘贴板!
应用镜像漏洞策略,以利用 Container Security Operator 来检测容器镜像是否有漏洞。如果没有安装 Container Security Operator,该策略会在受管集群上安装它。
镜像漏洞策略由 Kubernetes 配置策略控制器负责检查。有关 Security Operator 的更多信息,请参阅 Quay 存储库中的 Container Security Operator。
备注:
- 镜像漏洞策略在断开连接的安装过程中无法正常工作。
-
IBM Power 和 IBM Z 架构不支持 镜像漏洞策略。它依赖于 Quay Container Security Operator。container-security-operator registry 中没有
ppc64le
或s390x
镜像。
查看以下部分以了解更多信息:
2.5.5.1. 镜像漏洞策略 YAML 结构 复制链接链接已复制到粘贴板!
在创建容器安全 Operator 策略时,它会涉及以下策略:
创建订阅的策略 (
container-security-operator
) 来引用名称和频道。此配置策略必须将spec.remediationAction
设置为enforce
来创建资源。订阅会拉取配置集,作为订阅支持的容器。查看以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个
inform
配置策略来审核ClusterServiceVersion
,以确保容器安全 Operator 安装成功。查看以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个
inform
配置策略,用于审核镜像漏洞扫描创建的任何ImageManifestVuln
对象。查看以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.5.2. 镜像漏洞策略示例 复制链接链接已复制到粘贴板!
请参阅 policy-imagemanifestvuln.yaml
。如需更多信息,请参阅管理安全策略。请参阅 Kubernetes 配置策略控制器,以查看配置控制器监控的其他配置策略。
2.5.6. Pod 策略 复制链接链接已复制到粘贴板!
Kubernetes 配置策略控制器负责监控 Pod 策略的状态。应用 Pod 策略来为 Pod 定义容器规则。集群中必须存在 pod 才能使用此信息。
在以下部分了解更多有关 pod 策略结构的详细信息:
2.5.6.1. Pod 策略 YAML 结构 复制链接链接已复制到粘贴板!
2.5.6.2. Pod 策略表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
2.5.6.3. Pod 策略示例 复制链接链接已复制到粘贴板!
请参阅 policy-pod.yaml
查看策略示例。
请参阅 Kubernetes 配置策略控制器,以查看配置控制器监控的其他配置策略,并查看 Policy 概述文档,以查看策略 YAML 结构和其他字段的完整描述。返回到管理配置策略文档,以管理其他策略。
2.5.7. Pod 安全策略(已弃用) 复制链接链接已复制到粘贴板!
Kubernetes 配置策略控制器负责监控 Pod 安全策略的状态。应用 Pod 安全策略来保护 Pod 和容器。
在以下部分了解更多有关 Pod 安全策略结构的详细信息:
2.5.7.1. Pod 安全策略 YAML 结构 复制链接链接已复制到粘贴板!
2.5.7.2. Pod 安全策略表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
2.5.7.3. Pod 安全策略示例 复制链接链接已复制到粘贴板!
对 Pod 安全策略的支持已从 OpenShift Container Platform 4.12 及更新的版本中删除,并从 Kubernetes v1.25 及之后的版本中删除。如果应用 PodSecurityPolicy
资源,您可能会收到以下不合规的信息:
violation - couldn't find mapping resource with kind PodSecurityPolicy, please check if you have CRD deployed
violation - couldn't find mapping resource with kind PodSecurityPolicy, please check if you have CRD deployed
- 有关包括弃用通知的更多信息,请参阅 Kubernetes 文档中的 Pod 安全策略。
-
请参阅
policy-psp.yaml
查看示例策略。如需更多信息,请参阅管理配置策略。 - 如需有关策略 YAML 结构的完整描述,请参阅策略概述文档,以及 Kubernetes 配置策略控制器,以查看控制器监控的其他配置策略。
2.5.8. 角色策略 复制链接链接已复制到粘贴板!
Kubernetes 配置策略控制器负责监控角色策略的状态。在 object-template
中定义角色来为集群中的特定角色设置规则和权限。
在以下部分了解更多有关角色策略结构的详细信息:
2.5.8.1. 角色策略 YAML 结构 复制链接链接已复制到粘贴板!
2.5.8.2. 角色策略表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
2.5.8.3. 角色策略示例 复制链接链接已复制到粘贴板!
应用角色策略来为集群中的特定角色设置规则和权限。如需有关角色的更多信息,请参阅基于角色的访问控制。查看角色策略示例,请参阅 policy-role.yaml
。
要了解如何管理角色策略,请参阅管理配置策略以了解更多信息。请参阅 Kubernetes 配置策略控制器,以查看监控控制器的其他配置策略。
2.5.9. 角色绑定策略 复制链接链接已复制到粘贴板!
Kubernetes 配置策略控制器负责监控角色绑定策略的状态。应用角色绑定策略,将策略绑定到受管集群中的命名空间。
在以下部分了解更多有关命名空间策略结构的详细信息:
2.5.9.1. 角色绑定策略 YAML 结构 复制链接链接已复制到粘贴板!
2.5.9.2. 角色绑定策略表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
2.5.9.3. 角色绑定策略示例 复制链接链接已复制到粘贴板!
请参阅 policy-rolebinding.yaml
查看策略示例。有关策略 YAML 结构和其他字段的完整描述,请参阅策略概述文档。请参阅 Kubernetes 配置策略控制器文档,以了解其他配置策略。
2.5.10. 安全性上下文约束策略 复制链接链接已复制到粘贴板!
Kubernetes 配置策略控制器负责监控安全性上下文约束 (SCC) 策略的状态。应用安全性上下文约束 (SCC) 策略,通过在策略中定义条件来控制 Pod 的权限。
在以下部分了解更多有关 SCC 策略的详细信息:
2.5.10.1. SCC 策略 YAML 结构 复制链接链接已复制到粘贴板!
2.5.10.2. SCC 策略表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
有关 SCC 策略内容的解释,请参阅 OpenShift Container Platform 文档中的管理安全性上下文约束。
2.5.10.3. SCC 策略示例 复制链接链接已复制到粘贴板!
应用安全性上下文约束 (SCC) 策略,通过在策略中定义条件来控制 Pod 的权限。如需更多信息,请参阅管理安全性上下文约束(SCC)。
请参阅 policy-scc.yaml
查看策略示例。有关策略 YAML 结构和其他字段的完整描述,请参阅策略概述文档。请参阅 Kubernetes 配置策略控制器文档,以了解其他配置策略。
2.5.11. ETCD 加密策略 复制链接链接已复制到粘贴板!
应用 etcd-encryption
策略,在 ETCD 数据存储中检测或启用敏感数据的加密。Kubernetes 配置策略控制器负责监控 etcd-encryption
策略的状态。如需更多信息,请参阅 OpenShift Container Platform 文档中的加密 etcd 数据。注 :ETCD 加密策略只支持 Red Hat OpenShift Container Platform 4 及更新的版本。
在以下部分了解更多有关 etcd-encryption
策略结构的详细信息:
2.5.11.1. ETCD 加密策略 YAML 结构 复制链接链接已复制到粘贴板!
etcd-encryption
策略可能类似以下 YAML 文件:
2.5.11.2. ETCD 加密策略表 复制链接链接已复制到粘贴板!
字段 | 可选或必需的 | 描述 |
---|---|---|
| 必填 |
将值设置为 |
| 必填 |
将值设为 |
| 必填 | 用于标识策略资源的名称。 |
| 必填 | 策略的命名空间。 |
| 选填 |
指定您的策略的修复。参数值是 |
| 必填 |
将值设为 |
| 必填 | 用于列出包含必须接受评估或应用到受管集群的 Kubernetes 对象的配置策略。 |
2.5.11.3. ETCD 加密策略示例 复制链接链接已复制到粘贴板!
如需策略示例,请参阅 policy-etcdencryption.yaml
。请参阅策略概述文档 和 Kubernetes 配置策略控制器,以查看策略和配置策略字段的更多详情。
2.5.12. Compliance Operator 策略 复制链接链接已复制到粘贴板!
您可以使用 Compliance Operator 自动检查许多技术实施,并将其与行业标准、基准和基准的某些方面进行比较。Compliance Operator 不是一个审核员(auditor)。要符合这些各种标准,您需要与授权的审核员(如限定安全评估器(QSA)、联合授权局(JAB)或其他行业认可的规范机构)合作来评估您的环境。
来自 Compliance Operator 生成的建议基于有关此类标准的一般信息和实践,并可能帮助您进行补救,但实际的合规性是您的责任。与授权的审核员合作来实现符合标准的合规性。
有关最新更新,请参阅 Compliance Operator 发行注记。
2.5.12.1. Compliance Operator 策略概述 复制链接链接已复制到粘贴板!
您可以使用 Compliance Operator 策略在受管集群上安装 Compliance Operator。Compliance Operator 策略在 Red Hat Advanced Cluster Management 中作为 Kubernetes 配置策略创建。OpenShift Container Platform 支持 Compliance Operator 策略。
注: Compliance operator 策略依赖于 OpenShift Container Platform Compliance Operator,它不受 IBM Power 或 IBM Z 架构的支持。如需有关 Compliance Operator 的更多信息,请参阅 OpenShift Container Platform 文档中的了解 Compliance Operator。
2.5.12.2. Compliance operator 资源 复制链接链接已复制到粘贴板!
在创建 Compliance Operator 策略时,会创建以下资源:
-
Operator 安装的 Compliance Operator 命名空间(
openshift-compliance
):
-
用于指定目标命名空间的 operator 组(
compliance-operator
):
-
用于引用名称和频道的订阅(
comp-operator-subscription
)。订阅会拉取配置集作为一个容器,它支持:
2.5.12.3. 其他资源 复制链接链接已复制到粘贴板!
- 如需更多信息,请参阅 OpenShift Container Platform 文档中的管理 Compliance Operator 部分以了解更多详细信息。
-
安装 Compliance Operator 策略后,会创建以下 pod:
compliance-operator
、ocp4
和rhcos4
。请参阅policy-compliance-operator-install.yaml
示例。 - 安装 Compliance Operator 后,您还可以创建并应用 E8 扫描策略和 OpenShift CIS 扫描策略。如需更多信息,请参阅 E8 扫描策略和 OpenShift CIS 扫描策略。
- 要了解有关管理 Compliance Operator 策略的信息,请参阅管理安全策略 以了解更多详细信息。有关配置策略的更多主题,请参阅 Kubernetes 配置策略控制器。
2.5.13. E8 扫描策略 复制链接链接已复制到粘贴板!
一个 Essential 8(E8)扫描策略会部署一个扫描,检查 master 和 worker 节点是否满足 E8 安全配置集。您必须安装 Compliance Operator 以应用 E8 扫描策略。
E8 扫描策略在 Red Hat Advanced Cluster Management 中作为 Kubernetes 配置策略创建。OpenShift Container Platform 4.7 和 4.6 支持 E8 扫描策略。如需更多信息,请参阅 OpenShift Container Platform 文档中的了解 Compliance Operator 部分以了解更多详细信息。
2.5.13.1. E8 扫描策略资源 复制链接链接已复制到粘贴板!
当您创建 E8 扫描策略时,会创建以下资源:
ScanSettingBinding
资源 (e8
) 用于识别要扫描的配置集:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个
ComplianceSuite
资源 (compliance-suite-e8
),用于通过检查status
字段来验证扫描是否已完成:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个
ComplianceCheckResult
资源 (compliance-suite-e8-results
),它通过检查ComplianceCheckResult
自定义资源 (CR) 来报告扫描套件的结果:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
注: 支持自动补救。将补救操作设置为 enforce
以创建 ScanSettingBinding
资源。
请参阅 policy-compliance-operator-e8-scan.yaml
示例。如需更多信息,请参阅管理安全策略。注: 删除 E8 策略后,它会从目标集群或集群中移除。
2.5.14. OpenShift CIS 扫描策略 复制链接链接已复制到粘贴板!
OpenShift CIS 扫描策略会部署一个扫描来检查 master 和 worker 节点是否与 OpenShift CIS 安全基准相符。您必须安装 Compliance operator 以应用 OpenShift CIS 策略。
OpenShift CIS 扫描策略在 Red Hat Advanced Cluster Management 中作为 Kubernetes 配置策略创建。OpenShift Container Platform 4.9、4.7 和 4.6 支持 OpenShift CIS 扫描策略。如需更多信息,请参阅 OpenShift Container Platform 文档中的 了解 Compliance Operator 部分以了解更多详细信息。
2.5.14.1. OpenShift CIS 资源 复制链接链接已复制到粘贴板!
创建 OpenShift CIS 扫描策略时,会创建以下资源:
用于识别要扫描的配置集的
ScanSettingBinding
资源 (cis
):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个
ComplianceSuite
资源 (compliance-suite-cis
),用于通过检查status
字段来验证扫描是否已完成:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 一个
ComplianceCheckResult
资源 (compliance-suite-cis-results
),它通过检查ComplianceCheckResult
自定义资源 (CR) 来报告扫描套件的结果:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
请参阅 policy-compliance-operator-cis-scan.yaml
文件示例。有关创建策略的更多信息,请参阅管理安全策略。