As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
validar
Valida os dados em relação AWS CloudFormation Guard às regras para determinar o sucesso ou o fracasso.
Sintaxe
cfn-guard validate --data <value> --output-format <value> --rules <value> --show-summary <value> --type <value>
Parâmetros
-a
, --alphabetical
Valida arquivos em um diretório ordenado alfabeticamente.
-h
, --help
Imprime informações de ajuda.
-m
, --last-modified
Valida arquivos em um diretório ordenado pelos horários da última modificação.
-P
, --payload
Forneça regras e dados no seguinte formato JSON por meio stdin
de:
{"rules":["<rules 1>", "<rules 2>", ...], "data":["<data 1>", "<data 2>", ...]}
Por exemplo:
{"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\"" ]}
Para “regras”, especifique uma lista da versão da string dos arquivos de regras. Para “dados”, especifique uma lista da versão da string dos arquivos de dados.
Quando --payload
é especificado --rules
e --data
não pode ser especificado.
-p
, --print-json
Imprime a saída no formato JSON.
-s
, --show-clause-failures
Mostra a falha da cláusula, incluindo um resumo.
-V
, --version
Imprime as informações da versão.
-v
, --verbose
Aumenta a verbosidade da saída. Pode ser especificado várias vezes.
-z
, --structured
Imprime uma lista de formatos de saída estruturados e válidosJSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip: single-line-summary
Opções
-d
, --data
(sequência de caracteres)
Fornece um arquivo de dados ou diretório de arquivos de dados em JSON ou YAML. Suporta a passagem de vários valores usando essa opção repetidamente.
Exemplo: --data template1.yaml --data ./data-dir1 --data template2.yaml
Para argumentos de diretório como os data-dir1
acima, o escaneamento só é suportado para arquivos com as seguintes extensões: .yaml, .yml, .json, .jsn, .template
Se você especificar o --payload
sinalizador, não especifique a --data
opção.
-i
, --input-parameters
(sequência de caracteres)
Fornece um arquivo de parâmetros ou diretório de arquivos de parâmetros em JSON ou YAML que especifica quaisquer parâmetros adicionais a serem usados junto com os arquivos de dados a serem usados como um contexto combinado. Todos os arquivos de parâmetros passados como entrada são mesclados e esse contexto combinado é novamente mesclado com cada arquivo passado como argumento para. data
Devido a isso, espera-se que cada arquivo contenha propriedades mutuamente exclusivas, sem qualquer sobreposição. Suporta a passagem de vários valores usando essa opção repetidamente.
Para argumentos de diretório, a varredura só é compatível com arquivos com as seguintes extensões: .yaml, .yml, .json, .jsn, .template
-o
, --output-format
(sequência de caracteres)
Especifica o formato da saída.
Padrão: single-line-summary
Valores permitidos: json
| yaml
| single-line-summary
| junit
| sarif
-r
, --rules
(sequência de caracteres)
Fornece um arquivo de regras ou um diretório de arquivos de regras. Suporta a passagem de vários valores usando essa opção repetidamente.
Exemplo: --rules rule1.guard --rules ./rules-dir1 --rules rule2.guard
Para argumentos de diretório como os rules-dir1
acima, a varredura só é suportada para arquivos com as seguintes extensões: .guard, .ruleset
Se você especificar o --payload
sinalizador, não especifique a --rules
opção.
--show-summary
(string)
Controla se a tabela de resumo precisa ser exibida. --show-summary fail
(padrão) ou --show-summary pass,fail
(mostre apenas as regras aprovadas ou reprovadas) ou --show-summary none
(para desativá-las) ou --show-summary all
(para mostrar todas as regras aprovadas, reprovadas ou ignoradas).
Padrão: fail
Valores permitidos: none
| all
| pass
| fail
| skip
-t
, --type
(sequência de caracteres)
Fornece o formato dos seus dados de entrada. Quando você especifica o tipo de dados de entrada, o Guard exibe os nomes lógicos dos recursos do CloudFormation modelo na saída. Por padrão, o Guard exibe caminhos e valores de propriedades, comoProperty
[/Resources/vol2/Properties/Encrypted
.
Valores permitidos: CFNTemplate
Exemplo
cfn-guard validate --data
example.json
--rulesrules.guard
Saída
Se o Guard validar com êxito os modelos, o validate
comando retornará um status de saída de 0
($?
em bash). Se o Guard identificar uma violação de regra, o validate
comando retornará um relatório de status das regras que falharam.
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".]