View a markdown version of this page

Tindakan, sumber daya, dan kunci kondisi untuk Bus Acara Kustom - Amazon EventBridge

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

Tindakan, sumber daya, dan kunci kondisi untuk Bus Acara Kustom

Gunakan halaman ini saat Anda menulis kebijakan IAM. Ini mencant events: umkan setiap tindakan untuk Bus Peristiwa Kustom, sumber daya ARN yang diperiksa masing-masing, apakah akun lain dapat diberikan, dan kunci kondisi yang dapat Anda tambahkan. Misalnya, untuk membiarkan peran melampirkan pelanggan yang nama METADATA filter tenant nya sebagaiacme, events:CreateSubscriber berikan pada bus dengan ForAnyValue:StringEquals kondisi aktifevents:Metadata/tenant.

Kunci syarat

EventBridge menyediakan kunci kondisi berikut dari permintaan, sehingga Anda dapat mempersempit hibah di luar tindakan dan sumber daya. Untuk kunci kondisi global, lihat kunci konteks kondisi AWS global di Panduan Pengguna IAM.

Kunci syaratNilaiDisediakan pada
events:sourceSumber acara, atau sumber yang diteruskanPutEvents, CreateEventSource, UpdateEventSource
events:detail-typeJenis detail acaraPutEvents
events:Metadata/keyNilai yang cocok METADATA dengan filter pada kunci ituCreateSubscriber
events:Metadata/key/MatcherexactCreateSubscriber
events:ContentFilterPresenttrueketika pelanggan mendeklarasikan DATA filterCreateSubscriber
aws:ResourceTag/keyTag pada bus, pelanggan, atau sumber acara yang sedang diperiksaSetiap tindakan diperiksa terhadap sumber daya
aws:RequestTag/key, aws:TagKeysTag dalam permintaanOperasi menciptakan danTagResource, UntagResource

Kunci metadata disediakan sebagai sekumpulan nilai, jadi cocokkan dengan operator set sepertiForAnyValue:StringEquals. METADATAfilter hanya cocok tepat, itulah sebabnya nilai pencocoknya selalu. exact DATAFilter cocok dengan JSON sewenang-wenang, jadi hanya keberadaannya yang terekspos, bukan isinya. UpdateEventSourcemenjalankan kembali pemeriksaan bus dengan events:source set dari konfigurasi pengganti, sehingga kondisi pada kunci itu mengatur sumber peristiwa yang ditunjuk ulang serta yang baru.

Kebijakan sumber daya berikut memungkinkan akun 444455556666 membuat pelanggan di orders bus hanya jika METADATA filter pelanggan sama tenant persis denganacme. Pelanggan tanpa METADATA filter, atau yang menyebutkan penyewa lain, ditolak. EventBridge menyediakan kunci kondisi metadata hanya untuk bidang yang dideklarasikan filter, jadi Null kondisinya adalah apa yang menolak filter yang dihilangkantenant.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SubscribeToAcmeEventsOnly", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:root" }, "Action": "events:CreateSubscriber", "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef", "Condition": { "Null": { "events:Metadata/tenant": "false" }, "ForAnyValue:StringEquals": { "events:Metadata/tenant": "acme" }, "StringEquals": { "events:Metadata/tenant/Matcher": "exact" } } } ] }

Tindakan dan sumber daya yang diperiksa

Tabel berikut mencantumkan setiap tindakan, ARN sumber daya yang akan dimasukkan ke dalam Resource elemen kebijakan, dan apakah pemilik bus dapat memberikan tindakan ke akun lain melalui kebijakan sumber daya atau AWS RAM berbagi. Keti List ga tindakan tidak diperiksa terhadap sumber daya apa pun, jadi berikan mereka"Resource": "*".

Tindakan IAMDiperiksa terhadapDapat diberikan ke akun lain
events:CreateEventBusBus yang sedang dibuatTidak. Dibuat di akun penelepon sendiri
events:DescribeEventBusBusYa
events:UpdateEventBusBusTidak. Hanya pemilik bus
events:DeleteEventBusBusTidak. Hanya pemilik bus
events:ListEventBusesTidak ada. Account-wideTidak. Daftar bus penelepon sendiri dan bus bersama
events:PutEventsBus, sekali per entri dalam permintaanYa
events:PutRawEventsBus, sekali per entri dalam permintaanYa
events:CreateSubscriberBus, dan pelanggan sedang dibuatYa
events:DescribeSubscriberPelangganPemilik pelanggan mengizinkannya
events:UpdateSubscriberPelangganPemilik pelanggan mengizinkannya
events:DeleteSubscriberPelangganPemilik pelanggan mengizinkannya
events:ListSubscribersTidak ada. Account-wideTidak. Mendaftarkan pelanggan penelepon sendiri
events:RevokeResourceBusTidak. Hanya pemilik bus
events:CreateEventSourceBus, dan sumber acara yang sedang dibuatYa
events:DescribeEventSourceSumber acaraPemilik sumber acara mengizinkannya
events:UpdateEventSourceSumber acara, dan bus lagiYa, untuk pemeriksaan bus
events:DeleteEventSourceSumber acaraPemilik sumber acara mengizinkannya
events:ListEventSourcesTidak ada. Account-wideTidak. Mendaftarkan sumber acara penelepon sendiri
events:PutResourcePolicyBusTidak. Hanya pemilik bus
events:GetResourcePolicyBusYa
events:DeleteResourcePolicyBusTidak. Hanya pemilik bus
events:ListResourcePoliciesBusYa
events:TagResourceBus, pelanggan, atau sumber acara yang disebutkan dalam permintaanBus: ya. Pelanggan atau sumber acara: pemiliknya
events:UntagResourceBus, pelanggan, atau sumber acara yang disebutkan dalam permintaanBus: ya. Pelanggan atau sumber acara: pemiliknya
events:ListTagsForResourceBus, pelanggan, atau sumber acara yang disebutkan dalam permintaanBus: ya. Pelanggan atau sumber acara: pemiliknya

