Identity and access management untuk AWS CodePipeline - AWS CodePipeline

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

Identity and access management untuk AWS CodePipeline

AWS Identity and Access Management (IAM) adalah layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. IAMadministrator mengontrol siapa yang dapat diautentikasi (masuk) dan diberi wewenang (memiliki izin) untuk menggunakan sumber daya. CodePipeline IAMadalah layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

Audiens

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda, tergantung pada pekerjaan yang Anda lakukan CodePipeline.

Pengguna layanan — Jika Anda menggunakan CodePipeline layanan untuk melakukan pekerjaan Anda, maka administrator Anda memberi Anda kredensi dan izin yang Anda butuhkan. Saat Anda menggunakan lebih banyak CodePipeline fitur untuk melakukan pekerjaan Anda, Anda mungkin memerlukan izin tambahan. Memahami cara akses dikelola dapat membantu Anda meminta izin yang tepat dari administrator Anda. Jika Anda tidak dapat mengakses fitur CodePipeline, lihatPemecahan masalah identitas dan akses AWS CodePipeline.

Administrator layanan — Jika Anda bertanggung jawab atas CodePipeline sumber daya di perusahaan Anda, Anda mungkin memiliki akses penuh ke CodePipeline. Tugas Anda adalah menentukan CodePipeline fitur dan sumber daya mana yang harus diakses pengguna layanan Anda. Anda kemudian harus mengirimkan permintaan ke IAM administrator Anda untuk mengubah izin pengguna layanan Anda. Tinjau informasi di halaman ini untuk memahami konsep dasarIAM. Untuk mempelajari lebih lanjut tentang bagaimana perusahaan Anda dapat menggunakannya IAM CodePipeline, lihatBagaimana AWS CodePipeline bekerja dengan IAM.

IAMadministrator - Jika Anda seorang IAM administrator, Anda mungkin ingin mempelajari detail tentang cara menulis kebijakan untuk mengelola akses CodePipeline. Untuk melihat contoh kebijakan CodePipeline berbasis identitas yang dapat Anda gunakan, lihat. IAM Contoh kebijakan berbasis identitas AWS CodePipeline

Mengautentikasi dengan identitas

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi (masuk ke AWS) sebagai Pengguna root akun AWS, sebagai IAM pengguna, atau dengan mengambil peranIAM.

Anda dapat masuk AWS sebagai identitas federasi dengan menggunakan kredensi yang disediakan melalui sumber identitas. AWS IAM Identity Center Pengguna (Pusat IAM Identitas), autentikasi masuk tunggal perusahaan Anda, dan kredensi Google atau Facebook Anda adalah contoh identitas federasi. Saat Anda masuk sebagai identitas federasi, administrator Anda sebelumnya menyiapkan federasi identitas menggunakan IAM peran. Ketika Anda mengakses AWS dengan menggunakan federasi, Anda secara tidak langsung mengambil peran.

Bergantung pada jenis pengguna Anda, Anda dapat masuk ke AWS Management Console atau portal AWS akses. Untuk informasi selengkapnya tentang masuk AWS, lihat Cara masuk ke Panduan AWS Sign-In Pengguna Anda Akun AWS.

Jika Anda mengakses AWS secara terprogram, AWS sediakan kit pengembangan perangkat lunak (SDK) dan antarmuka baris perintah (CLI) untuk menandatangani permintaan Anda secara kriptografis dengan menggunakan kredensil Anda. Jika Anda tidak menggunakan AWS alat, Anda harus menandatangani permintaan sendiri. Untuk informasi selengkapnya tentang menggunakan metode yang disarankan untuk menandatangani permintaan sendiri, lihat Menandatangani AWS API permintaan di Panduan IAM Pengguna.

