validar - AWS CloudFormation Guard

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

Consulte também