Como administrador de una organización, debes definir las políticas que deben seguir los desarrolladores al aplicar 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 explica cómo crear un repositorio de políticas centralizado y añadir restricciones.
Antes de empezar
- 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 Conectar a GitHub con SSH.
Duplicar la biblioteca de muestras
Google proporciona un repositorio de ejemplo que incluye un conjunto de plantillas de restricciones predefinidas que puedes modificar para tu uso personal.
Clona el repositorio de muestra de la biblioteca de políticas y duplícalo 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
Consulta las plantillas de restricciones disponibles en
policies/templates
:ls policies/templates
Selecciona las plantillas de restricciones que quieras usar. En este ejemplo, elige
gcp_storage_location_v1.yaml
, que aplica la ubicación a los segmentos de Cloud Storage.Crea archivos YAML de restricciones correspondientes a esas plantillas en
policies/constraints
.En 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á vacío al principio. Coloca aquí los archivos de restricciones.templates/
: este directorio contiene plantillas de restricciones predefinidas.
validator/
: este directorio contiene los archivos.rego
y sus pruebas unitarias asociadas. No es necesario que modifiques este directorio, a menos que quieras modificar plantillas de restricciones o crear otras. Al ejecutarmake build
, se inserta el contenido de Rego en los archivos de plantilla de restricción correspondientes.
Actualizaciones periódicas
Deberías extraer periódicamente los cambios del repositorio público, que puede contener nuevas plantillas y archivos Rego.
git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main
Pasos siguientes
La biblioteca de políticas contiene varias plantillas de restricciones y una carpeta samples
con restricciones de ejemplo. Consulta Crear restricciones de Terraform o Crear restricciones de CAI para obtener información sobre cómo escribir y usar plantillas de restricciones y restricciones.