Apa pun metode autentikasi yang digunakan, Anda mungkin diminta untuk menyediakan informasi keamanan tambahan. Misalnya, AWS merekomendasikan agar Anda menggunakan otentikasi multi-faktor (MFA) untuk meningkatkan keamanan akun Anda. Untuk mempelajari lebih lanjut, lihat Autentikasi multi-faktor di Panduan AWS IAM Identity Center Pengguna dan Menggunakan autentikasi multi-faktor (MFA) AWS di Panduan Pengguna. IAM

Pengguna root akun AWS

Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang memiliki akses lengkap ke semua layanan AWS dan sumber daya di akun. Identitas ini disebut pengguna Akun AWS root dan diakses dengan masuk dengan alamat email dan kata sandi yang Anda gunakan untuk membuat akun. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Lindungi kredensial pengguna root Anda dan gunakan kredensial tersebut untuk melakukan tugas yang hanya dapat dilakukan pengguna root. Untuk daftar lengkap tugas yang mengharuskan Anda masuk sebagai pengguna root, lihat Tugas yang memerlukan kredensi pengguna root di IAMPanduan Pengguna.

Pengguna dan grup IAM

IAMPengguna adalah identitas dalam diri Anda Akun AWS yang memiliki izin khusus untuk satu orang atau aplikasi. Jika memungkinkan, sebaiknya Anda mengandalkan kredensi sementara alih-alih membuat IAM pengguna yang memiliki kredensi jangka panjang seperti kata sandi dan kunci akses. Namun, jika Anda memiliki kasus penggunaan khusus yang memerlukan kredensi jangka panjang dengan IAM pengguna, kami sarankan Anda memutar kunci akses. Untuk informasi selengkapnya, lihat Memutar kunci akses secara teratur untuk kasus penggunaan yang memerlukan kredensi jangka panjang di IAMPanduan Pengguna.

IAMGrup adalah identitas yang menentukan kumpulan IAM pengguna. Anda tidak dapat masuk sebagai grup. Anda dapat menggunakan grup untuk menentukan izin bagi beberapa pengguna sekaligus. Grup mempermudah manajemen izin untuk sejumlah besar pengguna sekaligus. Misalnya, Anda dapat memiliki grup bernama IAMAdminsdan memberikan izin grup tersebut untuk mengelola sumber dayaIAM.

Pengguna berbeda dari peran. Pengguna secara unik terkait dengan satu orang atau aplikasi, tetapi peran dimaksudkan untuk dapat digunakan oleh siapa pun yang membutuhkannya. Pengguna memiliki kredensial jangka panjang permanen, tetapi peran memberikan kredensial sementara. Untuk mempelajari lebih lanjut, lihat Kapan membuat IAM pengguna (bukan peran) di Panduan IAM Pengguna.

IAMperan

IAMPeran adalah identitas dalam diri Anda Akun AWS yang memiliki izin khusus. Ini mirip dengan IAM pengguna, tetapi tidak terkait dengan orang tertentu. Anda dapat mengambil IAM peran sementara AWS Management Console dengan beralih peran. Anda dapat mengambil peran dengan memanggil AWS CLI atau AWS API operasi atau dengan menggunakan kustomURL. Untuk informasi selengkapnya tentang metode penggunaan peran, lihat Menggunakan IAM peran di Panduan IAM Pengguna.

