Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
validar
Valida los datos según AWS CloudFormation Guard las reglas para determinar el éxito o el fracaso.
Sintaxis
cfn-guard validate --data <value> --output-format <value> --rules <value> --show-summary <value> --type <value>
Parámetros
-a
, --alphabetical
Valida los archivos de un directorio ordenado alfabéticamente.
-h
, --help
Imprime información de ayuda.
-m
, --last-modified
Valida los archivos de un directorio que está ordenado por la hora de la última modificación.
-P
, --payload
Proporcione reglas y datos en el siguiente formato JSON mediante: stdin
{"rules":["<rules 1>", "<rules 2>", ...], "data":["<data 1>", "<data 2>", ...]}
Por ejemplo:
{"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\"" ]}
En «reglas», especifique una lista de versiones en cadena de los archivos de reglas. Para «datos», especifique una lista de versiones en cadena de los archivos de datos.
--payload
Se especifica cuándo --rules
y cuándo --data
no se puede especificar.
-p
, --print-json
Imprime el resultado en formato JSON.
-s
, --show-clause-failures
Muestra el error de la cláusula, incluido un resumen.
-V
, --version
Imprime la información de la versión.
-v
, --verbose
Aumenta la verbosidad de la salida. Se puede especificar varias veces.
-z
, --structured
Imprime una lista de formatos de salida estructurados y válidosJSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip: single-line-summary
Opciones
-d
, --data
(cadena)
Proporciona un archivo de datos o un directorio de archivos de datos en JSON o YAML. Admite el paso de varios valores mediante el uso de esta opción de forma repetida.
Ejemplo: --data template1.yaml --data ./data-dir1 --data template2.yaml
Para los argumentos de directorio como los data-dir1
anteriores, solo se admite el escaneo de archivos con las siguientes extensiones: .yaml, .yml, .json, .jsn, .template
Si especificas la marca, no especifiques la opción--payload
. --data
-i
, --input-parameters
(cadena)
Proporciona un archivo de parámetros o un directorio de archivos de parámetros en JSON o YAML que especifica los parámetros adicionales que se utilizarán junto con los archivos de datos que se utilizarán como contexto combinado. Todos los archivos de parámetros pasados como entrada se fusionan y este contexto combinado se vuelve a fusionar con cada archivo que se pasa como argumento. data
Por este motivo, se espera que todos los archivos contengan propiedades que se excluyan mutuamente, sin que se superpongan. Admite el paso de varios valores mediante el uso repetido de esta opción.
En el caso de los argumentos de directorio, solo se admite el escaneo de archivos con las siguientes extensiones: .yaml, .yml, .json, .jsn, .template
-o
--output-format
, (cadena)
Especifica el formato de la salida.
Valor predeterminado: single-line-summary
Valores permitidos: json
| yaml
| single-line-summary
| junit
| sarif
-r
, --rules
(cadena)
Proporciona un archivo de reglas o un directorio de archivos de reglas. Admite el paso de varios valores mediante el uso repetido de esta opción.
Ejemplo: --rules rule1.guard --rules ./rules-dir1 --rules rule2.guard
Para los argumentos de directorio como los rules-dir1
anteriores, el escaneo solo se admite para archivos con las siguientes extensiones: .guard, .ruleset
Si especifica la --payload
marca, no especifique la opción. --rules
--show-summary
(cadena)
Controla si es necesario mostrar la tabla de resumen. --show-summary fail
(predeterminado) o --show-summary pass,fail
(mostrar solo las reglas que se aprobaron o rechazaron) o --show-summary none
(para desactivarlas) o --show-summary all
(para mostrar todas las reglas que se aprueban, no se aprueban u omiten).
Valor predeterminado: fail
Valores permitidos: none
| all
| pass
| fail
| skip
-t
, --type
(cadena)
Proporciona el formato de los datos de entrada. Al especificar el tipo de datos de entrada, Guard muestra los nombres lógicos de los recursos de la CloudFormation plantilla en la salida. De forma predeterminada, Guard muestra las rutas y los valores de las propiedades, comoProperty
[/Resources/vol2/Properties/Encrypted
.
Valores permitidos: CFNTemplate
Ejemplo
cfn-guard validate --data
example.json
--rulesrules.guard
Output
Si Guard valida correctamente las plantillas, el validate
comando devuelve un estado de salida de 0
($?
en bash). Si Guard identifica una infracción de las reglas, el validate
comando devuelve un informe de estado de las reglas que han fallado.
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".]