Bagaimana AWS CodePipeline bekerja dengan IAM - AWS CodePipeline

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

Bagaimana AWS CodePipeline bekerja dengan IAM

Sebelum Anda menggunakan IAM untuk mengelola akses CodePipeline, Anda harus memahami IAM fitur apa yang tersedia untuk digunakan CodePipeline. Untuk mendapatkan tampilan tingkat tinggi tentang cara CodePipeline dan cara lain Layanan AWS yang bekerja dengannyaIAM, lihat Layanan AWS yang berfungsi IAM di Panduan IAM Pengguna.

Kebijakan berbasis identitas CodePipeline

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

Tindakan

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.

ActionElemen JSON kebijakan menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam kebijakan. Tindakan kebijakan biasanya memiliki nama yang sama dengan AWS API operasi terkait. Ada beberapa pengecualian, seperti tindakan khusus izin yang tidak memiliki operasi yang cocok. API Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam suatu kebijakan. Tindakan tambahan ini disebut tindakan dependen.

Menyertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Tindakan kebijakan CodePipeline menggunakan awalan berikut sebelum tindakan:codepipeline:.

Misalnya, untuk memberikan izin kepada seseorang untuk melihat pipeline yang ada di akun, Anda menyertakan codepipeline:GetPipeline tindakan tersebut dalam kebijakan mereka. Pernyataan kebijakan harus mencakup salah satu Action atau NotAction elemen. CodePipeline mendefinisikan serangkaian tindakannya sendiri yang menggambarkan 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 (*). Sebagai contoh, untuk menentukan semua tindakan yang dimulai dengan kata Get, sertakan tindakan berikut:

"Action": "codepipeline:Get*"

Untuk daftar tindakan, lihat CodePipeline Tindakan yang Ditentukan oleh AWS CodePipeline dalam Panduan IAM Pengguna.

Sumber daya

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.

Elemen Resource JSON kebijakan menentukan objek atau objek yang tindakan tersebut berlaku. Pernyataan harus menyertakan elemen Resource atau NotResource. Sebagai praktik terbaik, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung jenis sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.

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

"Resource": "*"

CodePipeline sumber daya dan operasi

Pada tahun CodePipeline, sumber daya utama adalah pipa. Dalam kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang berlaku untuk kebijakan tersebut. CodePipeline mendukung sumber daya lain yang dapat digunakan dengan sumber daya utama, seperti tahapan, tindakan, dan tindakan khusus. Ini dirujuk sebagai sub-sumber daya. Sumber daya dan subsumber daya ini memiliki Nama Sumber Daya Amazon (ARNs) unik yang terkait dengannya. Untuk informasi selengkapnyaARNs, lihat Amazon Resource Layanan AWS Names (ARN) dan ruang nama di. Referensi Umum Amazon Web Services Untuk mendapatkan pipeline yang ARN terkait dengan pipeline Anda, Anda dapat menemukan pipeline ARN di bawah Pengaturan di konsol. Untuk informasi selengkapnya, lihat Melihat pipeline ARN dan peran layanan ARN (konsol).

Jenis Sumber Daya ARNFormat

Alur

arn:aws:codepipeline:region:account:pipeline-name

Stage

arn:aws:codepipeline:region:account:pipeline-name/stage-name

Tindakan

arn:aws:codepipeline:region:account:pipeline-name/stage-name/action-name

Tindakan kustom arn:aws:codepipeline:region:account:actiontype:owner/category/provider/version

Semua CodePipeline sumber daya

arn:aws:codepipeline: *

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

arn:aws:codepipeline:region:account:*

catatan

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

Di CodePipeline, ada API panggilan yang mendukung izin tingkat sumber daya. Izin tingkat sumber daya menunjukkan apakah API panggilan dapat menentukan sumber dayaARN, atau apakah API panggilan hanya dapat menentukan semua sumber daya menggunakan wildcard. Lihat CodePipeline referensi izin penjelasan terperinci tentang izin tingkat sumber daya dan daftar CodePipeline API panggilan yang mendukung izin tingkat sumber daya.

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

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

Anda juga dapat menentukan semua pipeline milik akun tertentu dengan menggunakan karakter wildcard (*) sebagai berikut:

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

