View a markdown version of this page

Convalida i modelli con Guard - AWS CloudFormation

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Convalida i modelli con Guard

AWS CloudFormation Guard (cfn-guard) è uno strumento basato sulla politica in base al codice. Si scrivono regole che descrivono le configurazioni obbligatorie o proibite e quindi si confrontano i dati JSON o YAML con tali regole. Ad esempio, puoi richiedere che ogni bucket Amazon S3 in un modello utilizzi la crittografia.

Per i limiti della convalida locale e i passaggi da eseguire prima della distribuzione, consulta. Comprendi l'ambito di convalida

Installa Guard

SìmacOS, installa Guard con Homebrew:

brew install cloudformation-guard

Per Linux, Windows e altri metodi macOS di installazione e verifica della versione, vedi AWS CloudFormation Guard Configurazione.

Scrivere una regola

Salva le regole in un file con l'.guardestensione. L'esempio seguente richiede che ogni bucket Amazon S3 in un modello specifichi la crittografia del bucket:

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

Per la sintassi delle regole e altri esempi, consulta Writing rules. AWS CloudFormation Guard

Convalida un modello

Passa il file delle regole --rules e il modello a--data:

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

Il comando restituisce lo stato di uscita 0 al passaggio del modello. Se una regola fallisce, l'output identifica la regola non riuscita. È inoltre possibile passare cartelle a --rules e --data controllare più file.

Prima di utilizzare una regola in un flusso di lavoro automatizzato, testatela con il supporto integrato per i test unitari. Per istruzioni, consulta AWS CloudFormation Guard Regole di test.

Aggiungi Guard al tuo flusso di lavoro

Puoi eseguire Guard localmente, in una build automatica o prima di un commit Git. Il CloudFormation Language Server può anche eseguire i pacchetti di regole Guard mentre modifichi un modello. Per la configurazione, vedereCloudFormation Server linguistico.

Per applicare le regole durante CloudFormation le operazioni dell'API Cloud Control, usa Guard Hooks. Per ulteriori informazioni, consulta Guard Hooks.

Ulteriori informazioni

Per il riferimento completo al linguaggio e ai comandi, consulta la Guida per l'AWS CloudFormation Guard utente. Il codice sorgente e le informazioni sulla versione sono disponibili nel AWS CloudFormation Guard repository su GitHub.