IAMPeran contoh ECS wadah Amazon - Amazon Elastic Container Service

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

IAMPeran contoh ECS wadah Amazon

Instans ECS penampung Amazon, termasuk Amazon EC2 dan instans eksternal, menjalankan agen ECS penampung Amazon dan memerlukan IAM peran agar layanan mengetahui bahwa agen tersebut milik Anda. Sebelum meluncurkan instance kontainer dan mendaftarkannya ke klaster, Anda harus membuat IAM peran untuk digunakan instance container Anda. Peran dibuat di akun yang Anda gunakan untuk masuk ke konsol atau menjalankan AWS CLI perintah.

penting

Jika Anda mendaftarkan instance eksternal ke klaster, IAM peran yang Anda gunakan juga memerlukan izin Systems Manager. Untuk informasi selengkapnya, lihat IAMPeran Amazon ECS Anywhere.

Amazon ECS menyediakan IAM kebijakan AmazonEC2ContainerServiceforEC2Role terkelola yang berisi izin yang diperlukan untuk menggunakan set ECS fitur Amazon lengkap. Kebijakan terkelola ini dapat dilampirkan ke IAM peran dan dikaitkan dengan instance container Anda. Atau, Anda dapat menggunakan kebijakan terkelola sebagai panduan saat membuat kebijakan kustom untuk digunakan. Peran instance container memberikan izin yang diperlukan untuk memanggil AWS APIs agen ECS penampung Amazon dan daemon Docker atas nama Anda. Untuk informasi selengkapnya tentang kebijakan terkelola, lihat Amazon EC2ContainerServiceforEC2Role.

Amazon ECS mendukung peluncuran instans kontainer dengan peningkatan ENI kepadatan menggunakan jenis EC2 instans Amazon yang didukung. Saat Anda menggunakan fitur ini, kami sarankan Anda membuat 2 peran instance container. Aktifkan pengaturan awsvpcTrunking akun untuk satu peran dan gunakan peran itu untuk tugas yang memerlukan ENI trunking. Untuk informasi tentang pengaturan awsvpcTrunking akun, lihatAkses ECS fitur Amazon dengan pengaturan akun.

Buat peran instance kontainer

penting

Jika Anda mendaftarkan instans eksternal untuk klaster Anda, lihat IAMPeran Amazon ECS Anywhere.

Anda dapat membuat peran secara manual dan melampirkan IAM kebijakan terkelola untuk instance container agar Amazon ECS dapat menambahkan izin untuk fitur dan penyempurnaan future saat diperkenalkan. Gunakan prosedur berikut untuk melampirkan IAM kebijakan terkelola jika diperlukan.

AWS Management Console
Untuk membuat peran layanan untuk Elastic Container Service (IAMkonsol)
  1. Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi IAM konsol, pilih Peran, lalu pilih Buat peran.

  3. Untuk jenis entitas Tepercaya, pilih AWS layanan.

  4. Untuk Service atau use case, pilih Elastic Container Service, lalu pilih EC2Role for Elastic Container Service use case.

  5. Pilih Berikutnya.

  6. Di bagian Kebijakan izin, verifikasi bahwa EC2ContainerServiceforEC2Role kebijakan Amazon dipilih.

    penting

    Kebijakan EC2ContainerServiceforEC2Role terkelola Amazon harus dilampirkan ke IAM peran instance container, jika tidak, Anda akan menerima error saat menggunakan cluster AWS Management Console to create.

  7. Pilih Berikutnya.

  8. Untuk nama Peran, masukkan ecsInstanceRole

  9. Tinjau peran lalu pilih Buat peran.

AWS CLI