IAMperan dengan kredensi sementara berguna dalam situasi berikut:

  • Akses pengguna terfederasi – Untuk menetapkan izin ke identitas terfederasi, Anda membuat peran dan menentukan izin untuk peran tersebut. Ketika identitas terfederasi mengautentikasi, identitas tersebut terhubung dengan peran dan diberi izin yang ditentukan oleh peran. Untuk informasi tentang peran untuk federasi, lihat Membuat peran untuk Penyedia Identitas pihak ketiga di Panduan IAM Pengguna. Jika Anda menggunakan Pusat IAM Identitas, Anda mengonfigurasi set izin. Untuk mengontrol apa yang dapat diakses identitas Anda setelah diautentikasi, Pusat IAM Identitas mengkorelasikan izin yang disetel ke peran. IAM Untuk informasi tentang set izin, lihat Set izin dalam Panduan Pengguna AWS IAM Identity Center .

  • Izin IAM pengguna sementara — IAM Pengguna atau peran dapat mengambil IAM peran untuk sementara mengambil izin yang berbeda untuk tugas tertentu.

  • Akses lintas akun — Anda dapat menggunakan IAM peran untuk memungkinkan seseorang (prinsipal tepercaya) di akun lain mengakses sumber daya di akun Anda. Peran adalah cara utama untuk memberikan akses lintas akun. Namun, dengan beberapa layanan AWS, Anda dapat melampirkan kebijakan secara langsung ke sumber daya (alih-alih menggunakan peran sebagai proxy). Untuk mempelajari perbedaan antara peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat Akses sumber daya lintas akun di IAM Panduan Pengguna. IAM

  • Akses lintas layanan — Beberapa layanan AWS menggunakan fitur lain layanan AWS. Misalnya, saat Anda melakukan panggilan dalam suatu layanan, biasanya layanan tersebut menjalankan aplikasi di Amazon EC2 atau menyimpan objek di Amazon S3. Sebuah layanan mungkin melakukannya menggunakan izin prinsipal yang memanggil, menggunakan peran layanan, atau peran terkait layanan.

    • Sesi akses teruskan (FAS) — Saat Anda menggunakan IAM pengguna atau peran untuk melakukan tindakan AWS, Anda dianggap sebagai prinsipal. Ketika Anda menggunakan beberapa layanan, Anda mungkin melakukan sebuah tindakan yang kemudian menginisiasi tindakan lain di layanan yang berbeda. FASmenggunakan izin dari pemanggilan utama layanan AWS, dikombinasikan dengan permintaan layanan AWS untuk membuat permintaan ke layanan hilir. FASPermintaan hanya dibuat ketika layanan menerima permintaan yang memerlukan interaksi dengan orang lain layanan AWS atau sumber daya untuk menyelesaikannya. Dalam hal ini, Anda harus memiliki izin untuk melakukan kedua tindakan tersebut. Untuk detail kebijakan saat membuat FAS permintaan, lihat Meneruskan sesi akses.

    • Peran layanan — Peran layanan adalah IAMperan yang diasumsikan layanan untuk melakukan tindakan atas nama Anda. IAMAdministrator dapat membuat, memodifikasi, dan menghapus peran layanan dari dalamIAM. Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke layanan AWS dalam IAMPanduan Pengguna.

    • Peran terkait layanan — Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. IAMAdministrator dapat melihat, tetapi tidak mengedit izin untuk peran terkait layanan.

  • Aplikasi yang berjalan di Amazon EC2 — Anda dapat menggunakan IAM peran untuk mengelola kredenal sementara untuk aplikasi yang berjalan pada EC2 instance dan membuat AWS CLI atau AWS API meminta. Ini lebih baik untuk menyimpan kunci akses dalam EC2 instance. Untuk menetapkan AWS peran ke EC2 instance dan membuatnya tersedia untuk semua aplikasinya, Anda membuat profil instance yang dilampirkan ke instance. Profil instance berisi peran dan memungkinkan program yang berjalan pada EC2 instance untuk mendapatkan kredensi sementara. Untuk informasi selengkapnya, lihat Menggunakan IAM peran untuk memberikan izin ke aplikasi yang berjalan di EC2 instans Amazon di IAMPanduan Pengguna.

Untuk mempelajari apakah akan menggunakan IAM peran atau IAM pengguna, lihat Kapan membuat IAM peran (bukan pengguna) di Panduan IAM Pengguna.

