HashiCorp 推出了 tfpolicy,这是一个基于 HCL 的 Terraform Policy-as-Code 框架,目前已在 HCP Terraform 中以公开 beta 形式提供。它旨在通过将策略创建和执行直接集成到 Terraform 工作流中来简化和现代化基础设施治理,消除了对单独工具和语言的需求。
Terraform policy 是一个声明式的、基于 HCL 的 policy as code 框架,使平台团队能够使用熟悉的语言定义和执行策略,同时引入专为现代基础设施系统设计的新治理功能。
Policy as code 帮助组织将治理要求编纂为代码、自动执行合规性检查并加强安全成果。现有的解决方案,如 HashiCorp Sentinel 和 Open Policy Agent (OPA),作为单独的层运行,用于根据策略规则验证基础设施。
据 HashiCorp 称,这些方法通常无法整合关键的外部上下文,例如资源之间的关系,这些关系在基础设施生命周期中可能会发生变化。相反,这个新的策略框架解决了现代基础设施日益增长的复杂性,现代基础设施通常跨越多个云和服务,而非单个资源。
Terraform tfpolicy 深度集成到 Terraform 中,并使用 HCL,即用于创建 Terraform 基础设施的相同语言,从而减少了切换工具和语言的需求,并允许团队在他们已经使用的工作流中定义和执行策略。
这种深度集成将治理与基础设施生命周期更紧密地联系在一起,在部署前后进行策略评估。团队可以根据实际基础设施状态(而非仅计划更改)执行要求,所有操作都在 Terraform 从业者每天使用的熟悉工作流和实践中完成。
tfpolicy 还引入了多项新功能,例如基于资源之间关系评估策略,以及利用数据源查找将外部上下文整合到策略执行工作流中。此外,它还通过启用对 provider 和 module 下载的控制来解决供应链风险,帮助组织“建立批准的依赖项控制,并防止意外使用未批准的 providers 或 modules”。
tfpolicy 与 Terraform 深度集成的另一个好处是能够在部署后评估策略,使组织能够检测到只有在资源预配后才可能显现的违规行为。
Terraform 将继续支持 Sentinel,但 HashiCorp 正将 tfpolicy 定位为其首选策略框架。该公司还引入了一个 能够生成和测试 tfpolicy 配置的 AI agent,以及转换现有 Sentinel 策略。
最后需要注意的是,tfpolicy 仅在 HCP Terraform 中才能提供其全部功能,因为它可以紧密集成到端到端基础设施工作流中,包括在规划、部署和部署后评估期间执行策略。相比之下,独立 CLI 的功能范围更有限,主要支持策略验证和本地测试。虽然对于开发和迭代很有用,但它无法提供与托管 HCP Terraform 环境中相同级别的集成、自动化或执行能力。
HashiCorp Sentinel 是一个嵌入式 policy-as-code 框架,可与 HCP Terraform 原生集成,并允许使用 Sentinel 的自定义领域特定语言编写细粒度的、可测试的规则。Open Policy Agent 是一个开源的、云原生的、与厂商无关的解决方案,支持 100 多个集成。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.