validate - AWS CloudFormation Guard

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

validate

Convalida i dati in AWS CloudFormation Guard base alle regole per determinare il successo o il fallimento.

Sintassi

cfn-guard validate --data <value> --output-format <value> --rules <value> --show-summary <value> --type <value>

Parametri

-a, --alphabetical

Convalida i file in una directory in ordine alfabetico.

-h, --help

Stampa le informazioni di aiuto.

-m, --last-modified

Convalida i file in una directory ordinata in base all'ora dell'ultima modifica.

-P, --payload

Fornisci regole e dati nel seguente formato JSON tramite: stdin

{"rules":["<rules 1>", "<rules 2>", ...], "data":["<data 1>", "<data 2>", ...]}

Per esempio:

{"data": ["{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}","{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}"], "rules" : [ "Parameters.InstanceName == \"TestInstance\"","Parameters.InstanceName == \"TestInstance\"" ]}

Per «regole», specifica un elenco di versioni in formato stringa dei file delle regole. Per «dati», specifica un elenco di versioni in formato stringa dei file di dati.

Quando --payload è specificato --rules e --data non può essere specificato.

-p, --print-json

Stampa l'output in formato JSON.

-s, --show-clause-failures

Mostra l'errore della clausola, incluso un riepilogo.

-V, --version

Stampa le informazioni sulla versione.

-v, --verbose

Aumenta la verbosità dell'output. Può essere specificato più volte.

-z, --structured

Stampa un elenco di formati di output strutturati e validiJSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip: single-line-summary

Opzioni

-d, --data (stringa)

Fornisce un file di dati o una directory di file di dati in JSON o YAML. Supporta il passaggio di più valori utilizzando ripetutamente questa opzione.

Esempio: --data template1.yaml --data ./data-dir1 --data template2.yaml

Per gli argomenti di directory come quelli data-dir1 precedenti, la scansione è supportata solo per i file con le seguenti estensioni: .yaml, .yml, .json, .jsn, .template

Se specificate il flag, non specificate l'opzione. --payload --data

-i, --input-parameters (stringa)

Fornisce un file di parametri o una directory di file di parametri in JSON o YAML che specifica eventuali parametri aggiuntivi da utilizzare insieme ai file di dati da utilizzare come contesto combinato. Tutti i file di parametri passati come input vengono uniti e questo contesto combinato viene nuovamente unito a ogni file passato come argomento per. data Per questo motivo, si prevede che ogni file contenga proprietà che si escludono a vicenda, senza sovrapposizioni. Supporta il passaggio di più valori utilizzando ripetutamente questa opzione.

Per gli argomenti delle directory, la scansione è supportata solo per i file con le seguenti estensioni: .yaml, .yml, .json, .jsn, .template

-o--output-format, (stringa)

Specificate il formato per l'output.

Default: single-line-summary

Valori consentiti: json | yaml | single-line-summary | junit | sarif

-r, --rules (stringa)

Fornisce un file di regole o una directory di file di regole. Supporta il passaggio di più valori utilizzando ripetutamente questa opzione.

Esempio: --rules rule1.guard --rules ./rules-dir1 --rules rule2.guard

Per gli argomenti di directory come quelli rules-dir1 precedenti, la scansione è supportata solo per i file con le seguenti estensioni: .guard, .ruleset

Se specificate la --payload bandiera, non specificate l'opzione. --rules

--show-summary (Stringa)

Controlla se la tabella riassuntiva deve essere visualizzata. --show-summary fail(impostazione predefinita) o --show-summary pass,fail (mostra solo le regole che hanno avuto esito positivo o negativo) o --show-summary none (per disattivarla) o --show-summary all (per mostrare tutte le regole superate, non riuscite o ignorate).

Default: fail

Valori consentiti: none | all | pass | fail | skip

-t, --type (stringa)

Fornisce il formato dei dati di input. Quando si specifica il tipo di dati di input, Guard visualizza i nomi logici delle risorse del CloudFormation modello nell'output. Per impostazione predefinita, Guard visualizza i percorsi e i valori delle proprietà, ad esempioProperty [/Resources/vol2/Properties/Encrypted.

Allowed values: CFNTemplate

Esempio

cfn-guard validate --data example.json --rules rules.guard

Output

Se Guard convalida correttamente i modelli, il validate comando restituisce uno stato di uscita di 0 ($?in bash). Se Guard identifica una violazione della regola, il validate comando restituisce un rapporto sullo stato delle regole che non sono riuscite.

example.json Status = FAIL FAILED rules rules.guard/policy_effect_is_deny FAIL --- Evaluation of rules rules.guard against data example.json -- Property [/path/to/Effect] in data [example.json] is not compliant with [policy_effect_is_deny] because provided value ["Allow"] did not match expected value ["Deny"]. Error Message [ Policy statement "Effect" must be "Deny".]

Consulta anche