Mencegah pembaruan ke sumber daya tumpukan - AWS CloudFormation

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

Mencegah pembaruan ke sumber daya tumpukan

Saat Anda membuat tumpukan, semua tindakan pembaruan diizinkan di semua sumber daya. Secara default, siapa pun yang memiliki izin pembaruan tumpukan dapat memperbarui semua sumber daya di tumpukan. Selama pembaruan, beberapa sumber daya mungkin memerlukan gangguan atau diganti sepenuhnya, menghasilkan penyimpanan fisik IDs atau yang sama sekali baru. Anda dapat mencegah sumber daya tumpukan tidak sengaja diperbarui atau dihapus selama pembaruan tumpukan dengan menggunakan kebijakan tumpukan . Kebijakan tumpukan adalah dokumen JSON yang mendefinisikan tindakan pembaruan yang dapat dilakukan pada sumber daya yang ditentukan.

Setelah Anda menetapkan kebijakan tumpukan, semua sumber daya di tumpukan dilindungi secara default. Untuk mengizinkan pembaruan pada sumber daya tertentu, Anda menentukan pernyataan eksplisit Allow untuk sumber daya tersebut dalam kebijakan tumpukan Anda. Anda hanya dapat menentukan satu kebijakan tumpukan per tumpukan, tetapi, Anda dapat melindungi beberapa sumber daya dalam satu kebijakan. Kebijakan tumpukan berlaku untuk semua pengguna CloudFormation yang mencoba untuk memperbarui tumpukan. Anda tidak dapat mengaitkan kebijakan tumpukan yang berbeda dengan pengguna yang berbeda.

Kebijakan tumpukan berlaku hanya selama pembaruan tumpukan. Itu tidak menyediakan kontrol akses seperti kebijakan AWS Identity and Access Management (IAM). Gunakan kebijakan tumpukan hanya sebagai mekanisme gagal-aman untuk mencegah pembaruan yang tidak disengaja untuk sumber daya tumpukan tertentu. Untuk mengontrol akses ke AWS sumber daya atau tindakan, gunakan IAM.

Contoh kebijakan tumpukan

Kebijakan tumpukan contoh berikut mencegah pembaruan ke sumber daya ProductionDatabase:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/ProductionDatabase" } ] }

Saat Anda menetapkan kebijakan tumpukan, semua sumber daya dilindungi secara default. Untuk mengizinkan pembaruan pada semua sumber daya, kami menambahkan pernyataan Allow yang mengizinkan semua tindakan pada semua sumber daya. Meskipun pernyataan Allow menentukan semua sumber daya, pernyataan eksplisit Deny menimpanya untuk sumber daya dengan ID logis ProductionDatabase. Pernyataan Deny ini mencegah semua tindakan pembaruan, seperti penggantian atau penghapusan, pada sumber daya ProductionDatabase.

Elemen Principal diperlukan, tetapi hanya mendukung wild card (*), yang berarti bahwa pernyataan tersebut berlaku untuk semua yang utama.

catatan

Selama pembaruan tumpukan, CloudFormation secara otomatis memperbarui sumber daya yang bergantung pada sumber daya yang diperbarui lainnya. Misalnya, CloudFormation memperbarui sumber daya yang mereferensikan sumber daya yang diperbarui. CloudFormation Tidak membuat perubahan fisik, seperti ID sumber daya, untuk memperbarui sumber daya secara otomatis, tetapi jika kebijakan tumpukan dikaitkan dengan sumber daya tersebut, Anda harus memiliki izin untuk memperbaruinya.

Menetapkan kebijakan tumpukan

Saat Anda membuat tumpukan, tidak ada kebijakan tumpukan yang diatur, jadi semua tindakan pembaruan diizinkan di semua sumber daya. Untuk melindungi sumber daya tumpukan dari tindakan pembaruan, tentukan kebijakan tumpukan, lalu tetapkan di tumpukan Anda. Kebijakan tumpukan adalah dokumen JSON yang mendefinisikan tindakan pembaruan CloudFormation tumpukan yang dapat dilakukan CloudFormation pengguna dan sumber daya yang diterapkan tindakan tersebut. Anda mengatur kebijakan tumpukan saat Anda membuat tumpukan, dengan menentukan file teks yang berisi kebijakan tumpukan Anda atau mengetiknya. Saat Anda menetapkan kebijakan tumpukan di tumpukan Anda, pembaruan apa pun yang tidak diizinkan secara eksplisit akan ditolak secara default.

