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.
Topik
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.
Action
Elemen 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: |
Stage |
arn:aws:codepipeline: |
Tindakan |
arn:aws:codepipeline: |
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: |
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/
, atau key-name
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.