Policy Controller 概览

本页面介绍了 Policy Controller 是什么,以及如何使用它来帮助确保您的 Kubernetes 集群和工作负载以安全且合规的方式运行。

本页面适用于根据公司战略定义 IT 解决方案和系统架构,并通过提供和维护自动化以进行审核或强制执行,从而确保云平台中运行的所有资源满足组织合规性要求的 IT 管理员、运维人员和安全专家。如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE Enterprise 用户角色和任务

Policy Controller 支持为 Kubernetes 集群应用和实施可编程政策。这些政策充当安全措施,有助于实现集群和舰队的最佳实践、安全性和合规性管理。基于开放源代码 Open Policy Agent Gatekeeper 项目,Policy Controller 与 Google Cloud 完全集成,包括一个内置信息中心实现可观测性,并附带一个预建政策的完整库,用于常见安全性与合规性控制。

Policy Controller 可通过 Google Kubernetes Engine (GKE) Enterprise 版本许可使用。

Policy Controller 的优势

  • 与 Google Cloud 集成:平台管理员可以使用 Google Cloud 控制台、使用 Terraform 或在连接到舰队的任何集群上使用 Google Cloud CLI 安装 Policy Controller。Policy Controller 可与其他 Google Cloud 服务搭配使用,例如 Config Sync指标和 Cloud Monitoring。
  • 支持多个强制执行点:除了集群审核和准入控制之外,Policy Controller 还可以选择启用左移方法在应用之前分析和捕获不合规的更改
  • 预建的政策包:Policy Controller 提供完整的预构建政策库,用于实现常见的安全性和合规性控制。这些模板包括由 Google 构建和维护的政策软件包限制条件模板库
  • 支持自定义政策:如果除了使用限制条件模板库提供的功能要求之外,还需要自定义政策,则 Policy Controller 还支持开发自定义限制条件模板
  • 内置可观测性:Policy Controller 包含一个 Google Cloud 控制台信息中心,可提供应用于舰队的所有政策的状态概览(包括未注册的集群)。在信息中心中,查看合规性和强制执行状态以帮助您排查问题,并获取专业的建议来解决政策违规问题。

政策包

您可以使用政策包来应用一些限制条件,这些限制条件分组到特定的 Kubernetes 标准、安全性或合规性主题下。这些政策包由 Google 构建和维护,因此无需编写任何代码即可供您使用。例如,您可以使用以下政策包:

Policy Controller 包概览提供了更多详细信息和当前可用的政策包列表。

限制条件

Policy Controller 使用称为限制条件的对象来实施集群的合规性。您可以将限制条件视为政策的“组成要素”。每个限制条件都会定义对 Kubernetes API 的特定更改,以允许或不允许对限制条件应用于的集群进行此更改。您可以设置政策主动屏蔽不符合政策的 API 请求,或者审核集群的配置并报告违规行为。在任一情况下,您都可以查看警告消息,并详细了解集群中发生了什么违规行为。借助这些信息,您可以解决问题。例如,您可以使用以下单个限制条件:

这些只是 Policy Controller 附带的限制条件模板库中提供的部分限制条件。此库包含许多政策,可用于帮助您实施最佳实践并限制风险。如果除了限制条件模板库中提供的内容之外,您还需要更多自定义功能,则还可以创建自定义限制条件模板

您可以使用 Kubernetes API 将限制条件直接应用于集群,也可以使用 Config Sync 将限制条件从集中来源(例如 Git 代码库)分发到一组集群。

后续步骤