Como administrador da organização, tem de definir políticas que os programadores respeitem quando aplicam a infraestrutura como código. O conjunto de políticas da sua organização é representado como uma biblioteca de políticas. Esta página ajuda a criar um repositório de políticas centralizado e a adicionar restrições.
Antes de começar
- Precisa de um repositório Git vazio para armazenar a biblioteca de políticas da sua organização.
- Tem de configurar o Git para estabelecer ligação de forma segura. Por exemplo, se o seu repositório Git estiver no GitHub, pode seguir o processo descrito no artigo Estabelecer ligação ao GitHub com SSH.
Duplicar a biblioteca de amostras
A Google disponibiliza um repositório de amostras que inclui um conjunto de modelos de restrições predefinidos que pode modificar para uso pessoal.
Clone o repositório de exemplo da biblioteca de políticas e duplique-o para o seu 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
Examine os modelos de restrições disponíveis em
policies/templates
:ls policies/templates
Selecione os modelos de restrições que quer usar. Para este exemplo, escolha
gcp_storage_location_v1.yaml
, que aplica a localização aos contentores do Cloud Storage.Crie ficheiros YAML de restrições correspondentes a esses modelos em
policies/constraints
.Na sua cópia local do repositório
policy-library
, use os seguintes comandos para confirmar e enviar as alterações:git add --all . git commit -m "Initial commit of policy library constraints" git push -u origin main
Estrutura da biblioteca
Um repositório da biblioteca de políticas contém os seguintes diretórios:
policies/
– Este diretório contém dois subdiretórios:constraints/
– Este diretório está inicialmente vazio. Coloque os ficheiros de restrições aqui.templates/
: este diretório contém modelos de restrições predefinidos.
validator/
– Este diretório contém os ficheiros.rego
e os respetivos testes unitários associados. Não precisa de alterar este diretório, a menos que pretenda modificar modelos de restrições existentes ou criar novos. A execução demake build
incorpora o conteúdo Rego nos ficheiros de modelos de restrições correspondentes.
Atualizações periódicas
Periodicamente, deve extrair todas as alterações do repositório público, que podem conter novos modelos e ficheiros Rego.
git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main
Passos seguintes
A biblioteca de políticas contém vários modelos de restrições e uma samples
pasta com restrições de exemplo. Leia os artigos
Crie restrições do Terraform
ou
Crie restrições da CAI
para ver detalhes sobre como escrever e usar modelos de restrições e restrições.