政策控制器概览
本页面介绍了 Anthos Config Management 的政策控制器是什么,以及该控制器如何使用限制条件和限制条件模板来强制执行政策。
政策控制器支持为您的集群强制执行完全可编程的政策。这些政策可作为一种“保障措施”,可防止对 Kubernetes API 配置的任何更改违反安全性、运营或合规性控制措施。
您可以设置政策主动屏蔽不符合政策的 API 请求,也可以仅审核集群的配置并报告违规行为。Policy Controller 基于开源的 Open Policy Agent Gatekeeper 项目,并附带一个预建政策的完整库,用于常见安全性与合规性控制。
除了主动控制 Kubernetes 环境之外,您还可以选择使用 Policy Controller 在部署之前分析合规性配置。这有助于在配置更改过程中提供有价值的反馈,并确保尽早发现任何不符合规定的更改,以免它们在申请过程中遭到拒绝。
限制条件
政策控制器使用称为限制条件的对象来实施集群的合规性。例如,您可以使用以下限制条件:
- 要求每个命名空间至少有一个标签。例如,当使用 GKE Usage Metering 时,可以使用这个约束来确保准确地跟踪资源消耗。
- 强制执行许多与 PodSecurityPolicy 相同的要求,但在此基础上,除了可以强制执行配置之外,还可以审核配置,从而确保所有政策更改都不会对正在运行的工作负载造成干扰。
- 限制可以从中提取给定容器映像的代码库。此限制条件可确保从未知来源拉取容器的任何尝试都遭到拒绝,从而保护您的集群免于运行潜在的恶意软件。
这些只是作为安装在政策控制器中的限制条件库提供的一部分限制条件。此库包含许多政策,有助于强制执行最佳做法并限制风险。
您可以使用 Kubernetes API 将限制条件直接应用于集群,也可以使用 Config Sync 将请求从中央 Git 代码库分发到一组集群。
您还可以使用政策包同时应用多个限制条件。如需详细了解政策包,请参阅政策控制器包。
如需了解详情,请参阅创建限制条件。
限制条件模板
政策控制器还允许您通过创建限制条件模板添加自己的自定义政策。限制条件模板定义政策参数、错误消息和自定义逻辑。
创建后,这些模板可让任何人使用限制条件调用政策,该限制条件会设置参数并定义政策适用的资源和命名空间的范围。这种分离可让主题专家编写一次政策,然后让其他人在各种情况下使用它们,而无需编写或管理政策代码。
如需了解详情,请参阅编写限制条件模板。
政策控制器 RBAC 和权限
政策控制器包含具有高权限的工作负载。Open Policy Agent Gatekeeper 操作文档中介绍了这些工作负载的权限。
后续步骤
- 免费试用政策控制器。
- 了解如何安装 Policy Controller。
- 使用 Google 提供的限制条件模板库。
- 了解如何使用限制条件代替 PodSecurityPolicies。