HashiCorp 已推出 tfpolicy,這是 Terraform 全新以 HCL 為基礎的 policy-as-code 框架,目前已在 HCP Terraform 中提供公開測試版。它旨在透過將策略建立與執行直接整合到 Terraform 工作流程中,簡化並現代化基礎設施治理,無需使用獨立工具與語言。

Terraform policy 是一個宣告式的、基於 HCL 的政策即代碼框架,讓平台團隊能夠使用熟悉的語言來定義與執行政策,同時引入專為現代基礎設施系統設計的全新治理功能。

Policy as code 可協助組織將治理需求編碼、自動化合規檢查,並強化安全成果。現有解決方案,例如 HashiCorp SentinelOpen Policy Agent (OPA),皆以獨立層級運作,根據政策規則驗證基礎設施。

根據 HashiCorp 表示,這些方法通常無法納入關鍵外部脈絡,例如資源之間的關係,而這些關係可能在基礎設施生命週期中發生變化。相較之下,新的政策框架可因應現代基礎設施日益複雜的挑戰,這類基礎設施通常橫跨多個雲端與服務,而非單一資源。

Terraform tfpolicy 深度整合到 Terraform 中,並使用 HCL——也就是建立 Terraform 基礎設施所使用的相同語言,藉此減少切換工具與語言的需求,讓團隊能在已使用的同一個工作流程中定義與執行政策。

這種深度整合讓治理更貼近基礎設施生命週期,可在部署前後進行政策評估。團隊可根據實際基礎設施狀態執行需求,而非僅依據規劃的變更,所有操作皆在 Terraform 從業人員每日使用的熟悉工作流程與實務中完成。

tfpolicy 也引入多項全新功能,例如根據資源之間的關係評估政策,以及利用資料來源查詢將外部脈絡納入政策執行工作流程。此外,它還能透過控制供應商與模組的下載來因應供應鏈風險,協助組織「建立核准的相依性控制,並防止意外使用未核准的供應商或模組」。

tfpolicy 與 Terraform 深度整合的另一項優點是能夠在部署後評估政策,讓組織能偵測僅在資源佈建完成後才會顯現的違規行為。

Terraform 將持續支援 Sentinel,但 HashiCorp 將 tfpolicy 定位為其首選政策框架。該公司也推出 可產生與測試 tfpolicy 設定檔的 AI 代理,以及轉換現有 Sentinel 政策的工具。

最後,tfpolicy 僅在 HCP Terraform 中才能完整發揮其功能,因為它能緊密整合到端到端基礎設施工作流程中,包括規劃、部署與部署後評估階段的政策執行。相較之下,獨立的 CLI 功能較為有限,主要支援政策驗證與本地測試。雖然適用於開發與迭代,但無法提供與受管理的 HCP Terraform 環境相同層級的整合、自動化與執行能力。

HashiCorp Sentinel 是一個嵌入式政策即代碼框架,原生整合於 HCP Terraform,並允許使用 Sentinel 自訂領域特定語言撰寫細緻且可測試的規則。Open Policy Agent 則是一個開源、雲端原生且與供應商無關的解決方案,支援超過 100 種整合。

關於作者

Sergio De Simone