建立政策資料庫

機構管理員需要定義開發人員在套用基礎架構即程式碼時必須遵守的政策。貴機構的政策組合會以政策程式庫的形式呈現。本頁面可協助您建立集中式政策存放區,並新增限制。

事前準備

  • 您需要一個空的 Git 存放區,才能儲存貴機構的政策程式庫。
  • 您需要設定 Git 才能安全連線。舉例來說,如果您的 Git 存放區位於 GitHub,您可以按照「使用 SSH 連線至 GitHub」一文中所述的程序操作。

複製樣本資料庫

Google 提供範例存放區,其中包含一組預先定義的限制範本,您可以修改這些範本供個人使用。

  1. 複製政策程式庫範例存放區,並複製到 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
    
  2. 檢查 policies/templates 中可用的限制條件範本: ls policies/templates

  3. 選取要使用的限制範本。在本例中,請選擇 gcp_storage_location_v1.yaml,這會強制指定 Cloud Storage 值區的位置。

  4. 建立與 policies/constraints 下這些範本相對應的限制條件 YAML 檔案。

  5. 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 限制」。