创建政策库

作为组织管理员,您需要定义开发者在应用基础架构即代码时遵守的政策。您的组织的政策集以政策库的形式表示。本页面可帮助您创建集中式政策代码库并添加限制条件。

准备工作

  • 您需要空的 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 限制条件,详细了解如何编写和使用限制条件模板和限制条件。