

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
<a name="cloudformation-guard"></a>

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](template-guide.md#template-validation-scope)

**Topics**
+ [Installa Guard](#cloudformation-guard-install)
+ [Scrivere una regola](#cloudformation-guard-write-rule)
+ [Convalida un modello](#cloudformation-guard-validate)
+ [Aggiungi Guard al tuo flusso di lavoro](#cloudformation-guard-integrate)
+ [Ulteriori informazioni](#cloudformation-guard-learn-more)

## Installa Guard
<a name="cloudformation-guard-install"></a>

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](https://docs.aws.amazon.com/cfn-guard/latest/ug/setting-up.html) Configurazione.

## Scrivere una regola
<a name="cloudformation-guard-write-rule"></a>

Salva le regole in un file con l'`.guard`estensione. 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](https://docs.aws.amazon.com/cfn-guard/latest/ug/writing-rules.html)

## Convalida un modello
<a name="cloudformation-guard-validate"></a>

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](https://docs.aws.amazon.com/cfn-guard/latest/ug/testing-rules.html).

## Aggiungi Guard al tuo flusso di lavoro
<a name="cloudformation-guard-integrate"></a>

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, vedere[CloudFormation Server linguistico](ide-extension.md).

Per applicare le regole durante CloudFormation le operazioni dell'API Cloud Control, usa Guard Hooks. Per ulteriori informazioni, consulta [ Guard Hooks. ](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/guard-hooks.html)

## Ulteriori informazioni
<a name="cloudformation-guard-learn-more"></a>

Per il riferimento completo al linguaggio e ai comandi, consulta la Guida [ per l'](https://docs.aws.amazon.com/cfn-guard/latest/ug/what-is-guard.html)AWS CloudFormation Guard utente. Il codice sorgente e le informazioni sulla versione sono disponibili nel [AWS CloudFormation Guard repository su GitHub](https://github.com/aws-cloudformation/cloudformation-guard).