Mengelola akses menggunakan kebijakan

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke AWS identitas atau sumber daya. Kebijakan adalah objek AWS yang, ketika dikaitkan dengan identitas atau sumber daya, menentukan izinnya. AWS mengevaluasi kebijakan ini ketika prinsipal (pengguna, pengguna root, atau sesi peran) membuat permintaan. Izin dalam kebijakan menentukan apakah permintaan diizinkan atau ditolak. Sebagian besar kebijakan disimpan AWS sebagai JSON dokumen. Untuk informasi selengkapnya tentang struktur dan isi dokumen JSON kebijakan, lihat Ringkasan JSON kebijakan di Panduan IAM Pengguna.

Administrator dapat menggunakan AWS JSON kebijakan untuk menentukan siapa yang memiliki akses ke apa. Yaitu, principal dapat melakukan tindakan pada suatu sumber daya, dan dalam suatu syarat.

Secara default, pengguna dan peran tidak memiliki izin. Untuk memberikan izin kepada pengguna untuk melakukan tindakan pada sumber daya yang mereka butuhkan, IAM administrator dapat membuat IAM kebijakan. Administrator kemudian dapat menambahkan IAM kebijakan ke peran, dan pengguna dapat mengambil peran.

IAMkebijakan menentukan izin untuk tindakan terlepas dari metode yang Anda gunakan untuk melakukan operasi. Misalnya, anggaplah Anda memiliki kebijakan yang mengizinkan tindakan iam:GetRole. Pengguna dengan kebijakan itu bisa mendapatkan informasi peran dari AWS Management Console, AWS CLI, atau AWS API.

Kebijakan berbasis identitas

Kebijakan berbasis identitas adalah dokumen kebijakan JSON izin yang dapat Anda lampirkan ke identitas, seperti pengguna, grup IAM pengguna, atau peran. Kebijakan ini mengontrol jenis tindakan yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan berdasarkan kondisi seperti apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat Membuat IAM kebijakan di Panduan Pengguna. IAM

Kebijakan berbasis identitas dapat dikategorikan lebih lanjut sebagai kebijakan inline atau kebijakan yang dikelola. Kebijakan inline disematkan langsung ke satu pengguna, grup, atau peran. Kebijakan terkelola adalah kebijakan mandiri yang dapat Anda lampirkan ke beberapa pengguna, grup, dan peran dalam. Akun AWS Kebijakan AWS terkelola mencakup kebijakan terkelola dan kebijakan yang dikelola pelanggan. Untuk mempelajari cara memilih antara kebijakan terkelola atau kebijakan sebaris, lihat Memilih antara kebijakan terkelola dan kebijakan sebaris di IAMPanduan Pengguna.

Kebijakan berbasis sumber daya

Kebijakan berbasis sumber daya adalah dokumen JSON kebijakan yang Anda lampirkan ke sumber daya. Contoh kebijakan berbasis sumber daya adalah kebijakan kepercayaan IAM peran dan kebijakan bucket Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Untuk sumber daya tempat kebijakan dilampirkan, kebijakan menentukan tindakan apa yang dapat dilakukan oleh prinsipal tertentu pada sumber daya tersebut dan dalam kondisi apa. Anda harus menentukan prinsipal dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau. layanan AWS

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidak dapat menggunakan kebijakan AWS terkelola IAM dalam kebijakan berbasis sumber daya.

Jenis-jenis kebijakan lain

