Identity and access management untuk Notifikasi CodeStar AWS dan Koneksi CodeStar AWS - Konsol Alat Developer

Identity and access management untuk Notifikasi CodeStar AWS dan Koneksi CodeStar AWS

AWS Identity and Access Management (IAM) adalah layanan AWS yang membantu administrator mengontrol akses ke sumber daya AWS secara aman. Kontrol Administrator IAM yang dapat menjadi terautentikasi (masuk) dan berwenang (memiliki izin) untuk menggunakan sumber daya Notifikasi CodeStar AWS dan Koneksi CodeStar AWS. IAM adalah layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

Audience

Bagaimana Anda menggunakan AWS Identity and Access Management (IAM) berbeda, tergantung pada pekerjaan yang Anda lakukan di Notifikasi CodeStar AWS dan Koneksi CodeStar AWS.

Pengguna layanan – Jika Anda menggunakan layanan Notifikasi CodeStar AWS dan Koneksi CodeStar AWS untuk melakukan tugas Anda, administrator Anda akan memberikan kredensial dan izin yang Anda butuhkan. Saat Anda menggunakan lebih banyak fitur Notifikasi CodeStar AWS dan Koneksi CodeStar AWS untuk melakukan pekerjaan, Anda mungkin memerlukan izin tambahan. Memahami cara pengelolaan akses dapat membantu Anda meminta izin yang tepat dari administrator Anda. Jika Anda tidak dapat mengakses fitur di Notifikasi CodeStar AWS dan Koneksi CodeStar AWS, lihat Pemecahan Masalah Notifikasi CodeStar AWS dan Koneksi CodeStar AWS serta akses.

Administrator layanan – Jika Anda bertanggungjawab untuk sumber daya Notifikasi CodeStar AWS dan Koneksi CodeStar AWS di perusahaan Anda, maka Anda mungkin memiliki akses penuh ke Notifikasi CodeStar AWS dan Koneksi CodeStar AWS. Tugas Anda adalah menentukan fitur dan sumber daya Notifikasi CodeStar AWS dan Koneksi CodeStar AWS yang dapat diakses karyawan Anda. Anda kemudian harus mengirimkan permintaan ke administrator IAM untuk mengubah izin pengguna layanan. Tinjau informasi di halaman ini untuk memahami konsep dasar IAM. Untuk mempelajari lebih lanjut tentang cara perusahaan Anda dapat menggunakan IAM dengan Notifikasi CodeStar AWS dan Koneksi CodeStar AWS, lihat Bagaimana fitur di konsol alat developer bekerja dengan IAM.

Administrator IAM – Jika Anda adalah administrator IAM, Anda mungkin ingin belajar dengan lebih detail tentang cara Anda menulis kebijakan untuk mengelola akses ke Notifikasi CodeStar AWS dan Koneksi CodeStar AWS. Untuk melihat contoh kebijakan berbasis identitas Notifikasi CodeStar AWS dan Koneksi CodeStar AWS yang dapat Anda gunakan di IAM, lihat Contoh kebijakan berbasis identitas.

Mengautentikasi dengan identitas

Autentikasi adalah cara Anda masuk ke AWS menggunakan kredensial identitas. Untuk informasi lebih lanjut tentang masuk menggunakan AWS Management Console, lihat Masuk ke AWS Management Console sebagai pengguna IAM atau pengguna root dalam Panduan Pengguna IAM.

Anda harus diautentikasi (masuk ke AWS) sebagai pengguna root akun Akun AWS, pengguna IAM, atau dengan mengambil IAM role. Anda juga dapat menggunakan autentikasi single sign-on dari perusahaan Anda atau bahkan masuk menggunakan Google atau Facebook. Dalam kasus ini, administrator Anda sebelumnya menyiapkan federasi identitas menggunakan IAM role. Saat Anda mengakses AWS menggunakan kredensial dari perusahaan lain, Anda secara tidak langsung mengambil peran.

Untuk masuk secara langsung ke AWS Management Console, gunakan kata sandi Anda dengan alamat email pengguna root atau nama pengguna IAM Anda. Anda dapat mengakses AWS secara terprogram menggunakan access key pengguna root atau pengguna IAM. AWS menyediakan SDK dan alat baris perintah untuk menandatangani permintaan secara kriptografis menggunakan kredensial Anda. Jika tidak menggunakan alat AWS, Anda harus menandatangani sendiri permintaan tersebut. Lakukan ini menggunakan Signature Version 4 untuk mengautentikasi permintaan API inbound. Untuk informasi lebih lanjut tentang autentikasi permintaan, lihat proses penandatanganan Signature Version 4 dalam Referensi Umum AWS.