Untuk menentukan semua sumber daya, atau jika API tindakan tertentu tidak mendukungARNs, gunakan karakter wildcard (*) dalam Resource elemen sebagai berikut:

"Resource": "*"
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. Jika API panggilan mendukungARNs, maka ia mendukung izin tingkat sumber daya, dan Anda tidak perlu menggunakan karakter wildcard (*).

Beberapa CodePipeline API panggilan menerima banyak sumber daya (misalnya,GetPipeline). Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARNs dengan koma, sebagai berikut:

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

CodePipeline menyediakan satu set operasi untuk bekerja dengan CodePipeline sumber daya. Untuk daftar operasi yang tersedia, lihat CodePipeline referensi izin.

Kunci syarat

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

Elemen Condition (atau blok Condition) akan memungkinkan Anda menentukan kondisi yang menjadi dasar suatu pernyataan berlaku. Elemen Condition bersifat opsional. Anda dapat membuat ekspresi bersyarat yang menggunakan operator kondisi, misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta.

Jika Anda menentukan beberapa elemen Condition dalam sebuah pernyataan, atau beberapa kunci dalam elemen Condition tunggal, maka AWS akan mengevaluasinya menggunakan operasi AND logis. Jika Anda menentukan beberapa nilai untuk satu kunci kondisi, AWS mengevaluasi kondisi menggunakan OR operasi logis. Semua kondisi harus dipenuhi sebelum izin pernyataan diberikan.

Anda juga dapat menggunakan variabel placeholder saat menentukan kondisi. Misalnya, Anda dapat memberikan izin IAM pengguna untuk mengakses sumber daya hanya jika ditandai dengan nama IAM pengguna mereka. Untuk informasi selengkapnya, lihat elemen IAM kebijakan: variabel dan tag di Panduan IAM Pengguna.

AWS mendukung kunci kondisi global dan kunci kondisi khusus layanan. Untuk melihat semua kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan IAM Pengguna.

CodePipeline mendefinisikan kumpulan kunci kondisinya sendiri dan juga mendukung penggunaan beberapa kunci kondisi global. Untuk melihat semua kunci kondisi AWS global, lihat Kunci Konteks Kondisi AWS Global di Panduan IAM Pengguna.

Semua EC2 tindakan Amazon mendukung kunci aws:RequestedRegion dan ec2:Region kondisi. Untuk informasi selengkapnya, lihat Contoh: Membatasi Akses ke Wilayah Tertentu.

Untuk melihat daftar kunci CodePipeline kondisi, lihat Condition Keys untuk AWS CodePipeline di Panduan IAM Pengguna. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat Tindakan yang Ditentukan oleh AWS CodePipeline.

Contoh

Untuk melihat contoh kebijakan CodePipeline berbasis identitas, lihat. Contoh kebijakan berbasis identitas AWS CodePipeline

CodePipeline kebijakan berbasis sumber daya

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

Contoh

Untuk melihat contoh kebijakan CodePipeline berbasis sumber daya, lihat, AWS CodePipeline contoh kebijakan berbasis sumber daya

Otorisasi berdasarkan tanda CodePipeline

Anda dapat melampirkan tag ke CodePipeline sumber daya atau meneruskan tag dalam permintaan CodePipeline. Untuk mengendalikan akses berdasarkan tag, berikan informasi tentang tag di elemen kondisi dari kebijakan menggunakan kunci kondisi codepipeline:ResourceTag/key-name, aws:RequestTag/key-name, atau aws:TagKeys. Untuk informasi selengkapnya tentang menandai CodePipeline sumber daya, lihatPenandaan 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 CodePipeline sumber daya.

CodePipeline IAMperan

IAMPeran adalah entitas di AWS akun Anda yang memiliki izin tertentu.

Menggunakan kredensi sementara dengan CodePipeline

Anda dapat menggunakan kredensi sementara untuk masuk dengan federasi, mengambil IAM peran, atau untuk mengambil peran lintas akun. Anda memperoleh kredensi keamanan sementara dengan memanggil AWS STS API operasi seperti AssumeRoleatau. GetFederationToken

CodePipeline mendukung penggunaan kredensil sementara.

Peran layanan

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

CodePipeline mendukung peran layanan.