validasi - AWS CloudFormation Guard

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

Lihat juga