Anda menentukan kebijakan tumpukan dengan lima elemen: Effect, Action, Principal, Resource, dan Condition. Kode semu berikut menunjukkan sintaks kebijakan tumpukan.

{ "Statement" : [ { "Effect" : "Deny_or_Allow", "Action" : "update_actions", "Principal" : "*", "Resource" : "LogicalResourceId/resource_logical_ID", "Condition" : { "StringEquals_or_StringLike" : { "ResourceType" : [resource_type, ...] } } } ] }
Effect

Menentukan apakah tindakan yang Anda tentukan ditolak atau diizinkan pada sumber daya yang Anda tentukan. Anda hanya dapat menentukan Deny atau Allow, seperti:

"Effect" : "Deny"
penting

Jika kebijakan tumpukan menyertakan pernyataan yang tumpang tindih (mengizinkan dan menolak pembaruan pada sumber daya), pernyataan Deny selalu menimpa pernyataanAllow. Untuk memastikan bahwa sumber daya dilindungi, gunakan pernyataan Deny untuk sumber daya tersebut.

Tindakan

Menentukan tindakan pembaruan yang ditolak atau diizinkan:

Pembaruan:Ubah

Menentukan tindakan pembaruan selama sumber daya mungkin tidak mengalami gangguan atau beberapa gangguan saat perubahan diterapkan. Semua sumber daya mempertahankan fisik mereka IDs.

Pembaruan:Ganti

Menentukan tindakan pembaruan selama sumber daya diciptakan kembali. CloudFormation menciptakan sumber daya baru dengan pembaruan tertentu dan kemudian menghapus sumber daya lama. Karena sumber daya diciptakan kembali, ID fisik sumber daya baru mungkin berbeda.

Pembaruan:Hapus

Menentukan tindakan pembaruan selama sumber daya yang dihapus. Pembaruan yang benar-benar menghapus sumber daya dari template tumpukan memerlukan tindakan ini.

Perbarui:*

Menentukan semua tindakan pembaruan. Tanda bintang adalah wild card yang mewakili semua tindakan pembaruan.

Contoh berikut menunjukkan cara menentukan hanya mengganti dan menghapus tindakan:

"Action" : ["Update:Replace", "Update:Delete"]

Untuk mengizinkan semua tindakan pembaruan kecuali satu, gunakan NotAction. Misalnya, untuk mengizinkan semua tindakan pembaruan kecuali untuk Update:Delete, gunakan NotAction, seperti yang ditunjukkan dalam contoh ini:

{ "Statement" : [ { "Effect" : "Allow", "NotAction" : "Update:Delete", "Principal": "*", "Resource" : "*" } ] }
Utama

Eleme Principal menentukan entitas tempat kebijakan tersebut diterapkan. Elemen ini diperlukan, tetapi hanya mendukung wild card (*), yang berarti bahwa pernyataan tersebut berlaku untuk semua yang utama.

Sumber Daya

Menentukan logika IDs sumber daya yang berlaku untuk kebijakan tersebut. Untuk menentukan jenis sumber daya, gunakan Condition elemen.

Untuk menentukan sumber daya tunggal, gunakan ID logisnya. Sebagai contoh:

"Resource" : ["LogicalResourceId/myEC2instance"]

Anda dapat menggunakan kartu liar dengan logis IDs. Misalnya, jika Anda menggunakan prefiks ID logis umum untuk semua sumber daya terkait, Anda dapat menentukan semuanya dengan wild card:

"Resource" : ["LogicalResourceId/CriticalResource*"]

Anda juga dapat menggunakan elemen Not dengan sumber daya. Misalnya, untuk mengizinkan pembaruan ke semua sumber daya kecuali untuk satu, gunakan elemen NotResource untuk melindungi sumber daya tersebut:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "NotResource" : "LogicalResourceId/ProductionDatabase" } ] }

