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 syarat | Nilai | Disediakan pada |
|---|---|---|
events:source | Sumber acara, atau sumber yang diteruskan | PutEvents, CreateEventSource, UpdateEventSource |
events:detail-type | Jenis detail acara | PutEvents |
events:Metadata/ | Nilai yang cocok METADATA dengan filter pada kunci itu | CreateSubscriber |
events:Metadata/ | exact | CreateSubscriber |
events:ContentFilterPresent | trueketika pelanggan mendeklarasikan DATA filter | CreateSubscriber |
aws:ResourceTag/ | Tag pada bus, pelanggan, atau sumber acara yang sedang diperiksa | Setiap tindakan diperiksa terhadap sumber daya |
aws:RequestTag/, aws:TagKeys | Tag dalam permintaan | Operasi 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 IAM | Diperiksa terhadap | Dapat diberikan ke akun lain |
|---|---|---|
events:CreateEventBus | Bus yang sedang dibuat | Tidak. Dibuat di akun penelepon sendiri |
events:DescribeEventBus | Bus | Ya |
events:UpdateEventBus | Bus | Tidak. Hanya pemilik bus |
events:DeleteEventBus | Bus | Tidak. Hanya pemilik bus |
events:ListEventBuses | Tidak ada. Account-wide | Tidak. Daftar bus penelepon sendiri dan bus bersama |
events:PutEvents | Bus, sekali per entri dalam permintaan | Ya |
events:PutRawEvents | Bus, sekali per entri dalam permintaan | Ya |
events:CreateSubscriber | Bus, dan pelanggan sedang dibuat | Ya |
events:DescribeSubscriber | Pelanggan | Pemilik pelanggan mengizinkannya |
events:UpdateSubscriber | Pelanggan | Pemilik pelanggan mengizinkannya |
events:DeleteSubscriber | Pelanggan | Pemilik pelanggan mengizinkannya |
events:ListSubscribers | Tidak ada. Account-wide | Tidak. Mendaftarkan pelanggan penelepon sendiri |
events:RevokeResource | Bus | Tidak. Hanya pemilik bus |
events:CreateEventSource | Bus, dan sumber acara yang sedang dibuat | Ya |
events:DescribeEventSource | Sumber acara | Pemilik sumber acara mengizinkannya |
events:UpdateEventSource | Sumber acara, dan bus lagi | Ya, untuk pemeriksaan bus |
events:DeleteEventSource | Sumber acara | Pemilik sumber acara mengizinkannya |
events:ListEventSources | Tidak ada. Account-wide | Tidak. Mendaftarkan sumber acara penelepon sendiri |
events:PutResourcePolicy | Bus | Tidak. Hanya pemilik bus |
events:GetResourcePolicy | Bus | Ya |
events:DeleteResourcePolicy | Bus | Tidak. Hanya pemilik bus |
events:ListResourcePolicies | Bus | Ya |
events:TagResource | Bus, pelanggan, atau sumber acara yang disebutkan dalam permintaan | Bus: ya. Pelanggan atau sumber acara: pemiliknya |
events:UntagResource | Bus, pelanggan, atau sumber acara yang disebutkan dalam permintaan | Bus: ya. Pelanggan atau sumber acara: pemiliknya |
events:ListTagsForResource | Bus, pelanggan, atau sumber acara yang disebutkan dalam permintaan | Bus: 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/. Oleh karena itu, kebijakan yang dicakup untuk satu pelanggan cocok dengan awalan nama, tidak persis. Create yang tidak diberi tag menyediakan no name/*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.