AWS mendukung jenis kebijakan tambahan yang kurang umum. Jenis-jenis kebijakan ini dapat mengatur izin maksimum yang diberikan kepada Anda oleh jenis kebijakan yang lebih umum.

  • Batas izin — Batas izin adalah fitur lanjutan tempat Anda menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas (pengguna atau peran). IAM IAM Anda dapat menetapkan batasan izin untuk suatu entitas. Izin yang dihasilkan adalah perpotongan antara kebijakan berbasis identitas milik entitas dan batasan izinnya. Kebijakan berbasis sumber daya yang menentukan pengguna atau peran dalam bidang Principal tidak dibatasi oleh batasan izin. Penolakan eksplisit dalam salah satu kebijakan ini akan menggantikan pemberian izin. Untuk informasi selengkapnya tentang batas izin, lihat Batas izin untuk IAM entitas di IAMPanduan Pengguna.

  • Kebijakan kontrol layanan (SCPs) — SCPs adalah JSON kebijakan yang menentukan izin maksimum untuk organisasi atau unit organisasi (OU) di AWS Organizations. AWS Organizations adalah layanan untuk mengelompokkan dan mengelola secara terpusat beberapa Akun AWS yang dimiliki bisnis Anda. Jika Anda mengaktifkan semua fitur dalam suatu organisasi, maka Anda dapat menerapkan kebijakan kontrol layanan (SCPs) ke salah satu atau semua akun Anda. SCPMembatasi izin untuk entitas di akun anggota, termasuk masing-masing Pengguna root akun AWS. Untuk informasi selengkapnya tentang Organizations danSCPs, lihat Kebijakan kontrol layanan di Panduan AWS Organizations Pengguna.

  • Kebijakan sesi – Kebijakan sesi adalah kebijakan lanjutan yang Anda berikan sebagai parameter ketika Anda membuat sesi sementara secara programatis untuk peran atau pengguna terfederasi. Izin sesi yang dihasilkan adalah perpotongan antara kebijakan berbasis identitas pengguna atau peran dan kebijakan sesi. Izin juga bisa datang dari kebijakan berbasis sumber daya. Penolakan secara tegas dalam salah satu kebijakan ini membatalkan izin. Untuk informasi selengkapnya, lihat Kebijakan sesi di Panduan IAM Pengguna.

Kelola peran CodePipeline layanan

Peran CodePipeline layanan dikonfigurasi dengan satu atau beberapa kebijakan yang mengontrol akses ke AWS sumber daya yang digunakan oleh pipeline. Anda mungkin ingin melampirkan kebijakan lainnya ke peran ini, mengedit kebijakan yang dilampirkan pada peran, atau mengonfigurasi kebijakan untuk peran layanan lainnya AWS. Anda mungkin juga ingin melampirkan kebijakan ke peran saat mengonfigurasi akses lintas akun ke pipeline Anda.

penting

Memodifikasi pernyataan kebijakan atau melampirkan kebijakan lain ke peran tersebut dapat mencegah jaringan pipa Anda berfungsi. Pastikan Anda memahami implikasinya sebelum memodifikasi peran layanan dengan CodePipeline cara apa pun. Pastikan Anda menguji pipeline Anda setelah Anda membuat perubahan apa pun pada peran layanan.

catatan

Di konsol, peran layanan yang dibuat sebelum September 2018 dibuat dengan namaoneClick_AWS-CodePipeline-Service_ID-Number.

Peran layanan yang dibuat setelah September 2018 menggunakan format nama peran layananAWSCodePipelineServiceRole-Region-Pipeline_Name. Misalnya, untuk pipeline bernama MyFirstPipeline ineu-west-2, konsol memberi nama peran dan kebijakanAWSCodePipelineServiceRole-eu-west-2-MyFirstPipeline.

Hapus izin dari peran CodePipeline layanan

Anda dapat mengedit pernyataan peran layanan untuk menghapus akses ke sumber daya yang tidak Anda gunakan. Misalnya, jika tidak ada pipeline yang menyertakan Elastic Beanstalk, Anda dapat mengedit pernyataan kebijakan untuk menghapus bagian yang memberikan akses ke sumber daya Elastic Beanstalk.

Demikian pula, jika tidak ada pipeline yang disertakan CodeDeploy, Anda dapat mengedit pernyataan kebijakan untuk menghapus bagian yang memberikan akses ke CodeDeploy sumber daya:

{ "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetApplicationRevision", "codedeploy:GetDeployment", "codedeploy:GetDeploymentConfig", "codedeploy:RegisterApplicationRevision" ], "Resource": "*", "Effect": "Allow" },

Menambahkan izin ke peran CodePipeline layanan

