En tant qu'administrateur de l'organisation, vous devez définir des règles auxquelles les développeurs doivent se conformer lors de l'application de l'infrastructure en tant que code. L'ensemble des règles de votre organisation est représenté sous forme d'une bibliothèque de règles. Cette page vous aide à créer un dépôt de règles centralisé et à ajouter des contraintes.
Avant de commencer
- Vous devez disposer d'un dépôt Git vide pour stocker la bibliothèque de règles de votre organisation.
- Vous devez configurer Git pour vous connecter de manière sécurisée. Par exemple, si votre dépôt git se trouve sur GitHub, vous pouvez suivre le processus décrit dans la section Se connecter à GitHub avec SSH.
Dupliquer l'exemple de bibliothèque
Google fournit un exemple de dépôt comprenant un ensemble de modèles de contrainte prédéfinis que vous pouvez modifier pour votre usage personnel.
Clonez l'exemple de dépôt de la bibliothèque de règles et dupliquez-le sur votre 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
Examinez les modèles de contraintes disponibles dans
policies/templates
:ls policies/templates
Sélectionnez les modèles de contraintes que vous souhaitez utiliser. Pour cet exemple, choisissez
gcp_storage_location_v1.yaml
qui applique l'emplacement des buckets Cloud Storage.Créez des fichiers YAML de contrainte correspondant à ces modèles sous
policies/constraints
.Depuis votre copie locale du dépôt
policy-library
, validez et appliquez vos modifications à l'aide des commandes suivantes:git add --all . git commit -m "Initial commit of policy library constraints" git push -u origin main
Structure de la bibliothèque
Un dépôt de bibliothèque de règles contient les répertoires suivants :
policies/
: ce répertoire contient deux sous-répertoires :constraints/
: ce répertoire est initialement vide. Placez vos fichiers de contraintes ici.templates/
: ce répertoire contient des modèles de contrainte prédéfinis.
validator/
: ce répertoire contient les fichiers.rego
et les tests unitaires associés. Vous n'avez pas besoin de modifier ce répertoire, sauf si vous souhaitez modifier des modèles de contrainte existants ou en créer. L'exécution demake build
intègre le contenu Rego dans les fichiers de modèle de contrainte correspondants.
Mises à jour périodiques
Vous devez extraire régulièrement les modifications du dépôt public qui peuvent contenir de nouveaux modèles et fichiers Rego.
git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main
Étapes suivantes
La bibliothèque de règles contient un certain nombre de modèles de contraintes et un dossier samples
avec des exemples de contraintes. Consultez la page Créer des contraintes Terraform ou Créer des contraintes CAI pour en savoir plus sur l'écriture et l'utilisation de contraintes et de modèles de contraintes.