Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
validasi
Memvalidasi data terhadap AWS CloudFormation Guard aturan untuk menentukan keberhasilan atau kegagalan.
Sintaks
cfn-guard validate --data <value> --output-format <value> --rules <value> --show-summary <value> --type <value>
Parameter
-a
, --alphabetical
Memvalidasi file dalam direktori yang diurutkan menurut abjad.
-h
, --help
Mencetak informasi bantuan.
-m
, --last-modified
Memvalidasi file dalam direktori yang diurutkan berdasarkan waktu modifikasi terakhir.
-P
, --payload
Berikan aturan dan data dalam format JSON berikut melaluistdin
:
{"rules":["<rules 1>", "<rules 2>", ...], "data":["<data 1>", "<data 2>", ...]}
Misalnya:
{"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\"" ]}
Untuk “aturan”, tentukan daftar versi string dari file aturan. Untuk “data”, tentukan daftar versi string file data.
Kapan --payload
ditentukan --rules
dan --data
tidak dapat ditentukan.
-p
, --print-json
Mencetak output dalam format JSON.
-s
, --show-clause-failures
Menunjukkan kegagalan klausa termasuk ringkasan.
-V
, --version
Mencetak informasi versi.
-v
, --verbose
Meningkatkan verbositas output. Dapat ditentukan beberapa kali.
-z
, --structured
Mencetak daftar format output yang terstruktur dan validJSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip: single-line-summary
Opsi
-d
, --data
(string)
Menyediakan file data atau direktori file data di JSON atau YAMAL. Mendukung melewati beberapa nilai dengan menggunakan opsi ini berulang kali.
Contoh: --data template1.yaml --data ./data-dir1 --data template2.yaml
Untuk argumen direktori seperti data-dir1
di atas, pemindaian hanya didukung untuk file dengan ekstensi berikut: .yaml, .yml.json, .jsn, .template
Jika Anda menentukan --payload
bendera, jangan tentukan --data
opsi.
-i
, --input-parameters
(string)
Menyediakan file parameter atau direktori file parameter di JSON atau YAMAL yang menentukan parameter tambahan untuk digunakan bersama dengan file data yang akan digunakan sebagai konteks gabungan. Semua file parameter yang diteruskan sebagai input digabungkan dan konteks gabungan ini digabungkan lagi dengan setiap file yang diteruskan sebagai argumen untuk. data
Karena ini, setiap file diharapkan mengandung properti yang saling eksklusif, tanpa tumpang tindih. Mendukung melewati beberapa nilai dengan menggunakan opsi ini berulang kali.
Untuk argumen direktori, pemindaian hanya didukung untuk file dengan ekstensi berikut: .yaml, .yml.json, .jsn, .template
-o
, --output-format
(string)
Menentukan format untuk output.
Default: single-line-summary
Nilai yang diizinkan: json
| yaml
| single-line-summary
| junit
| sarif
-r
, --rules
(string)
Menyediakan file aturan atau direktori file aturan. Mendukung melewati beberapa nilai dengan menggunakan opsi ini berulang kali.
Contoh: --rules rule1.guard --rules ./rules-dir1 --rules rule2.guard
Untuk argumen direktori seperti rules-dir1
di atas, pemindaian hanya didukung untuk file dengan ekstensi berikut: .guard, .ruleset
Jika Anda menentukan --payload
bendera, jangan tentukan --rules
opsi.
--show-summary
(tali)
Kontrol jika tabel ringkasan perlu ditampilkan. --show-summary fail
(default) atau --show-summary pass,fail
(hanya tampilkan aturan yang lulus/gagal) atau --show-summary none
(untuk mematikannya) atau --show-summary all
(untuk menampilkan semua aturan yang lulus, gagal, atau lewati).
Default: fail
Nilai yang diizinkan: none
| all
| pass
| fail
| skip
-t
, --type
(string)
Menyediakan format data input Anda. Saat Anda menentukan tipe data input, Guard menampilkan nama logis sumber daya CloudFormation template dalam output. Secara default, Guard menampilkan jalur dan nilai properti, sepertiProperty
[/Resources/vol2/Properties/Encrypted
.
Nilai yang diizinkan: CFNTemplate
Contoh
cfn-guard validate --data
example.json
--rulesrules.guard
Output
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.
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".]