Anda harus memperbarui pernyataan kebijakan peran layanan dengan izin untuk pernyataan kebijakan peran layanan default yang layanan AWS belum disertakan dalam pernyataan kebijakan peran layanan default sebelum dapat menggunakannya di pipeline.

Hal ini sangat penting jika peran layanan yang Anda gunakan untuk pipeline Anda dibuat sebelum dukungan ditambahkan ke CodePipeline untuk. layanan AWS

Tabel berikut menunjukkan kapan dukungan ditambahkan untuk lainnya layanan AWS.

layanan AWS CodePipeline tanggal dukungan
AWS CloudFormation StackSets tindakan 30 Desember 2020
CodeCommit format artefak keluaran klon penuh 11 November 2020
CodeBuild batch membangun 30 Juli 2020
AWS AppConfig 22 Juni 2020
AWS Step Functions 27 Mei 2020
AWS CodeStar Koneksi 18 Desember 2019
Tindakan CodeDeployToECS 27 November 2018
Amazon ECR 27 November 2018
Service Catalog 16 Oktober 2018
AWS Device Farm 19 Juli 2018
Amazon ECS 12 Desember 2017/Pembaruan untuk memilih untuk menandai otorisasi pada 21 Juli 2017
CodeCommit 18 April 2016
AWS OpsWorks Juni 2, 2016
AWS CloudFormation Selasa, 3 November 2016
AWS CodeBuild 1 Desember 2016
Elastic Beanstalk Peluncuran layanan awal

