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 fitur IAM apa yang tersedia untuk digunakan. CodePipeline Untuk mendapatkan tampilan tingkat tinggi tentang bagaimana CodePipeline dan lainnya Layanan AWS yang bekerja dengan IAM, lihat Layanan AWS yang bekerja dengan IAM di Panduan Pengguna IAM.

Kebijakan berbasis identitas CodePipeline

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak, serta ketentuan terkait jenis tindakan yang diizinkan atau ditolak. CodePipeline mendukung 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 AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, pengguna utama mana yang dapat melakukan tindakan pada sumber daya apa, dan dalam kondisi apa.

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

Menyertakan tindakan dalam suatu kebijakan untuk memberikan izin 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 Pengguna IAM.

Sumber daya

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

Elemen kebijakan JSON Resource menentukan objek atau beberapa objek yang menjadi target penerapan tindakan. Pernyataan harus menyertakan elemen Resource atau NotResource. Praktik terbaiknya, 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 mengindikasikan 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 Nama Sumber Daya Amazon (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 (ARN) unik yang terkait dengannya. Untuk informasi selengkapnya tentang ARN, lihat Nama Sumber Daya Amazon (ARN) Layanan AWS dan ruang nama di. Referensi Umum Amazon Web Untuk mendapatkan ARN pipeline yang terkait dengan pipeline Anda, Anda dapat menemukan ARN pipeline di bawah Pengaturan di konsol. Untuk informasi selengkapnya, lihat Lihat ARN pipeline dan peran layanan ARN (konsol).

Jenis Sumber Daya Format ARN

Alur

arn:aws:codepipeline: wilayah: akun: nama-pipa

Tahap

arn:aws:codepipeline: wilayah: akun: nama-pipeline/nama panggung

Tindakan

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

Tindakan kustom arn:aws:codepipeline: wilayah: account:actiontype: 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

arn:aws:codepipeline: wilayah: akun: *

catatan

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

Di 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. Lihat penjelasan CodePipeline referensi izin mendetail tentang izin tingkat sumber daya dan daftar panggilan CodePipeline API yang mendukung izin tingkat sumber daya.

Misalnya, Anda dapat menunjukkan pipeline 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 tindakan API tertentu tidak mendukung ARN, gunakan karakter wildcard (*) dalam Resource elemen sebagai berikut:

"Resource": "*"
catatan

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

Beberapa panggilan CodePipeline API menerima beberapa sumber daya (misalnya,GetPipeline). Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARN mereka 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 kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, pengguna utama mana yang dapat melakukan tindakan pada sumber daya apa, dan dalam kondisi apa.

Elemen Condition (atau blok Condition) memungkinkan Anda menentukan kondisi di mana suatu pernyataan akan diterapkan. Elemen Condition bersifat opsional. Anda dapat membuat ekspresi kondisional 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 satu pernyataan, atau beberapa kunci dalam satu elemen Condition, AWS akan mengevaluasinya dengan 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. Sebagai contoh, Anda dapat memberikan izin kepada pengguna IAM untuk mengakses sumber daya hanya jika izin tersebut mempunyai tanda yang sesuai dengan nama pengguna IAM mereka. Untuk informasi selengkapnya, silakan lihat Elemen kebijakan IAM: variabel dan tanda di Panduan Pengguna IAM.

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 Pengguna IAM.

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 Pengguna IAM.

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

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

Contoh-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-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 tanda di elemen syarat dari sebuh kebijakan dengan menggunakan kunci-kunci persyaratan 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 CodePipeline sumber daya.

CodePipeline Peran IAM

Peran IAM adalah entitas di AWS akun Anda yang memiliki izin tertentu.

Menggunakan kredensi sementara dengan CodePipeline

Anda dapat menggunakan kredensial sementara untuk masuk dengan gabungan, menjalankan IAM role, atau menjalankan peran lintas akun. Anda memperoleh kredensyal keamanan sementara dengan memanggil operasi AWS STS API seperti AssumeRoleatau. GetFederationToken

CodePipeline mendukung penggunaan kredensyal 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 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.