Saat Anda menetapkan kebijakan tumpukan, pembaruan apa pun yang tidak diizinkan secara eksplisit akan ditolak. Dengan mengizinkan pembaruan untuk semua sumber daya kecuali untuk sumber daya ProductionDatabase, Anda menolak pembaruan untuk sumber daya ProductionDatabase.

Ketentuan

Menentukan jenis sumber daya tempat kebijakan tersebut diterapkan. Untuk menentukan logika IDs sumber daya tertentu, gunakan Resource elemen.

Anda dapat menentukan jenis sumber daya, seperti semua EC2 dan instans RDS DB, seperti yang ditunjukkan pada contoh berikut:

{ "Statement" : [ { "Effect" : "Deny", "Principal" : "*", "Action" : "Update:*", "Resource" : "*", "Condition" : { "StringEquals" : { "ResourceType" : ["AWS::EC2::Instance", "AWS::RDS::DBInstance"] } } }, { "Effect" : "Allow", "Principal" : "*", "Action" : "Update:*", "Resource" : "*" } ] }

AllowPernyataan tersebut memberikan izin pembaruan ke semua sumber daya dan Deny pernyataan tersebut menolak pembaruan dan instans RDS EC2 DB. Pernyataan Deny selalu menimpa tindakan izinkan.

Anda dapat menggunakan wild card dengan jenis sumber daya. Misalnya, Anda dapat menolak izin pembaruan ke semua EC2 sumber daya Amazon—seperti instans, grup keamanan, dan subnet—dengan menggunakan kartu liar, seperti yang ditunjukkan pada contoh berikut:

"Condition" : { "StringLike" : { "ResourceType" : ["AWS::EC2::*"] } }

Anda harus menggunakan syarat StringLike ketika Anda menggunakan wild card.

Mengatur kebijakan tumpukan

Anda dapat menggunakan konsol atau AWS CLI menerapkan kebijakan tumpukan saat membuat tumpukan. Anda juga dapat menggunakan AWS CLI untuk menerapkan kebijakan tumpukan ke tumpukan yang ada. Setelah menerapkan kebijakan tumpukan, Anda tidak dapat menghapusnya dari tumpukan, tetapi Anda dapat menggunakannya AWS CLI untuk memodifikasinya.

Kebijakan tumpukan berlaku untuk semua CloudFormation pengguna yang mencoba memperbarui tumpukan. Anda tidak dapat mengaitkan kebijakan tumpukan yang berbeda dengan pengguna yang berbeda.

Untuk informasi selengkapnya tentang kebijakan tumpukan tulis, lihat Menetapkan kebijakan tumpukan.

Untuk mengatur kebijakan tumpukan saat Anda membuat tumpukan (konsol)
  1. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Pada bilah navigasi di bagian atas layar, pilih Wilayah AWS untuk membuat tumpukan.

  3. Pada halaman CloudFormation Stacks, pilih Create stack.

  4. Dalam panduan Membuat Tumpukan, di halaman Mengkonfigurasi opsi tumpukan, perluas bagian Lanjutan dan kemudian pilih Kebijakan tumpukan.

  5. Tentukan kebijakan tumpukan:

    • Untuk menulis kebijakan secara langsung di konsol, pilih Masukkan kebijakan tumpukan, kemudian ketikkan kebijakan tumpukan secara langsung di kolom teks.

    • Untuk menggunakan kebijakan yang ditetapkan dalam file terpisah, pilih Unggah file, kemudian Pilih fileuntuk memilih file yang berisi kebijakan tumpukan.

Untuk mengatur kebijakan tumpukan saat Anda membuat tumpukan (AWS CLI)
  • Gunakan create-stackperintah dengan --stack-policy-body opsi untuk mengetikkan kebijakan yang dimodifikasi atau --stack-policy-url opsi untuk menentukan file yang berisi kebijakan.