Untuk membuat pelanggan atau sumber acara di bus, penelepon membutuhkan tindakan di bus serta pada sumber daya baru. Itulah yang memungkinkan pemilik bus memutuskan, dalam kebijakan bus sendiri, akun mana yang dapat melampirkan apa pun padanya. CreateSubscribermembuat empat pemeriksaan otorisasi terpisah, dan keempatnya harus memungkinkan: events:CreateSubscriber di bus, events:CreateSubscriber iam:PassRole pada pelanggan, pada peran diInvokeConfiguration.RoleArn, dan events:TagResource pada pelanggan ketika permintaan membawa tag. CreateEventSourcemenjalankan pemeriksaan yang sama tanpaiam:PassRole, karena sumber peristiwa tidak memiliki peran.

catatan

Sumber daya yang belum ada tidak memiliki ARN lengkap, jadi pemeriksaan buat menggunakan ARN yang diakhiri dengan wildcard, sepertiarn:aws:events:us-east-1:111122223333:subscriber/name/*. Oleh karena itu, kebijakan yang dicakup untuk satu pelanggan cocok dengan awalan nama, tidak persis. Create yang tidak diberi tag menyediakan no aws:ResourceTag untuk sumber daya baru, jadi StringEquals kondisi pada kunci itu menyangkalnya.

Contoh kebijakan berbasis identitas

Seorang produser membutuhkan events:PutEventsevents:PutRawEvents, atau keduanya, di bus ARN. Berikan tindakan yang cocok dengan API yang dipanggilnya. Produsen ke bus yang dienkripsi dengan kunci yang dikelola pelanggan juga memerlukan akses ke kunci itu; lihatMengenkripsi peristiwa pada Bus Acara Kustom. Pemilik pelanggan perlu events:CreateSubscriber di bus dan pelanggan, iam:PassRole pada peran pengiriman, dan deskripsi, pembaruan, dan hapus tindakan pelanggan pada pelanggan yang dikelolanya. Administrator bus memerlukan tindakan membuat, memperbarui, dan menghapus bus, empat tindakan kebijakan sumber daya, danevents:RevokeResource.

Kebijakan berikut memungkinkan produsen mempublikasikan ke satu bus dengan API publikasi, dan membaca bus sehingga dapat mengonfirmasi bahwa bus adalah yang ACTIVE pertama. Penerbitan diotorisasi sekali untuk setiap entri dalam permintaan, dan tidak ada otorisasi parSIAL: jika satu entri gagal memeriksa kondisi EventBridge , menolak seluruh permintaan, termasuk entri yang akan dilewati.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublishToOrdersBus", "Effect": "Allow", "Action": [ "events:PutEvents", "events:PutRawEvents", "events:DescribeEventBus" ], "Resource": "arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef" } ] }

Penandaan

Anda dapat menandai bus, pelanggan, atau sumber acara. A Tags tur panggilan buat, atau gunakan TagResourceUntagResource, dan setel ListTagsForResource ahnya. Setiap sumber daya membawa set tag sendiri, jadi menandai bus tidak menandai pelanggan atau sumber acara yang dilampirkan padanya.

aws eventsv2 tag-resource \ --resource-arn arn:aws:events:us-east-1:111122223333:event-busv2/orders/EXAMPLE1234567890abcdef \ --tags team=payments,environment=production

Tanggapan create tidak menggemakan tag yang Anda berikan, jadi bacalah kembali list-tags-for-resource saat Anda perlu mengonfirmasinya. Kunci yang dimulai dengan aws: dicadangkan AWS dan ditolak pada setiap tulisan, termasukUntagResource. Untuk mengontrol siapa yang dapat menandai, dan untuk menulis kebijakan yang bergantung pada tag, gunakan tiga tindakan tag di tabel sebelumnya dan kunci aws:RequestTagaws:ResourceTag,, dan aws:TagKeys kondisi.