validar - AWS CloudFormation Guard

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.

--payloadSe 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 --rules rules.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".]

Véase también