Cara kerja AWS CodePipeline dengan IAM - AWS CodePipeline

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

Cara kerja AWS CodePipeline dengan IAM

Sebelum Anda menggunakan IAM untuk mengelola akses ke CodePipeline, Anda harus memahami fitur IAM apa saja yang tersedia untuk digunakan dengan CodePipeline. Untuk mendapatkan tampilan tingkat tinggi tentang caranya CodePipeline dan lainnyaAWSlayanan bekerja dengan IAM, lihatAWSLayanan yang Bekerja dengan IAMdi dalamPanduan Pengguna IAM.

Kebijakan berbasis identitas CodePipeline

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan apakah tindakan dan sumber daya diizinkan atau ditolak, serta persyaratan terkait diizinkan atau ditolaknya tindakan tersebut. CodePipeline mendukung tindakan, sumber daya, dan kunci syarat tertentu. Untuk mempelajari semua elemen yang Anda gunakan dalam kebijakan JSON, lihat Referensi Elemen Kebijakan JSON IAM dalam Panduan Pengguna IAM.

Tindakan

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

Elemen Action dari kebijakan JSON menjelaskan tindakan-tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama sebagai operasi API AWS terkait. Ada beberapa pengecualian, misalnya tindakan hanya dengan izin yang tidak memiliki operasi API yang cocok. Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam kebijakan. Tindakan tambahan ini disebut tindakan dependen.

Sertakan tindakan dalam kebijakan untuk memberikan izin guna melakukan operasi yang terkait.

Tindakan kebijakan di CodePipeline menggunakan prefiks berikut sebelum tindakan:codepipeline:.

Misalnya, untuk memberikan izin kepada seseorang untuk melihat saluran yang ada di akun, Anda menyertakancodepipeline:GetPipelinetindakan dalam kebijakan mereka. Pernyataan kebijakan harus mencakupActionatauNotActionElemen. CodePipeline menentukan serangkaian tindakannya sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma seperti berikut:

