Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Peran CodeDeploy IAM Amazon ECS
Sebelum Anda dapat menggunakan tipe deployment CodeDeploy biru/hijau dengan Amazon ECS, CodeDeploy layanan memerlukan izin untuk memperbarui layanan Amazon ECS Anda atas nama Anda. Izin ini disediakan oleh peran CodeDeploy IAM (ecsCodeDeployRole
).
Pengguna juga memerlukan izin untuk digunakan CodeDeploy; izin ini dijelaskan dalamPenerapan biru/hijau membutuhkan izin IAM.
Ada dua kebijakan terkelola yang disediakan. AWSCodeDeployRoleForECS
Kebijakan, yang ditunjukkan di bawah ini, memberikan CodeDeploy izin untuk memperbarui sumber daya apa pun menggunakan tindakan terkait.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:UpdateServicePrimaryTaskSet", "ecs:DeleteTaskSet", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "lambda:InvokeFunction", "cloudwatch:DescribeAlarms", "sns:Publish", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringLike": { "iam:PassedToService": [ "ecs-tasks.amazonaws.com" ] } } } ] }
AWSCodeDeployRoleForECSLimited
Kebijakan tersebut, ditunjukkan di bawah ini, memberikan izin yang CodeDeploy lebih terbatas.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:UpdateServicePrimaryTaskSet", "ecs:DeleteTaskSet", "cloudwatch:DescribeAlarms" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:*:*:CodeDeployTopic_*", "Effect": "Allow" }, { "Action": [ "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:CodeDeployHook_*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } }, "Effect": "Allow" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/ecsTaskExecutionRole", "arn:aws:iam::*:role/ECSTaskExecution*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "ecs-tasks.amazonaws.com" ] } } } ] }
Menciptakan CodeDeploy AWSCodeDeployRoleForECS
peran
Untuk membuat IAM role untuk CodeDeploy
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Dalam panel navigasi, pilih Roles (Peran), lalu Create role (Buat peran).
-
Untuk bagian Pilih tipe entitas terpercaya, pilih Layanan AWS.
-
Untuk Pilih layanan yang akan menggunakan peran ini, pilih CodeDeploy.
-
Untuk Pilih kasus penggunaan Anda, pilih CodeDeploy - ECS, Berikutnya.
-
Di bagian Lampirkan kebijakan izin izin, lakukan hal berikut:
-
Cari AWSCodeDeployRoleForECS, lalu pilih kebijakan.
-
Di bawah Atur batas izin - opsional, pilih Buat peran tanpa batas izin.
-
Pilih Selanjutnya.
-
-
Di bawah Detail peran, lakukan hal berikut:
-
Untuk Nama peran, masukkan
ecsCodeDeployRole
, dan masukkan deskripsi opsional. -
Untuk Tambahkan untuk menandai (opsional), masukkan setiap menandai kustom untuk mengasosiasikan dengan kebijakan.
-
-
Pilih Create role (Buat peran).
Untuk menambahkan izin yang diperlukan ke peran CodeDeploy IAM Amazon ECS
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Cari daftar peran untuk
ecsCodeDeployRole
. Jika peran tidak ada, gunakan prosedur di atas untuk membuat peran. Jika peran ada, pilih peran untuk melihat kebijakan terlampir. -
Di bagian Kebijakan izin, verifikasi apakah kebijakan AWSCodeDeployRoleForECSLimitedterkelola AWSCodeDeployRoleForECSatau kebijakan terlampir pada peran tersebut. Jika kebijakan terlampir, peran CodeDeploy layanan Amazon ECS Anda dikonfigurasi dengan benar. Jika tidak, ikuti langkah-langkah di bawah ini untuk melampirkan kebijakan.
-
Pilih Tambahkan Izin, Lampirkan kebijakan.
-
Untuk mempersempit kebijakan yang tersedia untuk dilampirkan, untuk Filter, ketik, AWSCodeDeployRoleForECSatau AWSCodeDeployRoleForECSLimited.
-
Centang kotak di sebelah kiri kebijakanAWS terkelola, lalu pilih Lampirkan kebijakan.
-
-
Pilih Hubungan kepercayaan.
-
Verifikasi bahwa hubungan kepercayaan berisi kebijakan berikut. Jika hubungan kepercayaan sesuai dengan kebijakan di bawah ini, pilih Batal. Jika hubungan kepercayaan tidak sesuai, pilih Edit kebijakan kepercayaan, salin kebijakan ke jendela Dokumen Kebijakan, lalu pilih Perbarui kebijakan.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codedeploy.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Menambahkan izin untuk deployment biru/hijau
Jika tugas di layanan Amazon ECS Anda menggunakan tipe deployment biru/hijau memerlukan penggunaan peran eksekusi tugas atau penggantian peran tugas, maka Anda harus menambahkaniam:PassRole
izin untuk setiap peran eksekusi tugas atau penimpaan peran tugas ke peran CodeDeploy IAM sebagai kebijakan. Untuk informasi selengkapnya, lihat Peran IAM eksekusi tugas ECS dan Tugas Peran IAM.
Gunakan prosedur berikut untuk membuat kebijakan
Untuk menggunakan editor kebijakan JSON untuk membuat kebijakan
Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Di kolom navigasi di sebelah kiri, pilih Kebijakan.
Jika ini pertama kalinya Anda memilih Kebijakan, akan muncul laman Selamat Datang di Kebijakan Terkelola. Pilih Memulai.
-
Di bagian atas halaman, pilih Buat kebijakan.
-
Pilih tab JSON.
-
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>" ] } ] }
-
Pilih Tinjau kebijakan.
catatan Anda dapat berpindah antara tab Editor visual dan JSON kapan pun. Namun, apabila Anda melakukan perubahan atau memilih Tinjau kebijakan pada tab Editor visual, IAM dapat merestrukturisasi kebijakan Anda untuk menjadikannya optimal bagi editor visual. Untuk informasi selengkapnya, lihat Restrukturisasi kebijakan dalam Panduan Pengguna IAM.
-
Pada halaman Peninjauan Kebijakan, ketikkan Nama dan Deskripsi opsional untuk kebijakan yang sedang Anda buat. Tinjau Summary (Ringkasan) kebijakan untuk melihat izin yang diberikan oleh kebijakan Anda. Kemudian pilih Buat kebijakan untuk menyimpan pekerjaan Anda.
Setelah Anda membuat kebijakan, lampirkan kebijakan keAWSCodeDeployRoleForECSLimited
peranAWSCodeDeployRoleForECS
atau. Untuk informasi tentang cara melampirkan kebijakan ke peran, lihat Memodifikasi kebijakan izin peran di PanduanAWS Identity and Access Management Pengguna.