Peran IAM untuk mengirim acara ke target di Amazon EventBridge - Amazon EventBridge

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

Peran IAM untuk mengirim acara ke target di Amazon EventBridge

Untuk menyampaikan peristiwa ke target, EventBridge membutuhkan peran IAM.

Untuk membuat peran IAM untuk mengirim acara ke EventBridge
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Untuk membuat peran IAM, ikuti langkah-langkah dalam Membuat Peran untuk Mendelegasikan Izin ke AWS Layanan di Panduan Pengguna IAM. Saat Anda mengikuti langkah-langkahnya, lakukan hal berikut:

    • Dalam Nama Peran, gunakan nama yang unik dalam akun Anda.

    • Di Pilih Jenis Peran, pilih Peran AWS Layanan, lalu pilih Amazon EventBridge. Ini memberikan EventBridge izin untuk mengambil peran.

    • Di Lampirkan Kebijakan, pilih AmazonEventBridgeFullAccess.

Anda juga dapat membuat kebijakan IAM kustom Anda sendiri untuk mengizinkan izin EventBridge tindakan dan sumber daya. Anda dapat melampirkan kebijakan-kebijakan kustom ini ke pengguna IAM atau grup yang memerlukan izin-izin tersebut. Untuk informasi lebih lanjut tentang kebijakan IAM, lihat Gambaran umum Kebijakan IAM dalam Panduan Pengguna IAM. Untuk informasi selengkapnya tentang pengelolaan dan pembuatan kebijakan IAM khusus, lihat Mengelola Kebijakan IAM dalam Panduan Pengguna IAM.

Izin yang diperlukan EventBridge untuk mengakses target menggunakan peran IAM

EventBridge target biasanya memerlukan peran IAM yang memberikan izin EventBridge untuk memanggil target. Berikut ini adalah beberapa contoh untuk berbagai AWS layanan dan target. Bagi yang lain, gunakan EventBridge konsol untuk membuat Aturan dan membuat Peran baru yang akan dibuat dengan kebijakan dengan izin tercakup dengan baik yang telah dikonfigurasi sebelumnya.

Amazon SQS, Amazon SNS, Lambda, CloudWatch Lambda EventBridge , dan target bus tidak menggunakan peran, dan EventBridge izin harus diberikan melalui kebijakan sumber daya. Target API Gateway dapat menggunakan kebijakan sumber daya atau peran IAM.

Tujuan API

Jika target adalah tujuan API, peran yang Anda tentukan harus menyertakan kebijakan dengan pernyataan berikut:

  • Efek: Allow

  • Aksi: events:InvokeApiDestination

  • Sumber daya: arn:aws:events:*:*:api-destination/*

Aliran Kinesis

Jika target adalah aliran Kinesis, peran yang digunakan untuk mengirim data peristiwa ke target tersebut harus menyertakan kebijakan dengan pernyataan berikut:

  • Efek: Allow

  • Aksi: kinesis:PutRecord

  • Sumber daya: *

Systems Manager menjalankan perintah

Jika targetnya adalah perintah Systems Manager run, dan Anda menentukan satu atau beberapa InstanceIds nilai untuk perintah tersebut, peran yang Anda tentukan harus menyertakan kebijakan dengan pernyataan berikut:

  • Efek: Allow

  • Aksi: ssm:SendCommand

  • Sumber daya:arn:aws:ec2:us-east-1:accountId:instance/instanceIds, arn:aws:ssm:us-east-1:*:document/documentName

Jika targetnya adalah perintah Systems Manager run, dan Anda menentukan satu atau beberapa tag untuk perintah tersebut, peran yang Anda tentukan harus menyertakan kebijakan dengan dua tindakan berikut:

  • Efek: Allow

  • Aksi: ssm:SendCommand

  • Sumber Daya: arn:aws:ec2::accountId:instance/*

  • Condition:

    "StringEquals": { "ec2:ResourceTag/*": [ "[[tagValues]]" ] }

Dan:

  • Efek: Allow

  • Aksi: ssm:SendCommand

  • Sumber Daya: arn:aws:ssm:us-east-1:*:document/documentName

Mesin status Step Functions

Jika target adalah mesin AWS Step Functions status, peran yang Anda tentukan harus menyertakan kebijakan dengan yang berikut:

  • Efek: Allow

  • Aksi: states:StartExecution

  • Sumber daya: arn:aws:states:*:*:stateMachine:*

Tugas-tugas Amazon ECS

Jika target adalah tugas Amazon ECS, peran yang Anda tentukan harus menyertakan kebijakan berikut.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask" ], "Resource": [ "arn:aws:ecs:*:111122223333:task-definition/task-definition-name" ], "Condition": { "ArnLike": { "ecs:cluster": "arn:aws:ecs:*:111122223333:cluster/cluster-name" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "*" ], "Condition": { "StringLike": { "iam:PassedToService": "ecs-tasks.amazonaws.com" } } } ] }

Kebijakan berikut memungkinkan target bawaan EventBridge untuk melakukan EC2 tindakan Amazon atas nama Anda. Anda perlu menggunakan AWS Management Console untuk membuat aturan dengan target bawaan.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TargetInvocationAccess", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:RebootInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:CreateSnapshot" ], "Resource": "*" } ] }

Kebijakan berikut memungkinkan EventBridge untuk menyampaikan peristiwa ke aliran Kinesis di akun Anda.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KinesisAccess", "Effect": "Allow", "Action": [ "kinesis:PutRecord" ], "Resource": "*" } ] }

Contoh kebijakan yang dikelola pelanggan: Menggunakan penandaan untuk mengontrol akses ke aturan

Contoh berikut menunjukkan kebijakan pengguna yang memberikan izin untuk EventBridge tindakan. Kebijakan ini berfungsi saat Anda menggunakan EventBridge API AWS SDKs,, atau AWS CLI.

Anda dapat memberi pengguna akses ke EventBridge aturan tertentu sambil mencegah mereka mengakses aturan lain. Untuk melakukannya, Anda tandai kedua set aturan dan kemudian gunakan kebijakan IAM yang merujuk ke tag tersebut. Untuk informasi selengkapnya tentang menandai EventBridge sumber daya, lihatMenandai sumber daya di Amazon EventBridge.

Anda dapat memberikan kebijakan IAM untuk pengguna untuk mengizinkan akses ke hanya aturan dengan tanda tertentu. Anda memilih aturan untuk memberikan akses ke dengan memberi menandai mereka dengan tanda tertentu. Sebagai contoh, kebijakan berikut memberikan akses pengguna ke aturan dengan nilai Prod untuk kunci tandaStack.

{ "Statement": [ { "Effect": "Allow", "Action": "events:*", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Stack": "Prod" } } } ] }

Untuk informasi selengkapnya tentang menggunakan pernyataan kebijakan IAM, lihat Mengontrol Akses Menggunakan Kebijakan di Panduan Pengguna IAM.