Créer une bibliothèque de règles

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.

  1. 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
    
  2. Examinez les modèles de contraintes disponibles dans policies/templates : ls policies/templates

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

  4. Créez des fichiers YAML de contrainte correspondant à ces modèles sous policies/constraints.

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