Apapun metode autentikasi yang Anda gunakan, Anda juga mungkin diminta untuk memberikan informasi kerahasiaan tambahan. Misalnya, AWS menyarankan agar Anda menggunakan autentikasi Autentikasi Multi-Faktor (MFA) untuk meningkatkan keamanan akun Anda. Untuk mempelajari selengkapnya, lihat Menggunakan Autentikasi Multi-Faktor (MFA) di AWS dalam Panduan Pengguna IAM.

Akun AWS pengguna root

Saat pertama kali membuat Akun AWS, Anda memulai dengan identitas masuk tunggal yang memiliki akses penuh ke semua layanan dan sumber daya AWS dalam akun tersebut. Identitas ini disebut Akun AWS pengguna root dan diakses dengan cara masuk menggunakan alamat email dan kata sandi yang Anda gunakan untuk membuat akun. Kami sangat menyarankan agar Anda tidak menggunakan pengguna utama untuk tugas sehari-hari, bahkan tugas administratif. Sebaliknya, patuhi praktik terbaik menggunakan pengguna akar saja untuk membuat pengguna IAM pertama Anda. Kemudian, kunci kredensial pengguna utama dengan aman dan gunakan kredensial itu untuk melakukan beberapa tugas manajemen akun dan layanan saja.

Pengguna dan kelompok IAM

Pengguna IAM adalah identitas dalam Akun AWS Anda yang memiliki izin khusus untuk satu orang atau aplikasi. Pengguna IAM dapat memiliki kredensial jangka panjang seperti nama pengguna dan kata sandi atau serangkaian access key. Untuk mempelajari cara membuat kunci akses, lihat Mengelola access key untuk pengguna IAM dalam Panduan Pengguna IAM. Saat Anda membuat access key untuk pengguna IAM, pastikan Anda melihat dan menyimpan pasangan kunci dengan aman. Anda tidak dapat memulihkan secret access key di masa mendatang. Sebaliknya, Anda harus membuat pasangan kunci akses baru.

Grup IAM adalah identitas yang menetapkan koleksi pengguna IAM. Anda tidak dapat masuk sebagai kelompok. Anda dapat menggunakan grup untuk menentukan izin untuk beberapa pengguna sekaligus. Grup memudahkan kita mengelola izin untuk large pengguna. Misalnya, Anda dapat memiliki grup dengan nama IAMAdmins dan memberikan izin kepada grup tersebut untuk mengelola sumber daya IAM.

Pengguna berbeda dari peran. Seorang pengguna secara unik dikaitkan dengan satu orang atau aplikasi, tetapi peran ini dimaksudkan untuk dapat diasumsikan oleh siapa pun yang membutuhkannya. Pengguna memiliki kredensial jangka panjang permanen, tetapi peran menyediakan kredensial sementara. Untuk mempelajari lebih lanjut, lihat Kapan saatnya membuat pengguna IAM (alih-alih peran) dalam Panduan Pengguna IAM.

IAM role

IAM role adalah identitas dalam Akun AWS Anda yang memiliki izin khusus. Peran ini mirip dengan pengguna IAM, tetapi tidak terkait dengan orang tertentu. Anda dapat menjalankan IAM role sementara di AWS Management Console dengan beralih peran. Anda dapat mengasumsikan peran dengan memanggil AWS CLI atau operasi API AWS atau menggunakan URL khusus. Untuk informasi selengkapnya tentang metode menggunakan peran, lihat Menggunakan IAM role dalam Panduan Pengguna IAM.

