Crie uma biblioteca de políticas

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.

  1. 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
    
  2. Examine os modelos de restrições disponíveis em policies/templates: ls policies/templates

  3. 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.

  4. Crie ficheiros YAML de restrições correspondentes a esses modelos em policies/constraints.

  5. 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 de make 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.