Untuk menetapkan kebijakan tumpukan pada tumpukan yang ada (AWS CLI hanya)
  • Gunakan set-stack-policyperintah dengan --stack-policy-body opsi untuk mengetikkan kebijakan yang dimodifikasi atau --stack-policy-url opsi untuk menentukan file yang berisi kebijakan.

    catatan

    Untuk menambahkan kebijakan ke tumpukan yang ada, Anda harus memiliki izin untuk CloudFormation SetStackPolicyTindakan .

Memperbarui sumber daya dilindungi

Untuk memperbarui sumber daya yang dilindungi, buat kebijakan sementara yang menimpa kebijakan tumpukan dan memungkinkan pembaruan pada sumber daya tersebut. Tentukan kebijakan timpa saat Anda memperbarui tumpukan. Kebijakan timpa tidak secara permanen mengubah kebijakan tumpukan.

Untuk memperbarui sumber daya yang dilindungi, Anda harus memiliki izin untuk menggunakan CloudFormation SetStackPolicyTindakan . Untuk informasi tentang mengatur izin CloudFormation, lihat Kontrol CloudFormation akses dengan AWS Identity and Access Management.

catatan

Selama pembaruan tumpukan, CloudFormation secara otomatis memperbarui sumber daya yang bergantung pada sumber daya yang diperbarui lainnya. Misalnya, CloudFormation memperbarui sumber daya yang mereferensikan sumber daya yang diperbarui. CloudFormation Tidak membuat perubahan fisik, seperti ID sumber daya, untuk memperbarui sumber daya secara otomatis, tetapi jika kebijakan tumpukan dikaitkan dengan sumber daya tersebut, Anda harus memiliki izin untuk memperbaruinya.

