Crea una biblioteca de políticas

Como administrador de la organización, debes definir políticas que los desarrolladores cumplan cuando apliquen la infraestructura como código. El conjunto de políticas de tu organización se representa como una biblioteca de políticas. En esta página, se te ayudará a crear un repositorio de políticas centralizado y a agregar restricciones.

Antes de comenzar

  • Necesitas un repositorio de Git vacío para almacenar la biblioteca de políticas de tu organización.
  • Debes configurar Git para conectarte de forma segura. Por ejemplo, si tu repositorio de Git está en GitHub, puedes seguir el proceso descrito en Conéctate a GitHub con SSH.

Duplica la biblioteca de muestra

Google proporciona un repositorio de muestra que incluye un conjunto de plantillas de restricciones predefinidas que puedes modificar para tu uso personal.

  1. Clona el repositorio de muestra de la biblioteca de políticas y duplicalo en tu 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. Examina las plantillas de restricciones disponibles en policies/templates: ls policies/templates

  3. Selecciona las plantillas de restricciones que quieras usar. Para este ejemplo, elige gcp_storage_location_v1.yaml, que aplica la ubicación a los buckets de Cloud Storage.

  4. Crea archivos YAML de restricción que correspondan a esas plantillas en policies/constraints.

  5. Desde la copia local del repositorio policy-library, usa los siguientes comandos para confirmar y enviar los cambios:

    git add --all .
    git commit -m "Initial commit of policy library constraints"
    git push -u origin main
    

Estructura de la biblioteca

Un repositorio de biblioteca de políticas contiene los siguientes directorios:

  • policies/: Este directorio contiene dos subdirectorios:

    • constraints/: Este directorio está inicialmente vacío. Coloca tus archivos de restricción aquí.
    • templates/: Este directorio contiene plantillas de restricciones predefinidas.
  • validator/: Este directorio contiene los archivos .rego y sus pruebas de unidades asociadas. No es necesario que toques este directorio, a menos que desees modificar las plantillas de restricciones existentes o crear nuevas. Si ejecutas make build, se intercala el contenido de Rego en los archivos de plantillas de restricciones correspondientes.

Actualizaciones periódicas

Debes extraer de forma periódica cualquier cambio del repositorio público que pueda contener plantillas nuevas y archivos de Rego.

git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main

Próximos pasos

La biblioteca de políticas contiene varias plantillas de restricciones y una carpeta samples con restricciones de ejemplo. Lee Crea restricciones de Terraform o Crea restricciones de CAI para obtener detalles sobre cómo escribir y usar restricciones y plantillas de restricciones.