Ikuti langkah-langkah berikut untuk menambahkan izin untuk layanan yang didukung:

  1. Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/.

  2. Di IAM konsol, di panel navigasi, pilih Peran, lalu pilih AWS-CodePipeline-Service peran Anda dari daftar peran.

  3. Pada tab Izin, di Kebijakan sebaris, di baris kebijakan peran layanan Anda, pilih Edit Kebijakan.

  4. Tambahkan izin yang diperlukan di kotak Dokumen kebijakan.

    catatan

    Saat Anda membuat IAM kebijakan, ikuti saran keamanan standar untuk memberikan hak istimewa paling sedikit—yaitu, hanya memberikan izin yang diperlukan untuk melakukan tugas. Beberapa API panggilan mendukung izin berbasis sumber daya dan memungkinkan akses dibatasi. Misalnya, dalam hal ini, untuk membatasi izin saat memanggil DescribeTasks danListTasks, Anda dapat mengganti karakter wildcard (*) dengan sumber daya ARN atau dengan sumber daya ARN yang berisi karakter wildcard (*). Untuk informasi selengkapnya tentang membuat kebijakan yang memberikan akses hak istimewa paling sedikit, lihat. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

    Misalnya, untuk CodeCommit dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:UploadArchive", "codecommit:GetUploadArchiveStatus", "codecommit:CancelUploadArchive" ], "Resource": "resource_ARN" },

    Untuk AWS OpsWorks dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "opsworks:CreateDeployment", "opsworks:DescribeApps", "opsworks:DescribeCommands", "opsworks:DescribeDeployments", "opsworks:DescribeInstances", "opsworks:DescribeStacks", "opsworks:UpdateApp", "opsworks:UpdateStack" ], "Resource": "resource_ARN" },

    Untuk AWS CloudFormation dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStacks", "cloudformation:UpdateStack", "cloudformation:CreateChangeSet", "cloudformation:DeleteChangeSet", "cloudformation:DescribeChangeSet", "cloudformation:ExecuteChangeSet", "cloudformation:SetStackPolicy", "cloudformation:ValidateTemplate", "iam:PassRole" ], "Resource": "resource_ARN" },

    Perhatikan bahwa cloudformation:DescribeStackEvents izin adalah opsional. Hal ini memungkinkan AWS CloudFormation tindakan untuk menampilkan pesan kesalahan yang lebih rinci. Izin ini dapat dicabut dari IAM peran jika Anda tidak ingin detail sumber daya muncul dalam pesan kesalahan pipeline. Untuk informasi selengkapnya, lihat AWS CloudFormation menyebarkan referensi tindakan.

    Untuk CodeBuild dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuilds", "codebuild:StartBuild" ], "Resource": "resource_ARN" },
    catatan

    Support untuk build batch ditambahkan di kemudian hari. Lihat langkah 11 untuk izin yang akan ditambahkan ke peran layanan untuk build batch.

    Untuk AWS Device Farm dukungan, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "devicefarm:ListProjects", "devicefarm:ListDevicePools", "devicefarm:GetRun", "devicefarm:GetUpload", "devicefarm:CreateUpload", "devicefarm:ScheduleRun" ], "Resource": "resource_ARN" },

    Untuk dukungan Service Catalog, tambahkan berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "servicecatalog:ListProvisioningArtifacts", "servicecatalog:CreateProvisioningArtifact", "servicecatalog:DescribeProvisioningArtifact", "servicecatalog:DeleteProvisioningArtifact", "servicecatalog:UpdateProduct" ], "Resource": "resource_ARN" }, { "Effect": "Allow", "Action": [ "cloudformation:ValidateTemplate" ], "Resource": "resource_ARN" }
  5. Untuk ECR dukungan Amazon, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "ecr:DescribeImages" ], "Resource": "resource_ARN" },
  6. Untuk AmazonECS, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan ECS penerapan Amazon.

    { "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListTasks", "ecs:RegisterTaskDefinition", "ecs:TagResource", "ecs:UpdateService" ], "Resource": "resource_ARN" },

    Anda dapat memilih untuk menggunakan otorisasi penandaan di Amazon. ECS Dengan ikut serta, Anda harus memberikan izin berikut:. ecs:TagResource Untuk informasi selengkapnya tentang cara ikut serta dan menentukan apakah izin diperlukan dan otorisasi tag diberlakukan, lihat Garis waktu otorisasi penandaan di Panduan Pengembang Layanan Penampung Elastis Amazon.

    Anda juga harus menambahkan iam:PassRole izin untuk menggunakan IAM peran untuk tugas. Untuk informasi selengkapnya, lihat IAMPeran eksekusi ECS tugas Amazon dan IAMPeran untuk Tugas. Gunakan teks kebijakan berikut.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::aws_account_ID:role/ecsTaskExecutionRole_or_TaskRole_name" ] } ] }
  7. Untuk CodeDeployToECS tindakan (penerapan biru/hijau), berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan penerapan biru/hijau CodeDeploy ke Amazon. ECS

    { "Effect": "Allow", "Action": [ "codedeploy:CreateDeployment", "codedeploy:GetDeployment", "codedeploy:GetApplication", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:GetDeploymentConfig", "ecs:RegisterTaskDefinition", "ecs:TagResource" ], "Resource": "resource_ARN" },

    Anda dapat memilih untuk menggunakan otorisasi penandaan di Amazon. ECS Dengan ikut serta, Anda harus memberikan izin berikut:. ecs:TagResource Untuk informasi selengkapnya tentang cara ikut serta dan menentukan apakah izin diperlukan dan otorisasi tag diberlakukan, lihat Garis waktu otorisasi penandaan di Panduan Pengembang Layanan Penampung Elastis Amazon.

    Anda juga harus menambahkan iam:PassRole izin untuk menggunakan IAM peran untuk tugas. Untuk informasi selengkapnya, lihat IAMPeran eksekusi ECS tugas Amazon dan IAMPeran untuk Tugas. Gunakan teks kebijakan berikut.

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

    Anda juga dapat menambahkan ecs-tasks.amazonaws.com ke daftar layanan di bawah iam:PassedToService kondisi, seperti yang ditunjukkan dalam contoh ini.

    { "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "resource_ARN", "Condition": { "StringEqualsIfExists": { "iam:PassedToService": [ "cloudformation.amazonaws.com", "elasticbeanstalk.amazonaws.com", "ec2.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } },
  8. Untuk AWS CodeStar koneksi, izin berikut diperlukan untuk membuat pipeline dengan sumber yang menggunakan koneksi, seperti Bitbucket Cloud.

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "resource_ARN" },

    Untuk informasi selengkapnya tentang IAM izin untuk koneksi, lihat Referensi izin koneksi.

  9. Untuk StepFunctions tindakan, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan pemanggilan Step Functions.

    { "Effect": "Allow", "Action": [ "states:DescribeStateMachine", "states:DescribeExecution", "states:StartExecution" ], "Resource": "resource_ARN" },
  10. Untuk AppConfig tindakan, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan AWS AppConfig pemanggilan.

    { "Effect": "Allow", "Action": [ "appconfig:StartDeployment", "appconfig:GetDeployment", "appconfig:StopDeployment" ], "Resource": "resource_ARN" },
  11. Untuk CodeBuild dukungan untuk build batch, tambahkan berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "codebuild:BatchGetBuildBatches", "codebuild:StartBuildBatch" ], "Resource": "resource_ARN" },
  12. Untuk AWS CloudFormation StackSets tindakan, izin minimum berikut diperlukan.

    • Untuk CloudFormationStackSet tindakan tersebut, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackSet", "cloudformation:UpdateStackSet", "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation", "cloudformation:DescribeStackSet", "cloudformation:ListStackInstances" ], "Resource": "resource_ARN" },
    • Untuk CloudFormationStackInstances tindakan tersebut, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

      { "Effect": "Allow", "Action": [ "cloudformation:CreateStackInstances", "cloudformation:DescribeStackSetOperation" ], "Resource": "resource_ARN" },
  13. Untuk CodeCommit dukungan opsi klon lengkap, tambahkan yang berikut ini ke pernyataan kebijakan Anda:

    { "Effect": "Allow", "Action": [ "codecommit:GetRepository" ], "Resource": "resource_ARN" },
    catatan

    Untuk memastikan CodeBuild tindakan Anda dapat menggunakan opsi klon lengkap dengan CodeCommit sumber, Anda juga harus menambahkan codecommit:GitPull izin ke pernyataan kebijakan untuk peran CodeBuild layanan proyek Anda.

  14. Untuk Elastic Beanstalk, berikut ini adalah izin minimum yang diperlukan untuk membuat pipeline dengan tindakan penerapan. ElasticBeanstalk

    { "Effect": "Allow", "Action": [ "elasticbeanstalk:*", "ec2:*", "elasticloadbalancing:*", "autoscaling:*", "cloudwatch:*", "s3:*", "sns:*", "cloudformation:*", "rds:*", "sqs:*", "ecs:*" ], "Resource": "resource_ARN" },
    catatan

    Anda harus mengganti wildcard dalam kebijakan sumber daya dengan sumber daya untuk akun yang ingin Anda batasi aksesnya. Untuk informasi selengkapnya tentang membuat kebijakan yang memberikan akses hak istimewa paling sedikit, lihat. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

  15. Untuk pipeline yang ingin Anda konfigurasikan untuk CloudWatch Log, berikut ini adalah izin minimum yang perlu Anda tambahkan ke peran CodePipeline layanan.

    { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:PutRetentionPolicy" ], "Resource": "resource_ARN" },
    catatan

    Anda harus mengganti wildcard dalam kebijakan sumber daya dengan sumber daya untuk akun yang ingin Anda batasi aksesnya. Untuk informasi selengkapnya tentang membuat kebijakan yang memberikan akses hak istimewa paling sedikit, lihat. https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege

  16. Pilih Kebijakan tinjau untuk memastikan kebijakan tidak mengandung kesalahan. Jika kebijakan bebas dari kesalahan, pilih Terapkan kebijakan.