Untuk memperbarui sumber daya yang dilindungi (konsol)
  1. Buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Pilih tumpukan yang ingin Anda perbarui, pilih Tindakan tumpukan, lalu pilih Perbarui tumpukan.

  3. Jika Anda belum mengubah tumpukan templat, pilih Gunakan templat saat ini, lalu klik Selanjutnya. Jika Anda telah mengubah templat, pilih Ganti templat saat ini dan tentukan lokasi templat yang diperbarui di bagian Tentukan templat:

    • Untuk templat yang disimpan secara lokal di komputer Anda, pilih Unggah file templat. Pilih Pilih File untuk menavigasi ke file dan memilihnya, dan kemudian klik Selanjutnya.

    • Untuk template yang disimpan dalam bucket Amazon S3, pilih URL Amazon S3. Masukkan atau tempel URL untuk templat, dan kemudian klik Selanjutnya.

      Jika Anda memiliki template dalam bucket berkemampuan versi, Anda dapat menentukan versi tertentu dari template template dengan menambahkan ?versionId=version-id ke URL. Untuk informasi selengkapnya, lihat Bekerja dengan objek dalam bucket berkemampuan versi di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

  4. Jika templat Anda berisi parameter, di halaman Tentukan detail tumpukan, masukkan atau ubah nilai parameter, lalu pilih Selanjutnya.

    CloudFormation mengisi setiap parameter dengan nilai yang saat ini diatur dalam tumpukan kecuali untuk parameter yang dideklarasikan dengan NoEcho atribut. Anda dapat menggunakan nilai saat ini untuk parameter tersebut dengan memilih Gunakan nilai yang ada.

    Untuk informasi selengkapnya tentang penggunaan NoEcho untuk menutupi informasi sensitif, serta menggunakan parameter dinamis untuk mengelola rahasia, lihat praktik Jangan menanamkan kredensial dalam templat Anda terbaik.

  5. Tentukan kebijakan timpa tumpukan.

    1. Di halaman Mengonfigurasi opsi tumpukan, di bagian Opsi lanjutan, pilih Kebijakan tumpukan .

    2. Pilih Unggah file.

    3. Klik Pilih filedan arahkan ke arahkan ke file yang berisi kebijakan tumpukan utama atau ketik kebijakan.

    4. Pilih Berikutnya.

    Kebijakan timpa harus menentukan sebuah pernyataan Allow untuk sumber daya yang dilindungi yang ingin Anda perbarui. Misalnya, untuk memperbarui semua sumber daya yang dilindungi, tentukan kebijakan timpa sementara yang memungkinkan semua pembaruan:

    { "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }
    catatan

    CloudFormation menerapkan kebijakan penggantian hanya selama pembaruan ini. Kebijakan timpa tidak secara permanen mengubah kebijakan tumpukan. Untuk mengubah kebijakan tumpukan, lihat Mengubah kebijakan tumpukan .

  6. Tinjau informasi tumpukan dan perubahan yang Anda kirimkan.

    Periksa bahwa Anda telah mengirimkan informasi yang benar, seperti nilai parameter atau URL templat yang benar. Jika template Anda berisi sumber daya IAM, pilih Saya mengakui bahwa template ini dapat membuat sumber daya IAM untuk menentukan bahwa Anda ingin menggunakan sumber daya IAM dalam template. Untuk informasi selengkapnya, lihat Mengakui sumber daya IAM dalam templat CloudFormation.

    Di bagian Pratinjau perubahan Anda, periksa apakah CloudFormation akan membuat semua perubahan yang Anda harapkan. Misalnya, periksa apakah CloudFormation menambahkan, menghapus, dan memodifikasi sumber daya yang ingin Anda tambahkan, hapus, atau modifikasi. CloudFormationmenghasilkan pratinjau ini dengan membuat set perubahan untuk tumpukan. Untuk informasi selengkapnya, lihat Perbarui CloudFormation tumpukan menggunakan set perubahan.

  7. Setelah Anda puas dengan perubahan Anda, klik Perbarui.

    catatan

    Pada titik ini, Anda juga memiliki opsi untuk melihat set perubahan untuk meninjau pembaruan yang diajukan dengan lebih teliti. Untuk melakukannya, klik Lihat set perubahan, bukan Perbarui. CloudFormation menampilkan set perubahan yang dihasilkan berdasarkan pembaruan Anda. Jika Anda siap untuk melakukan pembaruan tumpukan, klik Jalankan.

    CloudFormation menampilkan halaman detail Stack untuk tumpukan Anda. Tumpukan Anda sekarang memiliki statusUPDATE_IN_PROGRESS. Setelah CloudFormation berhasil selesai memperbarui tumpukan, ia menetapkan status tumpukan keUPDATE_COMPLETE.

    Jika pembaruan tumpukan gagal, CloudFormation; secara otomatis memutar kembali perubahan, dan menetapkan status tumpukan keUPDATE_ROLLBACK_COMPLETE.

Untuk memperbarui sumber daya yang dilindungi (AWS CLI)
  • Gunakan update-stackperintah dengan --stack-policy-during-update-body opsi untuk mengetikkan kebijakan yang dimodifikasi atau --stack-policy-during-update-url opsi untuk menentukan file yang berisi kebijakan.

    catatan

    CloudFormation menerapkan kebijakan penggantian hanya selama pembaruan ini. Kebijakan timpa tidak secara permanen mengubah kebijakan tumpukan. Untuk mengubah kebijakan tumpukan, lihat Mengubah kebijakan tumpukan .

Mengubah kebijakan tumpukan

Untuk melindungi sumber daya tambahan atau untuk menghapus perlindungan dari sumber daya, ubah kebijakan tumpukan. Misalnya, saat Anda menambahkan basis data yang ingin Anda lindungi ke tumpukan Anda, tambahkan pernyataan Deny untuk basis data tersebut ke kebijakan tumpukan. Untuk mengubah kebijakan, Anda harus memiliki izin untuk menggunakan SetStackPolicyTindakan .

Gunakan AWS CLI untuk memodifikasi kebijakan tumpukan.

Untuk mengubah kebijakan tumpukan, lihat (AWS CLI)
  • Gunakan set-stack-policyperintah dengan --stack-policy-body opsi untuk mengetikkan kebijakan yang dimodifikasi atau --stack-policy-url opsi untuk menentukan file yang berisi kebijakan.

Anda tidak dapat menghapus kebijakan tumpukan. Untuk menghapus semua perlindungan dari semua sumber daya, Anda mengubah kebijakan untuk secara eksplisit mengizinkan semua tindakan pada semua sumber daya. Kebijakan berikut ini mengizinkan semua pembaruan pada semua sumber daya:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }

