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à.
Convalida dei dati di input rispetto alle regole AWS CloudFormation Guard
È possibile utilizzare il AWS CloudFormation Guard validate
comando per convalidare i dati in base alle regole di Guard. Per ulteriori informazioni sul validate
comando, inclusi i parametri e le opzioni, consulta validate.
Prerequisiti
-
Scrivi le regole di Guard in base alle quali convalidare i dati di input. Per ulteriori informazioni, consulta regole di Writing Guard.
-
Verifica le tue regole per assicurarti che funzionino come previsto. Per ulteriori informazioni, consulta Regole di Testing Guard.
Utilizzo del validate
comando
Per convalidare i dati di input in base alle regole di Guard, ad esempio un AWS CloudFormation modello, esegui il validate
comando Guard. Per il --rules
parametro, specificate il nome di un file di regole. Per il --data
parametro, specificate il nome del file di dati di input.
cfn-guard validate --rules
rules.guard
--datatemplate.json
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. Usa il flag di riepilogo (-s all
) per visualizzare l'albero di valutazione dettagliato che mostra come Guard ha valutato ciascuna regola.
template.json Status = FAIL
SKIP rules
rules.guard/aws_apigateway_deployment_checks SKIP
rules.guard/aws_apigateway_stage_checks SKIP
rules.guard/aws_dynamodb_table_checks SKIP
PASS rules
rules.guard/aws_events_rule_checks PASS
rules.guard/aws_iam_role_checks PASS
FAILED rules
rules.guard/aws_ec2_volume_checks FAIL
rules.guard/mixed_types_checks FAIL
---
Evaluation of rules rules.guard against data template.json
--
Property [/Resources/vol2/Properties/Encrypted] in data [template.json] is not compliant with [rules.guard/aws_ec2_volume_checks] because provided value [false] did not match expected value [true]. Error Message []
Property traversed until [/Resources/vol2/Properties] in data [template.json] is not compliant with [rules.guard/aws_ec2_volume_checks] due to retrieval error. Error Message [Attempting to retrieve array index or key from map at path = /Resources/vol2/Properties , Type was not an array/object map, Remaining Query = Size]
Property [/Resources/vol2/Properties/Encrypted] in data [template.json] is not compliant with [rules.guard/mixed_types_checks] because provided value [false] did not match expected value [true]. Error Message []
--
Rule [rules.guard/aws_iam_role_checks] is compliant for data [template.json]
Rule [rules.guard/aws_events_rule_checks] is compliant for data [template.json]
--
Rule [rules.guard/aws_apigateway_deployment_checks] is not applicable for data [template.json]
Rule [rules.guard/aws_apigateway_stage_checks] is not applicable for data [template.json]
Rule [rules.guard/aws_dynamodb_table_checks] is not applicable for data [template.json]
Convalida di più regole rispetto a più file di dati
Per aiutare a mantenere le regole, puoi scrivere regole in più file e organizzarle come preferisci. Quindi, puoi convalidare più file di regole rispetto a uno o più file di dati. Il validate
comando può richiedere una directory di file per le --rules
opzioni --data
e. Ad esempio, è possibile eseguire il comando seguente dove /path/to/dataDirectory
contiene uno o più file di dati e /path/to/ruleDirectory
contiene uno o più file di regole.
cfn-guard validate --data /path/to/dataDirectory --rules /path/to/ruleDirectory
È possibile scrivere regole per verificare se varie risorse definite in più CloudFormation modelli dispongono delle assegnazioni di proprietà appropriate per garantire la crittografia a riposo. Per semplificare la ricerca e la manutenzione, è possibile disporre di regole per il controllo della crittografia inattiva in ogni risorsa in file separati s3_bucket_encryption.guard
ec2_volume_encryption.guard
, denominati e rds_dbinstance_encrytion.guard
in una directory con il percorso~/GuardRules/encryption_at_rest
. I CloudFormation modelli da convalidare si trovano in una directory con il percorso~/CloudFormation/templates
. In questo caso, esegui il validate
comando come segue.
cfn-guard validate --data ~/CloudFormation/templates --rules ~/GuardRules/encryption_at_rest