作为组织管理员,您需要定义开发者在应用基础架构即代码时遵守的政策。您的组织的政策集以政策库的形式表示。本页面可帮助您创建集中式政策代码库并添加限制条件。
准备工作
- 您需要空的 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 存储桶的位置。在
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 限制条件,详细了解如何编写和使用限制条件模板和限制条件。