"Action": [ "codepipeline:action1", "codepipeline:action2"

Anda dapat menentukan beberapa tindakan menggunakan wildcard (*). Misalnya, untuk menentukan semua tindakan yang dimulai dengan kata Get, sertakan tindakan berikut:

"Action": "codepipeline:Get*"

Untuk daftar CodePipeline tindakan, lihatTindakan Ditetapkan olehAWS CodePipelinedi dalamPanduan Pengguna IAM.

Sumber daya

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

Elemen kebijakan JSON Resource menentukan objek atau objek-objek yang menjadi target penerapan tindakan. Pernyataan harus mencakup elemen Resource atau NotResource. Sebagai praktik terbaik, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung tipe sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.

Untuk tindakan yang tidak mendukung izin tingkat sumber daya, misalnya operasi pencantuman, gunakan karakter wildcart (*) untuk menunjukkan bahwa pernyataan tersebut berlaku bagi semua sumber daya.

"Resource": "*"

CodePipeline sumber daya dan operasi

Masuk CodePipeline, sumber daya utama adalah alur. Dalam sebuah kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang mengikuti kebijakan tersebut. CodePipeline men-support sumber daya lain yang dapat digunakan dengan sumber daya primer, seperti tahapan, tindakan, dan tindakan kustom. Ini dirujuk sebagai sub-sumber daya. Sumber daya dan subsumber daya ini memiliki Amazon Resource Name (ARN) unik yang terkait dengannya. Untuk informasi selengkapnya tentang ARN, lihat Amazon Resource Names (ARN) dan AWS Ruang Nama Layanan dalam Referensi Umum Amazon Web Services. Untuk mendapatkan ARN pipa yang terkait dengan pipa Anda, Anda dapat menemukan ARN pipa di bawahPengaturandi konsol. Untuk informasi selengkapnya, lihat Lihat ARN pipa dan peran layanan ARN (konsol).

Jenis Sumber Daya Format ARN

Alur

arn: aws:codepipeline:daerah:akun:nama pipa

Tahap

arn: aws:codepipeline:daerah:akun:nama pipa/nama-tahap

Action

arn: aws:codepipeline:daerah:akun:nama pipa/nama-tahap/tindakan-nama

Tindakan kustom arn: aws:codepipeline:daerah:akun:Jenis tindakan:pemilik/kategori/penyedia/versi

Semua CodePipeline sumber daya

arn: aws:codepipeline: *

Semua CodePipeline sumber daya yang dimiliki oleh akun yang ditentukan di Wilayah yang ditentukan di Wilayah yang ditentukan

arn: aws:codepipeline:daerah:akun:*

catatan

Sebagian besar layanan diAWSmengobati tanda titik dua (:) atau garis miring (/) sebagai karakter yang sama di ARN. Namun, CodePipeline menggunakan kecocokan tepat dalam pola peristiwa dan aturan. Pastikan untuk menggunakan karakter ARN yang benar saat membuat pola peristiwa sehingga cocok dengan sintaks ARN dalam pipeline yang Anda ingin cocokkan.

Masuk CodePipeline, ada panggilan API yang mendukung izin tingkat sumber daya. Izin tingkat sumber daya menunjukkan apakah panggilan API dapat menentukan ARN sumber daya, atau apakah panggilan API hanya dapat menentukan semua sumber daya menggunakan wildcard. LihatCodePipeline Referensi izinuntuk penjelasan rinci tentang izin tingkat sumber daya dan daftar CodePipeline Panggilan API yang mendukung izin tingkat sumber daya.

Misalnya, Anda dapat menunjukkan alur tertentu (MyPipeline) dalam pernyataan Anda dengan menggunakan ARN seperti berikut ini:

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"

Anda dapat menentukan semua jaringan pipa yang menjadi bagian dari akun tertentu dengan menggunakan karakter wildcard (*) seperti berikut ini:

"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"

Untuk menentukan semua sumber daya, atau tindakan API tertentu yang tidak mendukung ARN, gunakan karakter wildcard (*) dalamResourceelemen sebagai berikut:

"Resource": "*"
catatan

Saat Anda membuat kebijakan IAM, ikuti saran keamanan standar untuk memberikan hak istimewa paling rendah — yaitu, hanya memberikan izin yang diperlukan untuk melakukan tugas. Jika panggilan API mendukung ARN, maka itu mendukung izin tingkat sumber daya, dan Anda tidak perlu menggunakan karakter wildcard (*).

Beberapa CodePipeline Panggilan API menerima beberapa sumber daya (misalnya,GetPipeline). Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARN sumber daya tersebut menggunakan koma seperti berikut:

"Resource": ["arn1", "arn2"]

CodePipeline menyediakan seperangkat operasi untuk bekerja dengan CodePipeline sumber daya Untuk daftar operasi yang tersedia, lihat CodePipeline Referensi izin.

Kunci syarat

Administrator dapat menggunakan kebijakan JSON AWS untuk menentukan siapa yang memiliki akses ke hal apa. Yaitu, prinsipal mana yang dapat melakukan tindakan pada sumber daya apa, dan menurut persyaratan apa.

Elemen Condition (atau Condition blok) memungkinkan Anda menentukan syarat di mana suatu pernyataan berlaku. Elemen Condition bersifat opsional. Anda dapat membuat ekspresi bersyarat yang menggunakan operator syarat, seperti sama dengan atau kurang dari, untuk mencocokkan syarat dalam kebijakan dengan nilai dalam permintaan.

Jika Anda menentukan beberapa elemen Condition dalam pernyataan, atau beberapa kunci dalam satu elemen Condition, AWS akan mengevaluasinya denga menggunakan operasi logika AND. Jika Anda menetapkan beberapa nilai untuk kunci syarat tunggal, AWS akan mengevaluasi syarat tersebut dengan menggunakan operasi logika OR. Semua persyaratan harus dipenuhi sebelum izin pernyataan diberikan.

Anda juga dapat menggunakan variabel placeholder saat menentukan syarat. Sebagai contoh, Anda dapat memberikan izin pengguna IAM untuk mengakses sumber daya hanya jika ditandai dengan nama pengguna IAM mereka. Untuk informasi lebih lanjut, lihat Elemen kebijakan IAM: variabel dan tag dalam Panduan Pengguna IAM.

AWS mendukung kunci syarat global dan kunci syarat khusus layanan. Untuk melihat semua kunci syarat global AWS, lihat Kunci konteks syarat global AWS dalam Panduan Pengguna IAM.

CodePipeline menentukan set kunci syaratnya sendiri dan juga mendukung penggunaan beberapa kunci syarat global. Untuk melihat semua kunci ketentuan global AWS, lihat Kunci Konteks Syarat Global AWS dalam Panduan Pengguna IAM.

Semua tindakan Amazon EC2 men-support kunci syarat aws:RequestedRegion dan ec2:Region. Untuk informasi selengkapnya, lihatContoh: Membatasi Akses ke Wilayah Tertentu.

Untuk melihat daftar CodePipeline kunci syarat, lihatKunci SyaratAWS CodePipelinedi dalamPanduan Pengguna IAM. Untuk mempelajari tindakan dan sumber daya mana yang dapat Anda gunakan kunci syarat, lihat Tindakan yang Ditentukan oleh AWS CodePipeline.

Contoh

Untuk melihat contoh CodePipeline kebijakan berbasis identitas, lihatContoh kebijakan berbasis identitas AWS CodePipeline.

CodePipeline kebijakan berbasis sumber daya

CodePipeline tidak men-support kebijakan berbasis sumber daya. Namun, contoh kebijakan berbasis sumber daya untuk layanan S3 yang terkait dengan CodePipeline disediakan

Contoh

Untuk melihat contoh CodePipeline kebijakan berbasis sumber daya, lihatAWS CodePipelinecontoh kebijakan berbasis sumber daya,

Otorisasi berdasarkan tanda CodePipeline

Anda dapat melampirkan tag CodePipeline sumber daya atau meneruskan tag dalam permintaan ke CodePipeline. Untuk mengendalikan akses berdasarkan tanda, Anda dapat memberikan informasi tentang tanda di kebijakan elemen syarat menggunakan kunci syarat codepipeline:ResourceTag/key-name, aws:RequestTag/key-name, atau aws:TagKeys. Untuk informasi selengkapnya tentang penandaan sumber daya CodePipeline , lihat Penandaan pada sumber daya .

Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tag pada sumber daya tersebut, lihat Menggunakan tag untuk mengontrol akses ke CodePipelinesumber daya.

CodePipeline IAM role

SesiPeran IAMadalah entitas dalamAWSakun yang memiliki izin khusus.

Menggunakan kredenial sementara dengan CodePipeline

Anda dapat menggunakan kredensial sementara untuk masuk dengan gabungan, menjalankan IAM role, atau menjalankan peran lintas akun. Anda memperoleh kredensi keamanan sementara dengan meneleponAWS STSOperasi API sepertiAssumeRoleatauGetFederationToken.

CodePipeline mendukung penggunaan mandat sementara.

Peran layanan

CodePipeline memungkinkan layanan untuk mengasumsikanperan layananatas nama Anda. Peran ini mengizinkan layanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran layanan muncul di akun IAM Anda dan dimiliki oleh akun tersebut. Ini berarti administrator IAM dapat mengubah izin untuk peran ini. Namun, melakukan hal itu dapat merusak fungsionalitas layanan.

CodePipeline mendukung peran layanan.