機構管理員必須定義政策,供開發人員在套用基礎架構即程式碼時遵守。貴機構的一組政策會以政策庫的形式呈現。本頁說明如何建立集中式政策存放區及新增限制。
事前準備
- 您需要一個空白的 Git 存放區,用來儲存機構的政策程式庫。
- 您必須設定 Git,才能安全連線。舉例來說,如果您的 Git 存放區位於 GitHub,可以按照「透過 SSH 連線至 GitHub」一文所述的程序操作。
複製範例程式庫
Google 提供範例存放區,內含一組預先定義的限制範本,您可以修改這些範本供個人使用。
複製政策庫範例存放區,並複製到 POLICY_LIBRARY_REPO:
git clone https://github.com/GoogleCloudPlatform/policy-library.git cd policy-library git remote set-url origin POLICY_LIBRARY_REPO git push origin main
在
policies/templates
中檢查可用的限制範本:ls policies/templates
選取要使用的限制範本。在本範例中,請選擇
gcp_storage_location_v1.yaml
,強制執行 Cloud Storage bucket 的位置。在
policies/constraints
下方,建立與這些範本對應的限制 YAML 檔案。在
policy-library
存放區的本機副本中,使用下列指令提交及推送變更:git add --all . git commit -m "Initial commit of policy library constraints" git push -u origin main
程式庫結構
政策程式庫存放區包含下列目錄:
policies/
- 這個目錄包含兩個子目錄:constraints/
- 這個目錄一開始是空的。將限制檔案放在這裡。templates/
:這個目錄包含預先定義的限制範本。
validator/
:這個目錄包含.rego
檔案和相關聯的單元測試。除非您打算修改現有的限制範本或建立新的限制範本,否則不需要變更這個目錄。執行make build
會在對應的限制範本檔案中內嵌 Rego 內容。
定期更新
您應定期從公開存放區提取任何變更,其中可能包含新的範本和 Rego 檔案。
git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main
後續步驟
政策庫包含多個限制範本,以及含有限制範例的 samples
資料夾。如要進一步瞭解如何編寫及使用限制範本和限制,請參閱「建立 Terraform 限制」或「建立 CAI 限制」。