Berikan izin IAM untuk Hooks CloudFormation - CloudFormation

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

Berikan izin IAM untuk Hooks CloudFormation

Secara default, pengguna baru di Anda Akun AWS tidak memiliki izin untuk mengelola Hooks menggunakan AWS Management Console, AWS Command Line Interface (AWS CLI), atau AWS API. Untuk memberikan izin kepada pengguna, administrator IAM dapat membuat kebijakan IAM. Administrator kemudian dapat menambahkan kebijakan IAM ke peran, dan pengguna dapat mengambil peran.

Gunakan contoh kebijakan dalam topik ini untuk membuat kebijakan IAM kustom Anda sendiri guna memberikan izin kepada pengguna untuk bekerja dengan Hooks.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat Menentukan izin IAM kustom dengan kebijakan yang dikelola pelanggan di Panduan Pengguna IAM.

Topik ini mencakup izin yang diperlukan untuk melakukan hal berikut:

  • Kelola Hooks — Buat, modifikasi, dan nonaktifkan Hooks di akun Anda.

  • Publikasikan Hooks secara publik — Daftarkan, uji, dan publikasikan Hooks kustom Anda untuk membuatnya tersedia untuk umum di registri. CloudFormation

  • Lihat hasil pemanggilan — Akses dan kueri hasil pemanggilan Hook di akun Anda.

  • Lihat detail untuk hasil pemanggilan — Akses informasi terperinci dan panduan remediasi untuk hasil pemanggilan Hook tertentu di akun Anda.

Saat membuat kebijakan IAM, Anda dapat menemukan dokumentasi untuk semua tindakan, sumber daya, dan kunci kondisi yang terkait dengan awalan cloudformation layanan di kunci Tindakan, sumber daya, dan kondisi untuk CloudFormation bagian Referensi Otorisasi Layanan.

Izinkan pengguna untuk mengelola Hooks

Jika Anda perlu mengizinkan pengguna untuk mengelola ekstensi, termasuk Hooks, tanpa kemampuan untuk membuatnya publik di CloudFormation registri, Anda dapat menggunakan contoh berikut kebijakan IAM.

penting

Panggilan SetTypeConfiguration API ActivateType dan bekerja sama untuk membuat Hooks di akun Anda. Saat Anda memberikan izin kepada pengguna untuk memanggil SetTypeConfiguration API, Anda secara otomatis memberi mereka kemampuan untuk memodifikasi dan menonaktifkan Hooks yang ada. Anda tidak dapat menggunakan izin tingkat sumber daya untuk membatasi akses ke panggilan API ini. Oleh karena itu, pastikan bahwa Anda memberikan izin ini hanya kepada pengguna yang berwenang di akun Anda.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ActivateType", "cloudformation:DescribeType", "cloudformation:ListTypes", "cloudformation:SetTypeConfiguration" ], "Resource": "*" } ] }

Pengguna yang mengelola Hooks mungkin memerlukan beberapa izin terkait, misalnya:

  • Untuk melihat kontrol proaktif dari Katalog Kontrol di CloudFormation konsol, pengguna harus memiliki controlcatalog:ListControls izin dalam kebijakan IAM.

  • Untuk mendaftarkan Hooks kustom sebagai ekstensi pribadi di CloudFormation registri, pengguna harus memiliki cloudformation:RegisterType izin dalam kebijakan IAM.

Izinkan pengguna untuk mempublikasikan Hooks kustom secara publik

Contoh berikut kebijakan IAM berfokus secara khusus pada kemampuan penerbitan. Gunakan kebijakan ini jika Anda perlu mengizinkan pengguna membuat ekstensi, termasuk Hooks, tersedia untuk umum di registri. CloudFormation

penting

Publishing Hooks secara publik membuatnya tersedia untuk orang lain. Akun AWS Pastikan bahwa hanya pengguna yang berwenang yang memiliki izin ini dan ekstensi yang dipublikasikan memenuhi standar kualitas dan keamanan organisasi Anda.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:DescribePublisher", "cloudformation:DescribeTypeRegistration", "cloudformation:ListTypes", "cloudformation:ListTypeVersions", "cloudformation:PublishType", "cloudformation:RegisterPublisher", "cloudformation:RegisterType", "cloudformation:TestType" ], "Resource": "*" } ] }