IAM role dengan kredensial sementara berguna dalam situasi berikut:

  • Izin pengguna IAM sementara – Pengguna IAM dapat menjalankan IAM role untuk sementara mengambil izin yang berbeda untuk tugas tertentu.

  • Akses pengguna gabungan – Alih-alih membuat pengguna IAM, Anda dapat menggunakan identitas yang ada dari AWS Directory Service, direktori pengguna perusahaan Anda, atau penyedia identitas web. Ini dikenal sebagai pengguna gabungan. AWS menetapkan peran ke pengguna gabungan saat pengguna meminta akses melalui penyedia identitas. Untuk informasi lebih lanjut tentang pengguna federasi, lihat Pengguna dan peran yang difederasi dalam Panduan Pengguna IAM.

  • Akses lintas akun – Anda dapat menggunakan IAM role untuk mengizinkan seseorang (pemegang kepercayaan) dalam akun yang berbeda untuk mengakses sumber daya dalam akun Anda. Peran adalah cara utama untuk memberikan akses akun silang. Namun, pada beberapa layanan AWS, Anda dapat melampirkan kebijakan secara langsung ke sumber daya (alih-alih menggunakan peran sebagai proksi). Untuk mepelajari perbedaan antara kebijakan peran dan berbasis sumber daya untuk akses lintas akun, lihat Bagaimana IAM role berbeda dari kebijakan berbasis sumber daya dalam Panduan Pengguna IAM.

  • Akses lintas layanan – Beberapa layanan AWS menggunakan fitur di layanan AWS lainnya. Misalnya, ketika Anda melakukan panggilan dalam suatu layanan, merupakan hal yang biasa bagi layanan tersebut untuk menjalankan aplikasi di Amazon EC2 atau menyimpan objek di Amazon S3. Layanan mungkin melakukan hal ini dengan menggunakan izin prinsipal yang melakukan panggilan, menggunakan peran layanan, atau menggunakan peran tertaut-layanan.

    • Izin prinsipal – Saat Anda menggunakan pengguna atau IAM role untuk melakukan tindakan di AWS, Anda dianggap sebagai prinsipal. Kebijakan memberikan izin kepada prinsipal. Saat Anda menggunakan beberapa layanan, Anda mungkin melakukan tindakan yang kemudian memicu tindakan lain di layanan yang berbeda. Dalam hal ini, Anda harus memiliki izin untuk melakukan kedua tindakan tersebut. Untuk melihat apakah tindakan memerlukan tindakan dependen tambahan dalam kebijakan, lihat Tindakan, Sumber daya, dan Kunci Syarat untuk Notifikasi CodeStar AWS dan Tindakan, Sumber daya, dan Kunci Syarat untuk Koneksi CodeStar AWS di Referensi Otorisasi Layanan.

    • Peran layanan – Peran layanan adalah IAM role yang diambil oleh layanan untuk melakukan tindakan atas nama Anda. Peran layanan hanya menyediakan akses dalam akun Anda dan tidak dapat digunakan untuk memberikan akses ke layanan dalam akun lain. Administrator IAM dapat membuat, memodifikasi, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke layanan AWS dalam Panduan Pengguna IAM.

    • Peran tertaut-layanan – Peran tertaut-layanan adalah jenis peran layanan yang tertaut dengan layanan AWS. Layanan dapat mengambil peran untuk melakukan tindakan atas nama Anda. Peran tertaut-layanan muncul di akun IAM Anda dan dimiliki oleh layanan tersebut. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran tertaut-layanan.

  • Aplikasi yang berjalan di Amazon EC2 – Anda dapat menggunakan IAM role untuk mengelola kredensial sementara untuk aplikasi yang berjalan pada instans EC2 dan membuat permintaan AWS CLI atau API AWS. Ini lebih disukai daripada menyimpan access key di dalam instans EC2. Untuk menetapkan peran AWS ke instans EC2 dan membuatnya tersedia untuk semua aplikasi, Anda membuat profil instans yang dilampirkan ke instans. Profil instans berisi peran dan memungkinkan program yang berjalan di instans EC2 untuk mendapatkan kredensial sementara. Untuk informasi lebih lanjut, lihat Menggunakan IAM role untuk memberikan izin kepada aplikasi yang berjalan di instans Amazon EC2 dalam Panduan Pengguna IAM.

Untuk mempelajari kapan saatnya menggunakan IAM role atau pengguna IAM, lihat Kapan saatnya membuat IAM role (alih-alih pengguna) dalam Panduan Pengguna IAM.

Mengelola akses menggunakan kebijakan

Anda mengontrol akses di AWS dengan membuat kebijakan dan melampirkannya ke identitas IAM atau sumber daya AWS. Kebijakan adalah objek di AWS yang saat terkait dengan identitas atau sumber daya akan mendefinisikan izin mereka. Anda dapat masuk sebagai pengguna root atau pengguna IAM, atau Anda dapat mengambil IAM role. Kemudian, ketika Anda mengajukan permintaan, AWS mengevaluasi kebijakan berbasis identitas atau berbasis sumber daya yang terkait. Izin dalam kebijakan menentukan apakah permintaan tersebut diizinkan atau ditolak. Sebagian besar kebijakan disimpan dalam AWS sebagai dokumen JSON. Untuk informasi lebih lanjut tentang struktur dan isi dokumen kebijakan JSON, lihat Ikhtisar kebijakan JSON dalam Panduan Pengguna IAM.

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

Setiap entitas IAM (pengguna atau peran) dimulai tanpa izin. Dalam mata RDS, secara default, pengguna tidak dapat melakukan apa pun, bahkan tidak mengubah kata sandi mereka sendiri. Untuk memberikan izin kepada pengguna untuk melakukan sesuatu, administrator harus melampirkan kebijakan izin kepada pengguna. Atau administrator dapat menambahkan pengguna ke grup yang memiliki izin yang diinginkan. Ketika administrator memberikan izin untuk grup, semua pengguna dalam grup tersebut diberikan izin tersebut.

Kebijakan IAM mendefinisikan izin untuk tindakan tanpa GA dari metode yang Anda gunakan untuk melakukan operasi. Misalnya, anggaplah bahwa Anda memiliki kebijakan yang mengizinkan iam:GetRole tindakan. Pengguna dengan kebijakan tersebut dapat memperoleh informasi peran dari AWS Management Console, AWS CLI, atau API AWS.