Ganti semua user input dengan nilai-nilai Anda sendiri.

  1. Buat file bernama instance-role-trust-policy.json dengan konten berikut.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } ] }
  2. Gunakan perintah berikut untuk membuat IAM peran instance menggunakan dokumen kebijakan kepercayaan.

    aws iam create-role \ --role-name ecsInstanceRole \ --assume-role-policy-document file://instance-role-trust-policy.json
  3. Buat profil instance bernama ecsInstanceRole-profile menggunakan create-instance-profileperintah.

    aws iam create-instance-profile --instance-profile-name ecsInstanceRole-profile

    Contoh tanggapan

    { "InstanceProfile": { "InstanceProfileId": "AIPAJTLBPJLEGREXAMPLE", "Roles": [], "CreateDate": "2022-04-12T23:53:34.093Z", "InstanceProfileName": "ecsInstanceRole-profile", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole-profile" } }
  4. Tambahkan peran ecsInstanceRole pada profil instans ecsInstanceRole-profile.

    aws iam add-role-to-instance-profile \ --instance-profile-name ecsInstanceRole-profile \ --role-name ecsInstanceRole
  5. Lampirkan kebijakan AmazonEC2ContainerServiceRoleForEC2Role terkelola ke peran menggunakan perintah berikut.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role \ --role-name ecsInstanceRole

Setelah Anda membuat peran, tambahkan izin tambahan ke peran untuk fitur berikut.

Fitur

Izin tambahan

Amazon ECR memiliki gambar kontainer

ECRIzin Amazon

Minta CloudWatch Log memantau instance kontainer

Memantau izin instance kontainer

Host file konfigurasi dalam bucket Amazon S3

Akses hanya-baca Amazon S3

ECRIzin Amazon

Peran instans ECS penampung Amazon yang Anda gunakan dengan instance container harus memiliki izin IAM kebijakan berikut untuk Amazon. ECR

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }

Jika Anda menggunakan kebijakan terkelola AmazonEC2ContainerServiceforEC2Role untuk instans kontainer Anda, maka peran anda memiliki izin yang tepat. Untuk memeriksa apakah peran Anda mendukung AmazonECR, lihat Peran Instans IAM Amazon ECS Container di Panduan Pengembang Layanan Kontainer Elastis Amazon.

Akses hanya-baca Amazon S3

Menyimpan informasi konfigurasi dalam bucket pribadi di Amazon S3 dan memberikan akses hanya-baca ke IAM peran instance container Anda adalah cara yang aman dan nyaman untuk mengizinkan konfigurasi instance container pada waktu peluncuran. Anda dapat menyimpan salinan ecs.config file Anda dalam bucket pribadi, menggunakan data EC2 pengguna Amazon untuk menginstal AWS CLI dan kemudian menyalin informasi konfigurasi Anda ke /etc/ecs/ecs.config saat instance diluncurkan.

Untuk informasi selengkapnya tentang membuat ecs.config file, menyimpannya di Amazon S3, dan meluncurkan instance dengan konfigurasi ini, lihat. Menyimpan konfigurasi instans ECS penampung Amazon di Amazon S3

Anda dapat menggunakan AWS CLI perintah berikut untuk mengizinkan akses hanya-baca Amazon S3 untuk peran instance container Anda. Ganti ecsInstanceRole dengan nama peran yang Anda buat.

aws iam attach-role-policy \ --role-name ecsInstanceRole \ --policy-arn arn:aws::iam::aws:policy/AmazonS3ReadOnlyAccess

Anda juga dapat menggunakan IAM konsol untuk menambahkan Amazon S3 read-only access (AmazonS3ReadOnlyAccess) ke peran Anda. Untuk informasi selengkapnya, lihat Memodifikasi kebijakan izin peran (konsol) di AWS Identity and Access Management Panduan Pengguna.

Memantau izin instance kontainer

Sebelum instance kontainer Anda dapat mengirim data CloudWatch log ke Log, Anda harus membuat IAM kebijakan untuk mengizinkan instance container Anda menggunakan CloudWatch LogAPIs, dan kemudian Anda harus melampirkan kebijakan tersebut. ecsInstanceRole

AWS Management Console
Untuk menggunakan editor JSON kebijakan untuk membuat kebijakan
  1. Masuk ke AWS Management Console dan buka IAM konsol 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 JSONopsi.

  5. Masukkan dokumen JSON kebijakan berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": ["arn:aws:logs:*:*:*"] } ] }
  6. Pilih Berikutnya.

    catatan

    Anda dapat beralih antara opsi Visual dan JSONeditor kapan saja. Namun, jika Anda membuat perubahan atau memilih Berikutnya di editor Visual, IAM mungkin merestrukturisasi kebijakan Anda untuk mengoptimalkannya untuk editor visual. Untuk informasi selengkapnya, lihat Restrukturisasi kebijakan di IAMPanduan Pengguna.

  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 peran instance container. Untuk informasi tentang cara melampirkan kebijakan ke peran, lihat Memodifikasi kebijakan izin peran (konsol) di AWS Identity and Access Management Panduan Pengguna.

AWS CLI
  1. Buat file bernama instance-cw-logs.json dengan konten berikut.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": ["arn:aws:logs:*:*:*"] } ] }
  2. Gunakan perintah berikut untuk membuat IAM kebijakan menggunakan file dokumen JSON kebijakan.

    aws iam create-policy \ --policy-name cwlogspolicy \ --policy-document file://instance-cw-logs.json
  3. Ambil IAM kebijakan ARN yang Anda buat menggunakan perintah berikut. Ganti cwlogspolicy dengan nama kebijakan yang Anda buat.

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`cwlogsppolicy`].Arn'
  4. Gunakan perintah berikut untuk melampirkan kebijakan ke IAM peran instance container menggunakan kebijakanARN.

    aws iam attach-role-policy \ --role-name ecsInstanceRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/cwlogspolicy