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.
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 AWS CloudFormation bagian Referensi Otorisasi Layanan.
Topik
Memungkinkan 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.
{ "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 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.
{ "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 meminta hasil pemanggilan
Izin IAM yang diperlukan untuk melihat hasil pemanggilan Hook berubah 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 menentukanTargetType
danTargetId
parameter saat memanggilListHookResults
.
Berikut ini menunjukkan contoh kebijakan izin dasar untuk meminta hasil pemanggilan Hook. Identitas IAM (pengguna atau peran) dengan kebijakan ini memiliki izin untuk meminta semua hasil pemanggilan menggunakan semua kombinasi parameter yang tersedia.
{ "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
.
{ "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.
{ "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
" } } } ] }