Peran Amazon ECS EventBridge IAM - Amazon Elastic Container Service

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

Peran Amazon ECS EventBridge IAM

Sebelum Anda dapat menggunakan tugas terjadwal Amazon ECS dengan EventBridge aturan dan target, EventBridge layanan memerlukan izin untuk menjalankan tugas Amazon ECS atas nama Anda. Izin ini disediakan oleh peran EventBridge IAM ()ecsEventsRole.

Kebijakan AmazonEC2ContainerServiceEventsRole ditunjukkan di bawah ini.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ecs:RunTask"], "Resource": ["*"] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["*"], "Condition": { "StringLike": {"iam:PassedToService": "ecs-tasks.amazonaws.com"} } }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": ["RunTask"] } } } ] }

Jika tugas terjadwal Anda memerlukan penggunaan peran eksekusi tugas, peran tugas, atau penggantian peran tugas, Anda harus menambahkan iam:PassRole izin untuk setiap peran eksekusi tugas, peran tugas, atau penggantian peran tugas ke peran IAM. EventBridge Untuk informasi selengkapnya tentang peran eksekusi tugas, lihat Peran IAM eksekusi tugas Amazon ECS.

catatan

Tentukan ARN penuh dari peran eksekusi tugas Anda atau penimpaan peran tugas.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }

Anda dapat memilih untuk membiarkan AWS Management Console membuat EventBridge peran untuk Anda ketika Anda mengkonfigurasi tugas terjadwal. Untuk informasi selengkapnya, lihat Jalankan tugas Amazon ECS pada jadwal menggunakan Amazon Scheduler EventBridge .

Membuat peran Amazon ECS EventBridge (ecsEventsRole)

Ganti semua input pengguna dengan informasi Anda sendiri.

  1. Buat file bernama eventbridge-trust-policy.json yang berisi kebijakan kepercayaan yang akan digunakan untuk peran IAM. File tersebut harus berisi hal berikut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Gunakan perintah berikut untuk membuat peran IAM bernama ecsEventsRole menggunakan kebijakan kepercayaan yang Anda buat pada langkah sebelumnya.

    aws iam create-role \ --role-name ecsEventsRole \ --assume-role-policy-document file://eventbridge-policy.json
  3. Lampirkan yang AWS dikelola AmazonEC2ContainerServiceEventsRole ke ecsEventsRole peran menggunakan perintah berikut.

    aws iam attach-role-policy \ -\-role-name ecsEventsRole \ -\-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceEventsRole

Anda juga dapat menggunakan alur kerja kebijakan kepercayaan kustom konsol IAM (https://console.aws.amazon.com/iam/) untuk membuat peran. Untuk informasi selengkapnya, lihat Membuat peran menggunakan kebijakan kepercayaan khusus (konsol) di Panduan Pengguna IAM.

Melampirkan kebijakan pada peran ecsEventsRole

Anda dapat menggunakan prosedur berikut untuk menambahkan izin untuk peran eksekusi tugas ke peran EventBridge IAM.

AWS Management Console
Cara menggunakan editor kebijakan JSON untuk membuat kebijakan
  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Pada panel navigasi di sebelah kiri, pilih Kebijakan.

    Jika ini pertama kalinya Anda memilih Kebijakan, akan muncul halaman Selamat Datang di Kebijakan Terkelola. Pilih Memulai.

  3. Di bagian atas halaman, pilih Buat kebijakan.

  4. Di bagian Editor kebijakan, pilih opsi JSON.

  5. Masukkan dokumen kebijakan JSON berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  6. Pilih Berikutnya.

    catatan

    Anda dapat beralih antara opsi editor Visual dan JSON kapan saja. Namun, jika Anda melakukan perubahan atau memilih Berikutnya di editor Visual, IAM dapat merestrukturisasi kebijakan Anda untuk mengoptimalkannya bagi editor visual. Untuk informasi selengkapnya, lihat Restrukturisasi kebijakan dalam Panduan Pengguna IAM.

  7. Pada halaman Tinjau dan buat, masukkan Nama kebijakan dan Deskripsi (opsional) untuk kebijakan yang Anda buat. Tinjau Izin yang ditentukan dalam kebijakan ini untuk melihat izin yang diberikan oleh kebijakan Anda.

  8. Pilih Buat kebijakan untuk menyimpan kebijakan baru Anda.

Setelah Anda membuat kebijakan, lampirkan kebijakan ke EventBridge peran tersebut. Untuk informasi tentang cara melampirkan kebijakan ke peran, lihat Memodifikasi kebijakan izin peran (konsol) di AWS Identity and Access Management Panduan Pengguna.

AWS CLI

Ganti semua input pengguna dengan informasi Anda sendiri.

  1. Buat file bernama ev-iam-passrole.json dengan konten berikut.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  2. Gunakan AWS CLI perintah berikut untuk membuat kebijakan IAM menggunakan file dokumen kebijakan JSON.

    aws iam create-policy \ --policy-name eventsTaskExecutionPolicy \ --policy-document file://ev-iam-passrole.json
  3. Ambil ARN dari kebijakan IAM yang Anda buat menggunakan perintah berikut.

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`eventsTaskExecutionPolicy`].Arn'
  4. Gunakan perintah berikut untuk melampirkan kebijakan ke peran EventBridge IAM dengan menggunakan kebijakan ARN.

    aws iam attach-role-policy \ --role-name ecsEventsRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/eventsTaskExecutionPolicy