Kebijakan berbasis identitas

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang dapat Anda lampirkan ke identitas, seperti pengguna IAM, grup pengguna, atau peran. Kebijakan ini mengontrol tindakan apa yang dapat dilakukan oleh pengguna dan peran, di sumber daya mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat Membuat kebijakan IAM dalam Panduan Pengguna IAM.

Kebijakan berbasis identitas dapat lebih lanjut dikategorikan sebagai kebijakan inline atau kebijakan yang dikelola. Kebijakan internal disematkan secara langsung ke dalam satu pengguna, grup, atau peran. Kebijakan terkelola adalah kebijakan mandiri yang dapat Anda lampirkan ke beberapa pengguna, grup, dan peran dalam Akun AWS Anda. Kebijakan yang dikelola meliputi kebijakan yang dikelola AWS dan kebijakan yang dikelola pelanggan. Untuk mempelajari cara memilih antara kebijakan terkelola atau kebijakan inline, lihat Memilih antara kebijakan terkelola dan kebijakan inline dalam Panduan Pengguna IAM.

Referensi izin Koneksi AWS CodeStar

Tabel berikut mencantumkan operasi API Koneksi AWS CodeStar, tindakan yang sesuai yang mana yang dapat memberikan izin, dan format ARN sumber daya yang akan digunakan untuk pemberian izin. API Koneksi AWS CodeStar dikelompokkan ke dalam tabel berdasarkan lingkup tindakan yang diizinkan oleh API itu. Mengacu saat menulis kebijakan izin yang dapat Anda lampirkan ke identitas IAM (kebijakan berbasis identitas).

Ketika Anda membuat kebijakan izin, Anda menentukan tindakan di bidang Action. Anda menentukan nilai sumber daya di bidang Resource sebagai ARN, dengan atau tanpa karakter wildcard (*).

Untuk mengekspresikan syarat dalam kebijakan koneksi Anda, gunakan kunci syarat yang dijelaskan di sini dan tercantum dalam Kunci kondisi. Anda juga dapat menggunakan kunci syarat AWS-lebar. Untuk daftar lengkap kunci di AWS-lebar, lihat Kunci yang Tersedia dalam Panduan Pengguna IAM.

