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
--rulesrules.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".]