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 yang tersedia untuk digunakan dengan CodePipeline. Untuk mendapatkan tampilan tingkat tinggi tentang cara CodePipeline dan layanan AWS lainnya bekerja dengan IAM, lihat Layanan AWS yang bekerja dengan IAM dalam Panduan 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. CodePipelinemendukung tindakan, sumber daya, dan kunci kondisi 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 jaringan pipa yang ada di akun, Anda menyertakancodepipeline:GetPipelinetindakan dalam kebijakan mereka. Pernyataan kebijakan harus memuat elemen Action atau NotAction. CodePipelinemenentukan 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 daftarCodePipelinetindakan, lihatTindakan Ditetapkan olehAWS CodePipelinediPanduan 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": "*"

Sumber daya dan operasi CodePipeline

MasukCodePipeline, sumber daya utama adalah alur. Dalam kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang mengikuti kebijakan tersebut. CodePipelinemendukung 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 pipa ARN 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:pipeline-nama

Tahap

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

Action

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

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

Semua sumber daya CodePipeline

arn:aws:codepipeline: *

SemuaCodePipelinesumber daya yang dimiliki oleh akun yang ditentukan di Wilayah yang ditentukan

arn:aws:codepipeline:daerah:akun:*

catatan

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

MasukCodePipeline, ada panggilan API yang mendukung izin tingkat sumber daya. Izin tingkat sumber daya menunjukkan apakah panggilan API dapat menentukan sumber daya ARN, atau apakah panggilan API hanya dapat menentukan semua sumber daya menggunakan wildcard. LihatReferensi izin CodePipelineuntuk penjelasan rinci tentang izin tingkat sumber daya dan daftarCodePipelinePanggilan API yang mendukung izin tingkat sumber daya.

Misalnya, Anda dapat menunjukkan pipa tertentu (myPipeline) dalam pernyataan Anda dengan menggunakan ARN sebagai berikut ini:

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

Anda dapat menentukan semua jalur 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 (*) diResourceelemen 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 (*).

BeberapaCodePipelinePanggilan API menerima beberapa sumber daya (misalnya,GetPipeline). Untuk menentukan beberapa tindakan dalam satu pernyataan, pisahkan ARN dengan koma seperti berikut ini:

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

CodePipelinemenyediakan seperangkat operasi untuk bekerja denganCodePipelinesumber daya. Untuk daftar operasi yang tersedia, lihat Referensi izin CodePipeline.

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 kunci syarat CodePipeline, lihat Kunci Syarat untuk AWS CodePipeline di Panduan 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, lihat Contoh 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 terkait denganCodePipelinedisediakan.

Contoh

Untuk melihat contohCodePipelineKebijakan berbasis sumber daya, lihatAWS CodePipelineContoh kebijakan berbasis sumber daya,

Otorisasi berdasarkan tanda CodePipeline

Anda dapat melampirkan tanda ke sumber daya CodePipeline atau meneruskan tanda dalam sebuah 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 tanda untuk mengontrol akses keCodePipelinesumber daya.

Peran IAM CodePipeline

SesiPeran IAMadalah entitas dalamAWSakun yang memiliki izin khusus.

Menggunakan kredensial sementara dengan CodePipeline

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

CodePipelinemendukung penggunaan kredensi sementara.

Peran layanan

CodePipelinememungkinkan 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