Izinkan pengguna untuk melihat hasil pemanggilan Hook

Izin IAM yang diperlukan untuk melihat hasil pemanggilan Hook berubah tergantung pada jenis informasi yang diminta.

Daftar hasil pemanggilan Hook

Untuk mencantumkan hasil pemanggilan Hook, pengguna memerlukan izin yang berbeda tergantung pada permintaan API yang dibuat.

  • Untuk memberikan izin untuk meminta semua hasil Hook, hasil untuk Hook tertentu, atau hasil untuk status Hook dan pemanggilan tertentu, Anda harus memberikan akses ke tindakan tersebut. cloudformation:ListAllHookResults

  • Untuk memberikan izin untuk meminta hasil dengan menentukan target Hook, Anda harus memberikan akses ke tindakan. cloudformation:ListHookResults Izin ini memungkinkan pemanggil API untuk menentukan TargetType dan TargetId parameter saat memanggilListHookResults.

Berikut ini menunjukkan contoh kebijakan izin dasar untuk mencantumkan hasil pemanggilan Hook. Identitas IAM (pengguna atau peran) dengan kebijakan ini memiliki izin untuk meminta semua hasil pemanggilan menggunakan semua kombinasi parameter yang tersedia.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListAllHookResults", "cloudformation:ListHookResults" ], "Resource": "*" } ] }

Kontrol set perubahan mana yang dapat ditentukan

Contoh berikut kebijakan IAM memberikan izin untuk cloudformation:ListHookResults tindakan untuk meminta hasil dengan menentukan target Hook. Namun, itu juga menyangkal tindakan jika target adalah set perubahan bernamaexample-changeset.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "cloudformation:ListHookResults" ], "Resource": "*", "Condition": { "StringEquals": { "cloudformation:ChangeSetName": "example-changeset" } } } ] }

Kontrol Hooks mana yang dapat ditentukan

Contoh berikut kebijakan IAM memberikan izin untuk cloudformation:ListAllHookResults tindakan untuk meminta hasil pemanggilan hanya jika ARN Hook disediakan dalam permintaan. Ini menyangkal tindakan untuk Hook ARN tertentu.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*", "Condition": { "Null": { "cloudformation:TypeArn": "true" } } }, { "Effect": "Deny", "Action": [ "cloudformation:ListAllHookResults" ], "Resource": "*", "Condition": { "ArnEquals": { "cloudformation:TypeArn": "arn:aws:cloudformation:us-east-1:123456789012:type/hook/MyCompany-MyHook" } } } ] }

Izinkan pengguna untuk melihat hasil pemanggilan Hook yang terperinci

Untuk memberikan izin untuk melihat hasil rinci dari pemanggilan Hook tertentu, Anda harus memberikan akses ke tindakan tersebut. cloudformation:GetHookResult Izin ini memungkinkan pengguna untuk mengambil informasi rinci dan panduan remediasi untuk hasil pemanggilan Hook tertentu. Untuk informasi selengkapnya, lihat GetHookResult di dalam Referensi API AWS CloudFormation .

Contoh berikut kebijakan IAM memberikan izin untuk tindakan tersebut. cloudformation:GetHookResult

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudformation:GetHookResult" ], "Resource": "*" } ] }
catatan

Anda dapat mengonfigurasi Hooks untuk mengenkripsi hasil pemanggilan terperinci yang disimpan di cloud dengan kunci Anda sendiri. AWS KMS Untuk informasi tentang cara menyiapkan kebijakan kunci dan izin IAM yang Anda perlukan saat menggunakan kunci terkelola pelanggan untuk enkripsi, lihat. AWS KMS kebijakan kunci dan izin untuk mengenkripsi hasil CloudFormation Hooks saat istirahat