View a markdown version of this page

Validez les modèles avec Guard - AWS CloudFormation

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Validez les modèles avec Guard

AWS CloudFormation Guard (cfn-guard) est un outil de politique en tant que code. Vous rédigez des règles qui décrivent les configurations obligatoires ou interdites, puis vous vérifiez les données JSON ou YAML par rapport à ces règles. Par exemple, vous pouvez exiger que chaque compartiment Amazon S3 d'un modèle utilise le chiffrement.

Pour connaître les limites de la validation locale et les étapes à suivre avant le déploiement, consultezComprendre la portée de la validation.

Installez Guard

OuimacOS, installez Guard avec Homebrew :

brew install cloudformation-guard

Pour Linux, Windows, les autres méthodes d'macOSinstallation et la vérification des versions, voir Configuration AWS CloudFormation Guard.

Écrivez une règle

Enregistrez les règles dans un fichier portant l'.guardextension. L'exemple suivant nécessite que chaque compartiment Amazon S3 d'un modèle spécifie le chiffrement du compartiment :

let s3_buckets = Resources.*[ Type == 'AWS::S3::Bucket' ] rule S3_BUCKET_ENCRYPTED when %s3_buckets !empty { %s3_buckets { Properties.BucketEncryption exists } }

Pour la syntaxe des règles et d'autres exemples, voir Rédaction de AWS CloudFormation Guard règles.

Valider un modèle

Transmettez le fichier de règles --rules et le modèle à --data :

cfn-guard validate --rules rules.guard --data template.yaml

La commande renvoie l'état de sortie 0 lorsque le modèle est transmis. Si une règle échoue, la sortie identifie la règle qui a échoué. Vous pouvez également transmettre des répertoires à plusieurs fichiers --rules et --data les vérifier.

Avant d'utiliser une règle dans un flux de travail automatisé, testez-la à l'aide du support de test unitaire intégré. Pour obtenir des instructions, consultez la section AWS CloudFormation Guard Règles de test.

Ajoutez Guard à votre flux de travail

Vous pouvez exécuter Guard localement, dans une compilation automatique ou avant un commit Git. Le serveur CloudFormation linguistique peut également exécuter des packs de règles Guard lorsque vous modifiez un modèle. Pour la configuration, voirCloudFormation Serveur de langue.

Pour appliquer les règles pendant CloudFormation les opérations de l'API Cloud Control, utilisez Guard Hooks. Pour plus d'informations, voir Guard Hooks.

En savoir plus

Pour la référence complète de la langue et des commandes, consultez le Guide de AWS CloudFormation Guard l'utilisateur. Le code source et les informations de publication sont disponibles dans le AWS CloudFormation Guard référentiel à l'adresse GitHub.