第 3 章 Gatekeeper operator
Gatekeeper 是一个验证 webhook,它带有审计功能,可以强制执行基于自定义资源定义的策略,该策略使用 Open Policy Agent (OPA) 运行。您可以使用 Gatekeeper operator 策略在集群中安装 Gatekeeper。Gatekeeper 约束可用于评估 Kubernetes 资源合规性。您可以使用 OPA 作为策略引擎,并使用 Rego 作为策略语言。
先决条件: 安装 Gatekeeper 并将 Gatekeeper 策略应用到集群时,需要 Red Hat Advanced Cluster Management for Kubernetes 或 Red Hat OpenShift Container Platform Plus 订阅。只有在最新版本的 Red Hat Advanced Cluster Management 支持的 OpenShift Container Platform 版本(版本 3.11 除外)上支持 gatekeeper。
继续阅读以了解更多有关使用 Gatekeeper operator 的信息:
3.1. 集成 Gatekeeper 约束和约束模板 复制链接链接已复制到粘贴板!
Gatekeeper 策略通过使用约束模板(ConstraintTemplates)和约束编写。查看 Red Hat Advanced Cluster Management 策略中使用 Gatekeeper 约束的以下 YAML 示例:
ConstraintTemplates和约束: 使用 Red Hat Advanced Cluster Management 策略在 hub 集群上进行多集群发布 Gatekeeper 约束和 Gatekeeper 审计结果聚合。以下示例定义了一个 GatekeeperConstraintTemplate和 constraint (K8sRequiredLabels),以确保在所有命名空间中设置了gatekeeper标签:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 因为
remediationAction被设置为inform,所以 Gatekeeper 约束的enforcementAction字段会被覆盖来warn。这意味着 Gatekeeper 会检测并警告您创建或更新缺少gatekeeper标签的命名空间。如果策略remediationAction设置为enforce,则 Gatekeeper 约束enforcementAction字段会被覆盖为deny。在这种情况下,此配置可防止任何用户创建或更新缺少gatekeeper标签的命名空间。 - 2 3
- 可选:为每个 Gatekeeper 约束或约束模板设置
policy.open-cluster-management.io/severity注解的严重性值。有效值与其他 Red Hat Advanced Cluster Management 策略类型相同:low,medium,high, 或critical。
使用前面的策略,您可能会收到以下策略状态消息:
warn - you must provide labels: {"gatekeeper"} (on Namespace default); warn - you must provide labels: {"gatekeeper"} (on Namespace gatekeeper-system)。当包含 Gatekeeper 约束或ConstraintTemplates被删除后,限制和ConstraintTemplates也会从受管集群中删除。要从控制台查看特定受管集群的 Gatekeeper 审计结果,请进入策略模板 结果 页面。如果启用了搜索,请查看失败的审计的 Kubernetes 对象的 YAML。
备注:
- 只有在 Gatekeeper 版本 3.9 或更高版本生成的审计结果时,相关资源 部分才可用。
- Gatekeeper 审计功能默认每分钟运行一次。审计结果会发回到 hub 集群,以便在受管集群的 Red Hat Advanced Cluster Management 策略状态中查看。
policy-gatekeeper-admission:在 Red Hat Advanced Cluster Management 策略中使用policy-gatekeeper-admission配置策略来检查 gatekeeper admission webhook 拒绝的 Kubernetes API 请求:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.1. 其他资源 复制链接链接已复制到粘贴板!
-
如需了解更多详细信息,请参阅
policy-gatekeeper-operator.yaml。 - 如需了解更多详细信息,请参阅 OPA Gatekeeper 是什么。
- 有关管理其他策略的更多信息,请参阅管理配置策略。
- 有关安全框架的更多主题,请参阅监管。