Untuk menentukan tindakan, gunakan prefiks codestar-connections: diikuti dengan nama operasi API (misalnya, codestar-connections:ListConnections atau codestar-connections:CreateConnection.

Menggunakan wildcard

Untuk menentukan beberapa tindakan atau sumber daya, gunakan karakter wildcard (*) di ARN Anda. Misalnya, codestar-connections:* menentukan semua tindakan Koneksi AWS CodeStar dan codestar-connections:Get* menentukan semua tindakan Koneksi AWS CodeStar yang dimulai dengan kata Get. Contoh berikut memberikan akses ke semua sumber daya dengan nama yang dimulai dengan MyConnection.

arn:aws:codestar-connections:us-west-2:account-ID:connection/*

Anda dapat menggunakan wildcard hanya dengan sumber daya koneksi yang tercantum dalam tabel berikut. Anda tidak dapat menggunakan wildcard dengan sumber daya wilayah atau account-id. Untuk informasi lebih lanjut tentang wildcard, lihat Pengidentifikasi IAM dalam Panduan Pengguna IAM.

Izin untuk mengelola koneksi

Peran atau pengguna yang ditunjuk untuk menggunakan AWS CLI atau SDK untuk melihat, membuat, atau menghapus koneksi harus memiliki izin terbatas berikut.

catatan

Anda tidak dapat menyelesaikan atau menggunakan koneksi di konsol dengan hanya izin berikut. Anda perlu menambahkan izin di Izin untuk menyelesaikan koneksi.

codestar-connections:CreateConnection codestar-connections:DeleteConnection codestar-connections:GetConnection codestar-connections:ListConnections

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar diperlukan izin untuk mengelola koneksi
Tindakan Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

CreateConnection

codestar-connections:CreateConnection

Diperlukan untuk menggunakan CLI atau konsol untuk membuat koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

DeleteConnection

codestar-connections:DeleteConnection

Diperlukan untuk menggunakan CLI atau konsol untuk menghapus koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

GetConnection

codestar-connections:GetConnection

Diperlukan untuk menggunakan CLI atau konsol untuk melihat detail tentang koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListConnections

codestar-connections:ListConnections

Diperlukan untuk menggunakan CLI atau konsol untuk membuat daftar semua koneksi di akun.

arn:aws:codestar-connections:region:account-id:connection/connection-id

Operasi ini mendukung kunci syarat berikut:

Tindakan Kunci kondisi

codestar-connections:CreateConnection

codestar-connections:ProviderType

codestar-connections:DeleteConnection N/A
codestar-connections:GetConnection N/A
codestar-connections:ListConnections codestar-connections:ProviderTypeFilter

Izin untuk mengelola host

Peran atau pengguna yang ditunjuk untuk menggunakan AWS CLI atau SDK untuk melihat, membuat, atau menghapus host harus memiliki izin terbatas berikut.

catatan

Anda tidak dapat menyelesaikan atau menggunakan koneksi di host dengan hanya izin berikut. Anda perlu menambahkan izin di Izin untuk menyiapkan host.

codestar-connections:CreateHost codestar-connections:DeleteHost codestar-connections:GetHost codestar-connections:ListHosts

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar diperlukan izin untuk mengelola host
Tindakan Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

CreateHost

codestar-connections:CreateHost

Diperlukan untuk menggunakan CLI atau konsol untuk membuat host.

arn:aws:codestar-connections:region:account-id:host/host-id

DeleteHost

codestar-connections:DeleteHost

Diperlukan untuk menggunakan CLI atau konsol untuk menghapus host.

arn:aws:codestar-connections:region:account-id:host/host-id

GetHost

codestar-connections:GetHost

Diperlukan untuk menggunakan CLI atau konsol untuk melihat detail tentang host.

arn:aws:codestar-connections:region:account-id:host/host-id

ListHosts

codestar-connections:ListHosts

Diperlukan untuk menggunakan CLI atau konsol untuk membuat daftar semua host di akun.

arn:aws:codestar-connections:region:account-id:host/host-id

Operasi ini mendukung kunci syarat berikut:

Tindakan Kunci kondisi

codestar-connections:CreateHost

codestar-connections:ProviderType

codestar-connections:DeleteHost N/A
codestar-connections:GetHost N/A
codestar-connections:ListHosts codestar-connections:ProviderTypeFilter

Izin untuk menyelesaikan koneksi

Peran atau pengguna yang ditunjuk untuk mengelola koneksi di konsol harus memiliki izin yang diperlukan untuk menyelesaikan koneksi di konsol dan membuat instalasi, yang mencakup otorisasi handshake ke penyedia dan membuat instalasi untuk koneksi untuk digunakan. Gunakan izin berikut selain izin di atas.

Operasi IAM berikut digunakan oleh konsol saat melakukan handshake berbasis browser. ListInstallationTargets, GetInstallationUrl, StartOAuthHandshake, UpdateConnectionInstallation, dan GetIndividualAccessToken adalah izin kebijakan IAM. Mereka bukan tindakan API.

codestar-connections:GetIndividualAccessToken codestar-connections:GetInstallationUrl codestar-connections:ListInstallationTargets codestar-connections:StartOAuthHandshake codestar-connections:UpdateConnectionInstallation

Berdasarkan ini, izin berikut diperlukan untuk menggunakan, membuat, memperbarui, atau menghapus koneksi di konsol.

codestar-connections:CreateConnection codestar-connections:DeleteConnection codestar-connections:GetConnection codestar-connections:ListConnections codestar-connections:UseConnection codestar-connections:ListInstallationTargets codestar-connections:GetInstallationUrl codestar-connections:StartOAuthHandshake codestar-connections:UpdateConnectionInstallation codestar-connections:GetIndividualAccessToken

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar diperlukan izin untuk menyelesaikan koneksi
Tindakan Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

GetIndividualAccessToken

codestar-connections:GetIndividualAccessToken

Diperlukan untuk menggunakan konsol untuk menyelesaikan koneksi. Ini adalah izin kebijakan IAM saja, bukan tindakan API.

arn:aws:codestar-connections:region:account-id:connection/connection-id

GetInstallationUrl

codestar-connections:GetInstallationUrl

Diperlukan untuk menggunakan konsol untuk menyelesaikan koneksi. Ini adalah izin kebijakan IAM saja, bukan tindakan API.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListInstallationTargets

codestar-connections:ListInstallationTargets

Diperlukan untuk menggunakan konsol untuk menyelesaikan koneksi. Ini adalah izin kebijakan IAM saja, bukan tindakan API.

arn:aws:codestar-connections:region:account-id:connection/connection-id

StartOAuthHandshake

codestar-connections:StartOAuthHandshake

Diperlukan untuk menggunakan konsol untuk menyelesaikan koneksi. Ini adalah izin kebijakan IAM saja, bukan tindakan API.

arn:aws:codestar-connections:region:account-id:connection/connection-id

UpdateConnectionInstallation

codestar-connections:UpdateConnectionInstallation

Diperlukan untuk menggunakan konsol untuk menyelesaikan koneksi. Ini adalah izin kebijakan IAM saja, bukan tindakan API.

arn:aws:codestar-connections:region:account-id:connection/connection-id

Operasi ini mendukung kunci kondisi berikut.

Tindakan Kunci kondisi
codestar-connections:GetIndividualAccessToken codestar-connections:ProviderType
codestar-connections:GetInstallationUrl codestar-connections:ProviderType

codestar-connections:ListInstallationTargets

N/A

codestar-connections:StartOAuthHandshake codestar-connections:ProviderType
codestar-connections:UpdateConnectionInstallation codestar-connections:InstallationId

Izin untuk menyiapkan host

Peran atau pengguna yang ditunjuk untuk mengelola koneksi di konsol harus memiliki izin yang diperlukan untuk mengatur host di konsol, yang mencakup otorisasi handshake ke penyedia dan menginstal aplikasi host. Gunakan izin berikut selain izin untuk host di atas.

Operasi IAM berikut digunakan oleh konsol saat melakukan pendaftaran host berbasis browser. RegisterAppCode dan StartAppRegistrationHandshake adalah izin kebijakan IAM. Mereka bukan tindakan API.

codestar-connections:RegisterAppCode codestar-connections:StartAppRegistrationHandshake

Berdasarkan ini, izin berikut diperlukan untuk menggunakan, membuat, memperbarui, atau menghapus koneksi di konsol yang memerlukan host (seperti jenis penyedia yang diinstal).

codestar-connections:CreateConnection codestar-connections:DeleteConnection codestar-connections:GetConnection codestar-connections:ListConnections codestar-connections:UseConnection codestar-connections:ListInstallationTargets codestar-connections:GetInstallationUrl codestar-connections:StartOAuthHandshake codestar-connections:UpdateConnectionInstallation codestar-connections:GetIndividualAccessToken codestar-connections:RegisterAppCode codestar-connections:StartAppRegistrationHandshake

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar diperlukan izin untuk menyelesaikan pengaturan host
Tindakan Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

RegisterAppCode

codestar-connections:RegisterAppCode

Diperlukan untuk menggunakan konsol untuk menyelesaikan pengaturan host. Ini adalah izin kebijakan IAM saja, bukan tindakan API.

arn:aws:codestar-connections:region:account-id:host/host-id

StartAppRegistrationHandshake

codestar-connections:StartAppRegistrationHandshake

Diperlukan untuk menggunakan konsol untuk menyelesaikan pengaturan host. Ini adalah izin kebijakan IAM saja, bukan tindakan API.

arn:aws:codestar-connections:region:account-id:host/host-id

Operasi ini mendukung kunci kondisi berikut.

Melewati koneksi ke layanan

Ketika koneksi dilewatkan ke layanan (misalnya, ketika ARN koneksi disediakan dalam definisi alur untuk membuat atau memperbarui alur) pengguna harus memiliki izin codestar-connections:PassConnection.

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar diperlukan izin untuk melewati koneksi
Tindakan Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

PassConnection

codestar-connections:PassConnection

Diperlukan untuk meneruskan koneksi ke layanan.

arn:aws:codestar-connections:region:account-id:connection/connection-id

Operasi ini juga mendukung kunci kondisi berikut:

  • codestar-connections:PassedToService

Nilai yang didukung untuk kunci kondisi
Kunci Penyedia tindakan yang valid

codestar-connections:PassedToService

  • codeguru-reviewer

  • codepipeline.amazonaws.com

  • proton.amazonaws.com

Menggunakan koneksi

Ketika layanan seperti CodePipeline menggunakan koneksi, peran layanan harus memiliki izin codestar-connections:UseConnection untuk koneksi yang diberikan.

Untuk mengelola koneksi di konsol, kebijakan pengguna harus memiliki izin codestar-connections:UseConnection.

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar diperlukan tindakan untuk menggunakan koneksi
Tindakan Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

UseConnection

codestar-connections:UseConnection

Diperlukan untuk menggunakan koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

Operasi ini juga mendukung kunci syarat berikut:

  • codestar-connections:BranchName

  • codestar-connections:FullRepositoryId

  • codestar-connections:OwnerId

  • codestar-connections:ProviderAction

  • codestar-connections:ProviderPermissionsRequired

  • codestar-connections:RepositoryName

Nilai yang didukung untuk kunci kondisi
Kunci Penyedia tindakan yang valid

codestar-connections:FullRepositoryId

Nama pengguna dan nama repositori dari repositori Bitbucket, seperti my-owner/my-repository. Didukung hanya bila koneksi sedang digunakan untuk mengakses repositori tertentu.

codestar-connections:ProviderPermissionsRequired

read_only atau read_write

codestar-connections:ProviderAction

GetBranch, ListRepositories, ListOwners, ListBranches, StartUploadArchiveToS3, GitPush, GitPull, GetUploadArchiveToS3Status, CreatePullRequestDiffComment, GetPullRequest, ListBranchCommits, ListCommitFiles, ListPullRequestComments, ListPullRequestCommits.

Untuk informasi, lihat bagian selanjutnya.

Kunci syarat yang diperlukan untuk beberapa fungsionalitas mungkin berubah dari waktu ke waktu. Kami menyarankan agar Anda menggunakan codestar-connections:UseConnection untuk mengontrol akses ke koneksi kecuali persyaratan kontrol akses Anda memerlukan izin yang berbeda.

Jenis akses yang didukung untuk ProviderAction

Ketika koneksi digunakan oleh layanan AWS, itu menghasilkan panggilan API yang dibuat untuk penyedia kode sumber Anda. Sebagai contoh, layanan mungkin mencantumkan repositori untuk koneksi Bitbucket dengan memanggil API https://api.bitbucket.org/2.0/repositories/username.

Kunci syarat ProviderAction memungkinkan Anda untuk membatasi API mana pada penyedia dapat dipanggil. Karena jalur API mungkin dihasilkan secara dinamis, dan jalur bervariasi dari penyedia ke penyedia, nilai ProviderAction dipetakan ke nama tindakan abstrak bukan URL API. Hal ini memungkinkan Anda untuk menulis kebijakan yang memiliki efek yang sama terlepas dari jenis penyedia untuk koneksi.

Berikut ini adalah jenis akses yang diberikan untuk masing-masing nilai ProviderAction yang didukung. Berikut ini adalah izin kebijakan IAM. Mereka bukan tindakan API.

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar mendukung jenis akses untuk ProviderAction
Izin Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

GetBranch

codestar-connections:GetBranch

Diperlukan untuk mengakses informasi tentang cabang, seperti komit terbaru untuk cabang tersebut.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListRepositories

codestar-connections:ListRepositories

Diperlukan untuk mengakses daftar repositori publik dan privat, termasuk detail tentang repositori tersebut, yang menjadi milik pemilik.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListOwners

codestar-connections:ListOwners

Diperlukan untuk mengakses daftar pemilik yang memiliki akses ke koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListBranches

codestar-connections:ListBranches

Diperlukan untuk mengakses daftar cabang yang ada pada repositori yang diberikan.

arn:aws:codestar-connections:region:account-id:connection/connection-id

StartUploadArchiveToS3

codestar-connections:StartUploadArchiveToS3

Diperlukan untuk membaca kode sumber dan mengunggahnya ke Amazon S3.

arn:aws:codestar-connections:region:account-id:connection/connection-id

GitPush

codestar-connections:GitPush

Diperlukan untuk menulis ke repositori menggunakan Git.

arn:aws:codestar-connections:region:account-id:connection/connection-id

GitPull

codestar-connections:GitPull

Diperlukan untuk membaca dari repositori menggunakan Git.

arn:aws:codestar-connections:region:account-id:connection/connection-id

GetUploadArchiveToS3Status

codestar-connections:GetUploadArchiveToS3Status

Diperlukan untuk mengakses status pengunggahan, termasuk pesan kesalahan, yang dimulai dengan StartUploadArchiveToS3.

arn:aws:codestar-connections:region:account-id:connection/connection-id

CreatePullRequestDiffComment

codestar-connections:CreatePullRequestDiffComment

Diperlukan untuk mengakses komentar pada permintaan tarik.

arn:aws:codestar-connections:region:account-id:connection/connection-id

GetPullRequest

codestar-connections:GetPullRequest

Diperlukan untuk melihat permintaan tarik untuk repositori.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListBranchCommits

codestar-connections:ListBranchCommits

Diperlukan untuk melihat daftar komit untuk cabang repositori.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListCommitFiles

codestar-connections:ListCommitFiles

Diperlukan untuk melihat daftar file untuk komit.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListPullRequestComments

codestar-connections:ListPullRequestComments

Diperlukan untuk melihat daftar komentar untuk permintaan tarik.

arn:aws:codestar-connections:region:account-id:connection/connection-id

ListPullRequestCommits

codestar-connections:ListPullRequestCommits

Diperlukan untuk melihat daftar komit untuk permintaan tarik.

arn:aws:codestar-connections:region:account-id:connection/connection-id

Izin yang didukung untuk menandai sumber daya koneksi

Operasi IAM berikut digunakan ketika penandaan sumber daya koneksi.

codestar-connections:ListTagsForResource codestar-connections:TagResource codestar-connections:UntagResource

Gunakan bilah gulir untuk melihat seluruh tabel.

Koneksi AWS CodeStar diperlukan tindakan untuk penandaan sumber daya koneksi
Tindakan Koneksi AWS CodeStar Izin yang diperlukan Sumber daya

ListTagsForResource

codestar-connections:ListTagsForResource

Diperlukan untuk melihat daftar tanda yang terkait dengan sumber daya koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

,

arn:aws:codestar-connections:region:account-id:host/host-id

TagResource

codestar-connections:TagResource

Diperlukan untuk menandai sumber daya koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

,

arn:aws:codestar-connections:region:account-id:host/host-id

UntagResource

codestar-connections:UntagResource

Diperlukan untuk menghapus tanda dari sumber daya koneksi.

arn:aws:codestar-connections:region:account-id:connection/connection-id

,

arn:aws:codestar-connections:region:account-id:host/host-id

Praktik terbaik kebijakan

Kebijakan berbasis identitas sangatlah kuat. Kebijakan ini menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Notifikasi CodeStar AWS dan Koneksi CodeStar AWS di akun Anda. Tindakan ini dapat menimbulkan biaya untuk Akun AWS Anda. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:

  • Mulai menggunakan kebijakan terkelola AWS – Untuk mulai menggunakan Notifikasi CodeStar AWS dan Koneksi CodeStar AWS dengan cepat, gunakan kebijakan yang dikelola AWS untuk memberi karyawan Anda izin yang mereka butuhkan. Kebijakan ini sudah tersedia di akun Anda dan dikelola serta diperbarui oleh AWS. Untuk informasi lebih lanjut, lihat Mulai menggunakan izin dengan kebijakan yang dikelola AWS dalam Panduan Pengguna IAM.

  • Berikan hak akses terkecil – Saat Anda membuat kebijakan kustom, hanya berikan izin yang diperlukan untuk melaksanakan tugas. Mulai dengan seperangkat izin minimum dan berikan izin tambahan sesuai kebutuhan. Melakukan hal tersebut lebih aman daripada memulai dengan izin yang terlalu longgar, lalu mencoba memperketatnya nanti. Untuk informasi lebih lanjut, lihat Memberikan hak akses minimal dalam Panduan Pengguna IAM.

  • Aktifkan MFA untuk operasi yang sensitif – Untuk keamanan ekstra, mintalah pengguna IAM untuk menggunakan autentikasi multifaktor (MFA) untuk mengakses sumber daya atau operasi API yang sensitif. Untuk informasi selengkapnya, lihat Menggunakan autentikasi multi-faktor (MFA) di AWS dalam Panduan Pengguna IAM.

  • Gunakan kondisi kebijakan untuk keamanan tambahan – Sejauh memungkinkan, tentukan kondisi saat kebijakan berbasis identitas Anda mengizinkan akses ke sumber daya. Misalnya, Anda dapat menulis ketentuan untuk menentukan berbagai alamat IP yang diperbolehkan yang harus berasal dari permintaan. Anda juga dapat menulis ketentuan untuk mengizinkan permintaan hanya dalam rentang tanggal atau waktu tertentu, atau untuk mengharuskan penggunaan SSL atau MFA. Untuk informasi selengkpanya, lihat Elemen kebijakan IAM JSON: Ketentuan dalam Panduan Pengguna IAM.

Menggunakan notifikasi dan koneksi di konsol

Pengalaman notifikasi dibangun ke konsol CodeBuild, CodeCommit, CodeDeploy, dan CodePipeline, serta konsol Alat Developer di bilah navigasi Pengaturan itu sendiri. Untuk mengakses notifikasi di konsol, Anda harus memiliki salah satu kebijakan terkelola untuk layanan tersebut diterapkan, atau Anda harus memiliki seperangkat izin minimum. Izin ini harus memperbolehkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Notifikasi CodeStar AWS dan Koneksi CodeStar AWS di akun AWS Anda. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat dari izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksudkan untuk entitas (pengguna IAM atau IAM role) dengan kebijakan tersebut. Untuk informasi lebih lanjut tentang pemberian akses ke AWS CodeBuild, AWS CodeCommit, AWS CodeDeploy, dan AWS CodePipeline, termasuk akses ke konsol tersebut, lihat topik berikut:

Notifikasi AWS CodeStar tidak memiliki kebijakan terkelola AWS apa pun. Untuk menyediakan akses ke fungsionalitas notifikasi, Anda harus menerapkan salah satu kebijakan terkelola untuk salah satu layanan yang terdaftar sebelumnya, atau Anda harus membuat kebijakan dengan tingkat izin yang ingin Anda berikan kepada pengguna atau entitas, dan kemudian melampirkan kebijakan tersebut ke pengguna, grup, atau peran yang memerlukan izin tersebut. Untuk informasi selengkapnya dan contoh, lihat berikut ini:

Koneksi CodeStar AWS tidak memiliki kebijakan terkelola AWS apa pun. Anda menggunakan izin dan kombinasi izin untuk akses, seperti izin yang dijelaskan dalam Izin untuk menyelesaikan koneksi.

Untuk informasi lebih lanjut, lihat hal berikut:

Anda tidak perlu mengizinkan konsol untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau API AWS. Alih-alih, izinkan akses hanya ke tindakan yang sesuai dengan operasi API yang Anda coba lakukan.

Izinkan pengguna untuk melihat izin mereka sendiri

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan yang memungkinkan pengguna IAM melihat kebijakan inline dan kebijakan terkelola yang terlampir pada identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini pada konsol atau secara terprogram menggunakan AWS CLI atau API AWS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }