Gestion des Politiques
Apprenez comment découvrir, gérer et mettre à jour les politiques dans InfraGuard.
Lister les Politiques
Lister Toutes les Politiques
Voir toutes les règles et packs disponibles :
infraguard policy list
Cela affiche :
- Toutes les règles intégrées
- Tous les packs de conformité
- Politiques personnalisées (le cas échéant)
Filtrer par Fournisseur
Actuellement, InfraGuard supporte les politiques Aliyun. Les versions futures supporteront des fournisseurs supplémentaires.
Détails des Politiques
Obtenir des Informations sur une Règle
Voir des informations détaillées sur une règle spécifique :
infraguard policy get rule:aliyun:ecs-instance-no-public-ip
La sortie inclut :
- ID et nom de la règle
- Niveau de sévérité
- Description
- Raison de l'échec
- Recommandation
- Types de ressources affectés
Obtenir des Informations sur un Pack
Voir les détails d'un pack de conformité :
infraguard policy get pack:aliyun:mlps-level-3-pre-check-compliance-pack
La sortie inclut :
- ID et nom du pack
- Description
- Liste des règles incluses
Mettre à Jour les Politiques
InfraGuard inclut des politiques intégrées, mais vous pouvez également télécharger la dernière bibliothèque de politiques :
infraguard policy update
Cela télécharge les politiques vers ~/.infraguard/policies/, qui a la priorité sur les politiques intégrées.
Nettoyer les Politiques
Pour supprimer les politiques téléchargées de votre répertoire utilisateur :
infraguard policy clean
Cette commande :
- Supprime toutes les politiques de
~/.infraguard/policies/ - Demande confirmation par défaut
- N'affecte pas les politiques intégrées (elles restent disponibles)
- N'affecte pas les politiques de l'espace de travail dans
.infraguard/policies/
Nettoyage Forcé (Sans Confirmation)
Pour les scripts ou environnements non interactifs :
infraguard policy clean --force
# ou
infraguard policy clean -f
Priorité de Chargement des Politiques
InfraGuard charge les politiques depuis trois sources avec la priorité suivante (du plus élevé au plus bas) :
- Politiques locales de l'espace de travail :
.infraguard/policies/(relatif au répertoire de travail actuel) - Politiques locales utilisateur :
~/.infraguard/policies/ - Politiques intégrées : Intégrées dans le binaire (secours)
Les politiques avec le même ID provenant de sources de priorité plus élevée remplacent celles de priorité plus faible. Cela permet :
- Politiques spécifiques au projet : Définir des règles personnalisées dans
.infraguard/policies/qui sont sous contrôle de version avec votre projet - Personnalisations utilisateur : Remplacer les politiques intégrées globalement via
~/.infraguard/policies/ - Secours transparent : Les politiques intégrées fonctionnent sans configuration
Valider les Politiques Personnalisées
Avant d'utiliser des politiques personnalisées, validez-les :
infraguard policy validate ./my-custom-rule.rego
Cela vérifie :
- Syntaxe Rego
- Métadonnées requises (
rule_metaoupack_meta) - Structure appropriée de la règle deny
Options de Validation
# Valider un seul fichier
infraguard policy validate rule.rego
# Valider un répertoire
infraguard policy validate ./policies/
# Spécifier la langue de sortie
infraguard policy validate rule.rego --lang fr
Formater les Politiques
Formatez vos fichiers de politiques en utilisant le formateur OPA :
# Afficher la sortie formatée
infraguard policy format rule.rego
# Écrire les modifications dans le fichier
infraguard policy format rule.rego --write
# Afficher le diff des modifications
infraguard policy format rule.rego --diff
Organisation des Politiques
Politiques Intégrées
Situées dans le binaire sous :
policies/aliyun/rules/- Règles individuellespolicies/aliyun/packs/- Packs de conformitépolicies/aliyun/lib/- Bibliothèques auxiliaires
Politiques Personnalisées
Politiques Locales de l'Espace de Travail (Spécifiques au Projet)
Stockez les politiques spécifiques au projet dans votre répertoire de projet :
.infraguard/policies/<provider>/rules/- Règles spécifiques au projet.infraguard/policies/<provider>/packs/- Packs spécifiques au projet.infraguard/policies/<provider>/lib/- Bibliothèques auxiliaires spécifiques au projet
Ces politiques sont automatiquement chargées lors de l'exécution des commandes InfraGuard depuis le répertoire du projet et peuvent être sous contrôle de version avec vos modèles IaC.
Politiques Locales Utilisateur (Globales)
Stockez les politiques personnalisées globales dans votre répertoire home :
~/.infraguard/policies/<provider>/rules/- Règles personnalisées globales~/.infraguard/policies/<provider>/packs/- Packs personnalisés globaux~/.infraguard/policies/<provider>/lib/- Bibliothèques auxiliaires personnalisées globales
Ces politiques sont disponibles pour tous les projets et peuvent remplacer les politiques intégrées.