Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memvalidasi data input terhadap aturan AWS CloudFormation Guard
Anda dapat menggunakan AWS CloudFormation Guard validate perintah untuk memvalidasi data terhadap aturan Guard. Untuk informasi selengkapnya tentang validate perintah, termasuk parameter dan opsinya, lihat memvalidasi.
Prasyarat
-
Tulis aturan Guard untuk memvalidasi data input Anda. Untuk informasi selengkapnya, lihat Aturan Penjaga Menulis.
-
Uji aturan Anda untuk memastikan bahwa mereka bekerja sebagaimana dimaksud. Untuk informasi selengkapnya, lihat Aturan Pengujian Guard.
Menggunakan validate perintah
Untuk memvalidasi data input Anda terhadap aturan Guard Anda, seperti AWS CloudFormation template, jalankan validate perintah Guard. Untuk --rules parameter, tentukan nama file aturan. Untuk --data parameter, tentukan nama file data input.
cfn-guard validate --rulesrules.guard--datatemplate.json
Jika Guard berhasil memvalidasi template, validate perintah mengembalikan status keluar 0 ($?dalam bash). Jika Guard mengidentifikasi pelanggaran aturan, validate perintah mengembalikan laporan status aturan yang gagal. Gunakan flag ringkasan (-s all) untuk melihat pohon evaluasi rinci yang menunjukkan bagaimana Guard mengevaluasi setiap aturan.
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]
Memvalidasi beberapa aturan terhadap beberapa file data
Untuk membantu mempertahankan aturan, Anda dapat menulis aturan ke dalam beberapa file dan mengatur aturan sesuai keinginan. Kemudian, Anda dapat memvalidasi beberapa file aturan terhadap file data atau beberapa file data. validatePerintah dapat mengambil direktori file untuk --rules opsi --data dan. Misalnya, Anda dapat menjalankan perintah berikut di mana /path/to/dataDirectory berisi satu atau lebih file data dan /path/to/ruleDirectory berisi satu atau beberapa file aturan.
cfn-guard validate --data /path/to/dataDirectory --rules /path/to/ruleDirectory
Anda dapat menulis aturan untuk memeriksa apakah berbagai sumber daya yang ditentukan dalam beberapa CloudFormation templat memiliki penugasan properti yang sesuai untuk menjamin enkripsi saat istirahat. Untuk kemudahan pencarian dan pemeliharaan, Anda dapat memiliki aturan untuk memeriksa enkripsi saat istirahat di setiap sumber daya dalam file terpisah s3_bucket_encryption.guardec2_volume_encryption.guard, dipanggil,, dan rds_dbinstance_encrytion.guard dalam direktori dengan jalur~/GuardRules/encryption_at_rest. CloudFormationTemplate yang Anda butuhkan untuk memvalidasi ada di direktori dengan jalur~/CloudFormation/templates. Dalam hal ini, jalankan validate perintah sebagai berikut.
cfn-guard validate --data ~/CloudFormation/templates --rules ~/GuardRules/encryption_at_rest