本頁面說明 Policy Controller 是什麼,以及如何使用這項工具,確保 Kubernetes 叢集和工作負載是以安全且符合規範的方式執行。
本頁面適用於 IT 管理員、作業人員和資安專家,他們會根據公司策略定義 IT 解決方案和系統架構,並提供及維護自動化稽核或強制執行功能,確保在雲端平台中執行的所有資源都符合組織法規遵循要求。如要進一步瞭解 Google Cloud 內容中提及的常見角色和工作範例,請參閱「常見的 GKE 使用者角色和工作」。
您可以透過 Policy Controller,對 Kubernetes 叢集套用並強制執行可設定的政策。這些政策可以做為防護機制,協助您管理叢集和機群的最佳做法、安全性與法規遵循事宜。Policy Controller 以開放原始碼 Open Policy Agent Gatekeeper 專案為基礎,與 Google Cloud完整整合,內建資訊主頁可觀測相關資訊,並提供完整的預建政策庫,可用於管理常見的安全性與法規遵循控管。
Policy Controller 的優點
- 與 Google Cloud整合:平台管理員可以使用 Google Cloud 控制台、Terraform 或 Google Cloud CLI,在連結至機群的任何叢集上安裝 Policy Controller。Policy Controller 可與其他Google Cloud 服務搭配使用,例如 Config Sync、指標和 Cloud Monitoring。
- 支援多個強制執行點:除了叢集的稽核和許可控制外,Policy Controller 還可選擇啟用左移方法,在套用前分析並找出不符合法規的變更。
- 預建政策套裝組合:Policy Controller 隨附完整的預建政策庫,適合用來管控一般的安全防護措施與法規遵循情形。包括政策套件和限制範本庫。
- 支援自訂政策:如果需要自訂政策,但限制範本庫無法滿足需求,Policy Controller 還支援開發自訂限制範本。
- 內建觀測能力:Policy Controller 包含 Google Cloud 控制台資訊主頁,可概略查看套用至機群的所有政策狀態 (包括未註冊的叢集)。資訊主頁會顯示法規遵循與強制執行狀態,方便您解決問題,並取得明確的政策違規解決建議。
政策組合
您可以使用政策套裝組合,套用多項依特定 Kubernetes 標準、安全性或法規遵循主題分組的限制。舉例來說,您可以使用下列政策套件:
- 強制執行與 PodSecurityPolicies 相同的多項規定,但可在強制執行前稽核設定,確保任何政策變更都不會干擾執行中的工作負載。
- 使用與 Cloud Service Mesh 相容的限制,稽核網格安全漏洞和最佳做法是否符合法規。
- 對叢集資源套用一般最佳做法,強化資安態勢。
Policy Controller 套件總覽提供更多詳細資料,以及目前可用的政策套件清單。
限制
Policy Controller 會使用名為「限制」的物件,強制讓叢集符合政策。您可以將限制視為政策的「構成要素」。每項限制都會定義 Kubernetes API 的特定變更,允許或不允許在套用限制的叢集上執行。您可以設定政策,主動封鎖不符合規定的 API 要求,或稽核叢集設定並回報違規情形。無論是哪一種情況,您都可以查看警告訊息,瞭解叢集發生的違規事項詳細資料。您可以根據這些資訊修正問題。舉例來說,您可以使用下列個別限制:
- 要求每個命名空間至少有一個標籤。舉例來說,使用 GKE 用量計算功能時,這項限制可用於確保準確追蹤資源消耗量。
- 限制可提取特定容器映像檔的存放區。這項限制可確保系統拒絕從不明來源提取容器,防止叢集執行可能惡意的軟體。
- 控制容器是否能以特殊權限模式執行。這項限制可控管任何容器啟用特殊權限模式的能力,讓您控管哪些容器 (如有) 可在不受限制的政策下執行。
以上只是 Policy Controller 隨附的限制範本庫中提供的部分限制。這個範本庫提供許多政策,可協助您強制執行最佳做法並降低風險。如果需要更多自訂項目,超出限制範本庫提供的範圍,您也可以建立自訂限制範本。
您可以使用 Kubernetes API 直接將限制套用至叢集,也可以使用 Config Sync,從 Git 存放區等集中化來源將限制發布至一組叢集。