View a markdown version of this page

Validasi template dengan Guard - AWS CloudFormation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Validasi template dengan Guard

AWS CloudFormation Guard (cfn-guard) adalah alat kebijakan sebagai kode. Anda menulis aturan yang menjelaskan konfigurasi yang diperlukan atau dilarang, lalu memeriksa data JSON atau YAML terhadap aturan tersebut. Misalnya, Anda dapat meminta setiap bucket Amazon S3 dalam template untuk menggunakan enkripsi.

Untuk keterbatasan validasi lokal dan langkah-langkah yang harus diambil sebelum penerapan, lihatMemahami ruang lingkup validasi.

Instal Guard

AktifmacOS, instal Guard dengan Homebrew:

brew install cloudformation-guard

Untuk Linux, Windows, metode macOS instalasi lainnya, dan verifikasi rilis, lihat Men yiapkan AWS CloudFormation Guard.

Tulis aturan

Simpan aturan dalam file dengan .guard ekstensi. Contoh berikut mengharuskan setiap bucket Amazon S3 dalam template untuk menentukan enkripsi bucket:

let s3_buckets = Resources.*[ Type == 'AWS::S3::Bucket' ] rule S3_BUCKET_ENCRYPTED when %s3_buckets !empty { %s3_buckets { Properties.BucketEncryption exists } }

Untuk sintaks aturan dan contoh lainnya, lihat Menulis AWS CloudFormation Guard aturan.

Memvalidasi template

Berikan file aturan ke --rules dan template ke--data:

cfn-guard validate --rules rules.guard --data template.yaml

Perintah mengembalikan status keluar 0 saat template lewat. Jika aturan gagal, output mengidentifikasi aturan yang gagal. Anda juga dapat meneruskan direktori --data ke --rules dan memeriksa beberapa file.

Sebelum menggunakan aturan dalam alur kerja otomatis, ujilah dengan dukungan pengujian unit bawaan. Untuk instruksi, lihat A AWS CloudFormation Guard turan pengujian.

Tambahkan Guard ke alur kerja Anda

Anda dapat menjalankan Guard secara lokal, dalam build otomatis, atau sebelum komit Git. Server CloudFormation Bahasa juga dapat menjalankan paket aturan Guard saat Anda mengedit template. Untuk pengaturan, lihatCloudFormation Server Bahasa.

Untuk menegakkan aturan selama CloudFormation dan operasi Cloud Control API, gunakan Guard Hooks. Untuk informasi selengkapnya, lihat Guard Hooks.

Pelajari selengkapnya

Untuk referensi bahasa dan perintah lengkap, lihat Panduan AWS CloudFormation Guard Pengguna. Kode sumber dan informasi rilis tersedia di AWS CloudFormation Guard repositori pada GitHub.