Lebih banyak contoh kebijakan tumpukan

Contoh kebijakan berikut menunjukkan cara mencegah pembaruan ke semua sumber daya tumpukan dan sumber daya tertentu, serta mencegah jenis pembaruan tertentu.

Mencegah pembaruan ke semua sumber daya tumpukan

Untuk mencegah pembaruan ke semua sumber daya tumpukan, kebijakan berikut menetapkan pernyataan Deny untuk semua tindakan pembaruan pada semua sumber daya.

{ "Statement" : [ { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }

Mencegah pembaruan ke sumber daya tunggal

Kebijakan berikut menolak semua tindakan pembaruan pada basis data dengan ID logis MyDatabase. Hal ini memungkinkan semua tindakan pembaruan pada semua sumber daya tumpukan lainnya dengan pernyataan Allow. Pernyataan Allow tidak berlaku untuk sumber daya MyDatabase karena pernyataan Deny selalu menimpa tindakan izinkan.

{ "Statement" : [ { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/MyDatabase" }, { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }

Anda dapat mencapai hasil yang sama seperti contoh sebelumnya dengan menggunakan penolakan default. Saat Anda menetapkan kebijakan tumpukan, tolak CloudFormation pembaruan apa pun yang tidak diizinkan secara eksplisit. Kebijakan berikut ini mengizinkan pembaruan untuk semua sumber daya kecuali untuk sumber daya ProductionDatabase, yang ditolak secara default.

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "NotResource" : "LogicalResourceId/ProductionDatabase" } ] }
penting

Ada risiko dalam menggunakan penolakan default. Jika Anda memiliki pernyataan Allow di bagian lain dalam kebijakan (seperti pernyataan Allow yang menggunakan wild card), Anda mungkin secara tidak sadar memberikan izin pembaruan ke sumber daya yang tidak Anda inginkan. Karena penolakan eksplisit menimpa tindakan izinkan, Anda bisa memastikan bahwa sumber daya dilindungi dengan menggunakan pernyataan Deny.

Mencegah pembaruan untuk semua instans dari jenis sumber daya

Kebijakan berikut menolak semua tindakan pembaruan pada jenis sumber daya instans DB RDS. Hal ini memungkinkan semua tindakan pembaruan pada semua sumber daya tumpukan lainnya dengan pernyataan Allow. Pernyataan Allow tidak berlaku untuk sumber daya instans DB RDS karena pernyataan Deny selalu menimpa tindakan izinkan.

{ "Statement" : [ { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "*", "Condition" : { "StringEquals" : { "ResourceType" : ["AWS::RDS::DBInstance"] } } }, { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }

Mencegah pembaruan pengganti untuk sebuah instans

Kebijakan berikut menolak pembaruan yang akan menyebabkan penggantian instans dengan ID logis MyInstance. Hal ini memungkinkan semua tindakan pembaruan pada semua sumber daya tumpukan lainnya dengan pernyataan Allow. Pernyataan Allow tidak berlaku untuk sumber daya MyInstance karena pernyataan Deny selalu menimpa tindakan izinkan.

{ "Statement" : [ { "Effect" : "Deny", "Action" : "Update:Replace", "Principal": "*", "Resource" : "LogicalResourceId/MyInstance" }, { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }

Mencegah pembaruan pada tumpukan nested

Kebijakan berikut menyangkal semua tindakan pembaruan pada jenis sumber daya CloudFormation tumpukan (tumpukan bersarang). Hal ini memungkinkan semua tindakan pembaruan pada semua sumber daya tumpukan lainnya dengan pernyataan Allow. Pernyataan Allow tidak berlaku untuk CloudFormation sumber daya tumpukan karena pernyataan Deny selalu menimpa tindakan izinkan.

{ "Statement" : [ { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "*", "Condition" : { "StringEquals" : { "ResourceType" : ["AWS::CloudFormation::Stack"] } } }, { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" } ] }