Kontrol autentikasi dan akses untuk AWS CodeCommit - AWS CodeCommit

AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari lebih lanjut”

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

Kontrol autentikasi dan akses untuk AWS CodeCommit

Akses ke AWS CodeCommit membutuhkan kredensi. Kredensial tersebut harus memiliki izin untuk mengakses AWS sumber daya, seperti CodeCommit repositori, dan pengguna IAM Anda, yang Anda gunakan untuk mengelola kredensi Git Anda atau kunci publik SSH yang Anda gunakan untuk membuat koneksi Git. Bagian berikut memberikan rincian tentang bagaimana Anda dapat menggunakan AWS Identity and Access Management (IAM) dan CodeCommit untuk membantu mengamankan akses ke sumber daya Anda:

Autentikasi

Karena CodeCommit repositori berbasis Git dan mendukung fungsionalitas dasar Git, termasuk kredensi Git, kami menyarankan Anda menggunakan pengguna IAM saat bekerja dengannya. CodeCommit Anda dapat mengakses CodeCommit dengan tipe identitas lain, tetapi jenis identitas lainnya tunduk pada batasan, seperti yang dijelaskan di bawah ini.

Jenis identitas:

  • Pengguna IAMPengguna IAM adalah identitas dalam akun Amazon Web Services Anda yang memiliki izin khusus tertentu. Misalnya, pengguna IAM dapat memiliki izin untuk membuat dan mengelola kredensi Git untuk mengakses repositori. CodeCommit Ini adalah tipe pengguna yang disarankan untuk bekerja dengan CodeCommit. Anda dapat menggunakan nama pengguna dan kata sandi IAM untuk masuk untuk mengamankan AWS halaman web seperti, Forum AWS Diskusi AWS Management Console, atau Pusat.AWS Support

    Anda dapat menghasilkan kredensial Git atau mengaitkan kunci publik SSH dengan pengguna IAM Anda, atau Anda dapat menginstal dan mengkonfigurasi git-remote-codecommit. Ini adalah cara termudah untuk mengatur Git agar berfungsi dengan CodeCommit repositori Anda. Dengan Kredenensi Git, Anda menghasilkan nama pengguna statis dan kata sandi di IAM. Anda kemudian menggunakan kredensial ini untuk koneksi HTTPS dengan Git dan alat pihak ketiga yang mendukung otentikasi nama pengguna dan kata sandi Git. Dengan koneksi SSH, Anda membuat file kunci publik dan pribadi di mesin lokal Anda yang Git dan CodeCommit gunakan untuk otentikasi SSH. Anda mengaitkan kunci publik dengan pengguna IAM Anda, dan Anda menyimpan kunci privat di mesin lokal Anda. git-remote-codecommit meluaskan Git itu sendiri, dan tidak memerlukan menyiapkan kredensial Git untuk pengguna.

    Selain itu, Anda juga dapat membuat access key untuk setiap pengguna. Gunakan kunci akses saat Anda mengakses AWS layanan secara terprogram, baik melalui salah satu AWS SDK atau dengan menggunakan ().AWS Command Line InterfaceAWS CLI Alat SDK dan CLI menggunakan access key untuk menandatangani permintaan Anda secara kriptografis. Jika Anda tidak menggunakan AWS alat, Anda harus menandatangani permintaan sendiri. CodeCommit mendukung Signature Version 4, protokol untuk mengautentikasi permintaan API masuk. Untuk informasi selengkapnya tentang melakukan autentikasi permintaan, lihat Proses Penandatanganan Tanda Tangan Versi 4 dalam Referensi Umum AWS.

  • Pengguna root akun Amazon Web Services — Saat mendaftar AWS, Anda memberikan alamat email dan kata sandi yang terkait dengan akun Amazon Web Services Anda. Ini adalah kredensial root Anda, dan memberikan akses penuh ke semua sumber daya AWS Anda. Beberapa CodeCommit fitur tidak tersedia untuk pengguna akun root. Selain itu, satu-satunya cara untuk menggunakan Git dengan akun root Anda adalah dengan menginstal dan mengkonfigurasi git-remote-codecommit (disarankan) atau untuk mengkonfigurasi pembantu AWS kredenal, yang disertakan dengan file. AWS CLI Anda tidak dapat menggunakan kredensial Git atau SSH pasangan kunci publik-privat dengan pengguna akun root Anda. Untuk alasan ini, kami tidak menyarankan menggunakan pengguna akun root Anda saat berinteraksi dengan CodeCommit.

    penting

    Demi alasan keamanan, kami menyarankan Anda menggunakan kredensial root hanya untuk membuat pengguna administrator, yang merupakan pengguna IAM dengan izin penuh ke akun AWS Anda. Kemudian, Anda dapat menggunakan administrator ini untuk membuat pengguna IAM lainnya dan peran dengan izin terbatas. Untuk informasi selengkapnya, lihat Praktik Terbaik IAM dan Membuat Pengguna Admin dan Grup dalam Panduan Pengguna IAM.

  • IAM Identity Center dan pengguna di IAM Identity Center — AWS IAM Identity Center memperluas kemampuan AWS Identity and Access Management untuk menyediakan tempat sentral yang menyatukan administrasi pengguna dan akses mereka ke Akun AWS dan aplikasi cloud. Meskipun direkomendasikan sebagai praktik terbaik bagi sebagian besar pengguna yang bekerja dengan AWS, IAM Identity Center saat ini tidak menyediakan mekanisme untuk kredensi Git atau pasangan kunci SSH. Pengguna ini dapat menginstal dan mengonfigurasi git-remote-codecommit untuk mengkloning CodeCommit repositori secara lokal, tetapi tidak semua lingkungan pengembangan terintegrasi (IDE) mendukung kloning, mendorong, atau menarik. git-remote-codecommit

    Sebagai praktik terbaik, mewajibkan pengguna manusia, termasuk pengguna yang memerlukan akses administrator, untuk menggunakan federasi dengan penyedia identitas untuk mengakses Layanan AWS dengan menggunakan kredensi sementara.

    Identitas federasi adalah pengguna dari direktori pengguna perusahaan Anda, penyedia identitas web, direktori Pusat Identitas AWS Directory Service, atau pengguna mana pun yang mengakses Layanan AWS dengan menggunakan kredensi yang disediakan melalui sumber identitas. Ketika identitas federasi mengakses Akun AWS, mereka mengambil peran, dan peran memberikan kredensi sementara.

    Untuk manajemen akses terpusat, kami sarankan Anda menggunakan AWS IAM Identity Center. Anda dapat membuat pengguna dan grup di Pusat Identitas IAM, atau Anda dapat menghubungkan dan menyinkronkan ke sekumpulan pengguna dan grup di sumber identitas Anda sendiri untuk digunakan di semua aplikasi Akun AWS dan aplikasi Anda. Untuk informasi tentang Pusat Identitas IAM, lihat Apakah itu Pusat Identitas IAM? dalam Panduan Pengguna AWS IAM Identity Center .

  • IAM role — Seperti pengguna IAM, sebuah IAM role adalah identitas IAM yang dapat Anda buat di akun Anda untuk memberikan izin spesifik.

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

    Peran IAM dengan kredensial sementara berguna dalam situasi berikut:

    • Akses pengguna terfederasi – Untuk menetapkan izin ke identitas terfederasi, Anda membuat peran dan menentukan izin untuk peran tersebut. Ketika identitas terfederasi mengautentikasi, identitas tersebut terhubung dengan peran dan diberi izin yang ditentukan oleh peran. Untuk informasi tentang peran untuk federasi, lihat Membuat peran untuk Penyedia Identitas pihak ketiga dalam Panduan Pengguna IAM. Jika menggunakan Pusat Identitas IAM, Anda harus mengonfigurasi set izin. Untuk mengontrol apa yang dapat diakses identitas Anda setelah identitas tersebut diautentikasi, Pusat Identitas IAM akan mengorelasikan set izin ke peran dalam IAM. Untuk informasi tentang set izin, lihat Set izin dalam Panduan Pengguna AWS IAM Identity Center .

    • Izin pengguna IAM sementara – Pengguna atau peran IAM dapat mengambil peran IAM guna mendapatkan berbagai izin secara sementara untuk tugas tertentu.

    • Akses lintas akun – Anda dapat menggunakan peran IAM untuk mengizinkan seseorang (prinsipal tepercaya) di akun lain untuk mengakses sumber daya di akun Anda. Peran adalah cara utama untuk memberikan akses lintas akun. Namun, dengan beberapa Layanan AWS, Anda dapat melampirkan kebijakan secara langsung ke sumber daya (alih-alih menggunakan peran sebagai proxy). Untuk mempelajari perbedaan antara peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat Akses sumber daya lintas akun di IAM di Panduan Pengguna IAM.

    • Akses lintas layanan — Beberapa Layanan AWS menggunakan fitur lain Layanan AWS. Sebagai contoh, ketika Anda memanggil suatu layanan, biasanya layanan tersebut menjalankan aplikasi di Amazon EC2 atau menyimpan objek di Amazon S3. Sebuah layanan mungkin melakukannya menggunakan izin prinsipal yang memanggil, menggunakan peran layanan, atau peran terkait layanan.

      • Sesi akses teruskan (FAS) — Saat Anda menggunakan pengguna atau peran IAM untuk melakukan tindakan AWS, Anda dianggap sebagai prinsipal. Ketika Anda menggunakan beberapa layanan, Anda mungkin melakukan sebuah tindakan yang kemudian menginisiasi tindakan lain di layanan yang berbeda. FAS menggunakan izin dari pemanggilan utama Layanan AWS, dikombinasikan dengan permintaan Layanan AWS untuk membuat permintaan ke layanan hilir. Permintaan FAS hanya dibuat ketika layanan menerima permintaan yang memerlukan interaksi dengan orang lain Layanan AWS atau sumber daya untuk menyelesaikannya. Dalam hal ini, Anda harus memiliki izin untuk melakukan kedua tindakan tersebut. Untuk detail kebijakan ketika mengajukan permintaan FAS, lihat Sesi akses maju.

      • Peran layanan – Peran layanan adalah peran IAM yang dijalankan oleh layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, mengubah, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat Membuat sebuah peran untuk mendelegasikan izin ke Layanan AWS dalam Panduan pengguna IAM.

      • Peran terkait layanan — Peran terkait layanan adalah jenis peran layanan yang ditautkan ke. Layanan AWS Layanan tersebut dapat menjalankan peran untuk melakukan tindakan atas nama Anda. Peran terkait layanan muncul di Anda Akun AWS dan dimiliki oleh layanan. Administrator IAM dapat melihat, tetapi tidak dapat mengedit izin untuk peran terkait layanan.

    • Aplikasi yang berjalan di Amazon EC2 — Anda dapat menggunakan peran IAM untuk mengelola kredensi sementara untuk aplikasi yang berjalan pada instans EC2 dan membuat atau permintaan API. AWS CLI AWS Cara ini lebih dianjurkan daripada menyimpan kunci akses dalam instans EC2. Untuk menetapkan AWS peran ke instans EC2 dan membuatnya tersedia untuk semua aplikasinya, Anda membuat profil instance yang dilampirkan ke instance. Profil instans berisi peran dan memungkinkan program yang berjalan di instans EC2 mendapatkan kredensial sementara. Untuk informasi selengkapnya, lihat Menggunakan peran IAM untuk memberikan izin ke aplikasi yang berjalan dalam instans Amazon EC2 dalam Panduan Pengguna IAM.

    Untuk mempelajari apakah kita harus menggunakan peran IAM atau pengguna IAM, lihat Kapan harus membuat peran IAM (bukan pengguna) dalam Panduan Pengguna IAM.

    catatan

    Anda tidak dapat menggunakan kredensial Git atau SSH pasangan kunci publik-privat dengan pengguna gabungan. Selain itu, preferensi pengguna tidak tersedia untuk pengguna gabungan. Untuk informasi tentang cara menyiapkan koneksi menggunakan akses gabungan , lihat Langkah-langkah penyiapan untuk koneksi HTTPS keAWS CodeCommitbersamagit-remote-codecommit.

Kontrol akses

Anda dapat memiliki kredensi yang valid untuk mengautentikasi permintaan Anda, tetapi kecuali Anda memiliki izin, Anda tidak dapat membuat atau mengakses sumber daya. CodeCommit Misalnya, Anda harus memiliki izin untuk melihat repositori, kode dorongan, membuat dan mengelola kredensials Git, dan sebagainya.

Bagian berikut menjelaskan cara mengelola izin untuk CodeCommit. Anda sebaiknya membaca gambaran umum terlebih dahulu.

Ikhtisar mengelola izin akses ke sumber daya Anda CodeCommit

Setiap AWS sumber daya dimiliki oleh akun Amazon Web Services. Izin untuk membuat, dan mengakses sumber daya diatur oleh kebijakan izin. Administrator akun dapat melampirkan kebijakan izin pada identitas IAM (yaitu pengguna, grup, dan peran). Beberapa layanan, seperti AWS Lambda, juga mendukung melampirkan kebijakan izin ke sumber daya.

catatan

Administrator akun (atau pengguna administrator) adalah pengguna dengan hak akses administrator. Untuk informasi selengkapnya, lihat Praktik Terbaik IAM dalam Panduan Pengguna IAM.

Ketika memberikan izin, Anda memutuskan orang yang mendapatkan izin, sumber daya yang mereka dapatkan izinnya, dan tindakan khusus yang ingin Anda izinkan di sumber daya tersebut.

CodeCommit sumber daya dan operasi

Di CodeCommit, sumber daya utama adalah repositori. Setiap sumber daya ini memiliki Amazon Resource Name (ARN) yang unik yang dikaitkan dengannya. Dalam kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang mengikuti kebijakan tersebut. Untuk informasi selengkapnya tentang ARN, lihat Nama Sumber Daya Amazon (ARN) AWS dan Ruang Nama Layanan di. Referensi Umum Amazon Web Services CodeCommit saat ini tidak mendukung jenis sumber daya lain, yang disebut sebagai subsumber daya.

Tabel berikut menjelaskan cara menentukan CodeCommit sumber daya.

Jenis Sumber Daya Format ARN
Repositori

arn:aws:codecommit:wilayah:account-id:Repositori nama

Semua CodeCommit repositori

arn:aws:codecommit:*

Semua CodeCommit repositori yang dimiliki oleh akun yang ditentukan dalam yang ditentukan Wilayah AWS

arn:aws:codecommit:wilayah:account-id:*

catatan

Sebagian besar AWS layanan memperlakukan titik dua (:) atau garis miring (/) di ARN sebagai karakter yang sama. Namun, CodeCommit membutuhkan kecocokan yang tepat dalam pola dan aturan sumber daya. Saat membuat pola peristiwa, pastikan untuk menggunakan karakter ARN yang benar sehingga cocok dengan ARN sintaks di sumber daya.

Misalnya, Anda dapat menunjukkan repositori tertentu (MyDemoRepo) dalam pernyataan Anda menggunakan ARN sebagai berikut:

"Resource": "arn:aws:codecommit:us-west-2:111111111111:MyDemoRepo"

Untuk menentukan semua repositori milik akun tertentu, gunakan karakter wildcard (*) sebagai berikut:

"Resource": "arn:aws:codecommit:us-west-2:111111111111:*"

Untuk menentukan semua sumber daya, atau tindakan API tertentu yang tidak mendukung ARN, gunakan karakter wildcard (*) dalam elemen Resource seperti berikut ini:

"Resource": "*"

Anda juga dapat menggunakan karakter wildcard (*) untuk menentukan semua sumber daya yang cocok dengan bagian dari nama repositori. Misalnya, ARN berikut menentukan CodeCommit repositori apa pun yang dimulai dengan nama MyDemo dan yang terdaftar ke akun Amazon Web Services di: 111111111111 us-east-2 Wilayah AWS

arn:aws:codecommit:us-east-2:111111111111:MyDemo*

Untuk daftar operasi yang tersedia yang bekerja dengan CodeCommit sumber daya, lihatReferensi izin CodeCommit.

Memahami kepemilikan sumber daya

Akun Amazon Web Services memiliki sumber daya yang dibuat dalam akun, terlepas dari orang yang membuat sumber daya tersebut. Secara khusus, pemilik sumber daya adalah akun Amazon Web Services dari entitas utama (yaitu, akun root, pengguna IAM, atau IAM role) yang mengautentikasi permintaan pembuatan sumber daya. Contoh berikut menggambarkan cara kerjanya:

  • Jika Anda membuat pengguna IAM di akun Amazon Web Services dan memberikan izin untuk membuat CodeCommit sumber daya kepada pengguna tersebut, pengguna dapat membuat CodeCommit sumber daya. Namun, akun Amazon Web Services Anda, yang menjadi milik pengguna, memiliki CodeCommit sumber daya.

  • Jika Anda menggunakan kredensi akun root dari akun Amazon Web Services Anda untuk membuat aturan, akun Amazon Web Services Anda adalah pemilik sumber daya. CodeCommit

  • Jika Anda membuat peran IAM di akun Amazon Web Services dengan izin untuk membuat CodeCommit sumber daya, siapa pun yang dapat mengambil peran tersebut dapat membuat CodeCommit sumber daya. Akun Amazon Web Services Anda, tempat peran tersebut berada, memiliki CodeCommit sumber daya.

Mengelola akses ke sumber daya

Untuk mengelola akses ke AWS sumber daya, Anda menggunakan kebijakan izin. Kebijakan izin menjelaskan siapa yang memiliki akses ke suatu objek. Bagian berikut menjelaskan pilihan yang tersedia untuk membuat kebijakan izin.

catatan

Bagian ini membahas penggunaan IAM dalam konteks. CodeCommit Bagian ini tidak memberikan informasi yang mendetail tentang layanan IAM. Untuk informasi selengkapnya tentang IAM, lihat Apa itu IAM? dalam Panduan Pengguna IAM. Untuk informasi tentang sintaksis dan deskripsi kebijakan IAM, lihat Referensi Kebijakan IAM dalam Panduan Pengguna IAM.

Kebijakan yang terlampir pada identitas IAM disebut sebagai kebijakan berbasis identitas (kebijakan IAM). Kebijakan izin yang terlampir pada sumber daya disebut sebagai kebijakan berbasis sumber daya. Saat ini, hanya CodeCommit mendukung kebijakan berbasis identitas (kebijakan IAM).

Kebijakan berbasis identitas (kebijakan IAM)

Untuk mengelola akses ke AWS sumber daya, Anda melampirkan kebijakan izin ke identitas IAM. Di CodeCommit, Anda menggunakan kebijakan berbasis identitas untuk mengontrol akses ke repositori. Misalnya, Anda dapat melakukan hal berikut:

  • Lampirkan kebijakan izin ke pengguna atau grup di akun Anda — Untuk memberikan izin pengguna untuk melihat CodeCommit sumber daya di CodeCommit konsol, lampirkan kebijakan izin berbasis identitas ke pengguna atau grup tempat pengguna tersebut berada.

  • Lampirkan kebijakan izin untuk peran (untuk memberikan izin lintas akun) - Delegasi, seperti ketika Anda ingin memberikan akses lintas akun, melibatkan pengaturan kepercayaan antara akun yang memiliki sumber daya (rekening terpercaya), dan akun yang berisi pengguna yang perlu mengakses sumber daya (rekening terpercaya). Kebijakan izin memberikan izin yang diperlukan pengguna suatu peran untuk melaksanakan tugas yang diinginkan pada sumber daya. Kebijakan kepercayaan menentukan akun terpercaya mana yang diizinkan untuk memberikan izin kepada pengguna untuk menjalankan peran tersebut. Untuk informasi selengkapnya, lihat Syarat dan Konsep IAM.

    Untuk memberikan izin lintas-akun, lampirkan kebijakan izin berbasis identitas ke IAM role. Misalnya, administrator di Akun A dapat membuat peran untuk memberikan izin lintas akun ke akun Amazon Web Services lainnya (misalnya, Akun B) atau AWS layanan sebagai berikut:

    1. Administrator akun A membuat peran IAM dan melampirkan kebijakan izin ke peran ini yang memberikan izin pada sumber daya di akun A.

    2. Administrator akun A melampirkan kebijakan kepercayaan ke peran yang mengidentifikasi Akun B sebagai prinsipal yang dapat mengambil peran tersebut.

    3. Administrator Akun B kemudian dapat mendelegasikan izin untuk mengambil peran kepada setiap pengguna di Akun B. Melakukan hal ini memungkinkan pengguna di Akun B untuk membuat atau mengakses sumber daya di Akun A. Jika Anda ingin memberikan izin AWS layanan untuk mengambil peran tersebut, prinsipal dalam kebijakan kepercayaan juga dapat menjadi prinsipal AWS layanan. Untuk informasi selengkapnya, lihat Delegasi dalam Syarat dan Konsep IAM.

    Untuk informasi selengkapnya tentang penggunaan IAM untuk mendelegasikan izin, lihat Manajemen Akses dalam Panduan Pengguna IAM.

Contoh kebijakan berikut memungkinkan pengguna untuk membuat cabang dalam repositori bernama: MyDemoRepo

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codecommit:CreateBranch" ], "Resource" : "arn:aws:codecommit:us-east-2:111111111111:MyDemoRepo" } ] }

Untuk membatasi panggilan dan sumber daya yang dapat diakses oleh pengguna di akun Anda, buat kebijakan IAM tertentu, lalu lampirkan kebijakan tersebut ke pengguna IAM. Untuk informasi selengkapnya tentang cara membuat peran IAM dan untuk menjelajahi contoh pernyataan kebijakan IAM CodeCommit, lihat. Contoh kebijakan identitas yang dikelola pelanggan

Kebijakan berbasis sumber daya

Layanan lain, seperti Amazon S3, juga men-support kebijakan izin berbasis sumber daya. Misalnya, Anda dapat melampirkan kebijakan berbasis sumber daya ke bucket S3 untuk mengelola izin akses ke bucket tersebut. CodeCommit tidak mendukung kebijakan berbasis sumber daya, tetapi Anda dapat menggunakan tag untuk mengidentifikasi sumber daya, yang kemudian dapat Anda gunakan dalam kebijakan IAM. Untuk contoh kebijakan berbasis tag, lihat Kebijakan berbasis identitas (kebijakan IAM).

Pelingkupan sumber daya di CodeCommit

Di CodeCommit, Anda dapat membuat cakupan kebijakan dan izin berbasis identitas ke sumber daya, seperti yang dijelaskan dalam. CodeCommit sumber daya dan operasi Namun, Anda tidak dapat membuat cakupan izin ListRepositories ke sumber daya. Alih-alih, Anda harus membuat cakupan untuk semua sumber daya (menggunakan * wildcard). Jika tidak, tindakan tersebut akan gagal.

Semua CodeCommit izin lainnya dapat dicakup ke sumber daya.

Menentukan elemen kebijakan: sumber daya, tindakan, efek, dan prinsipal

Anda dapat membuat kebijakan untuk mengizinkan atau menolak akses pengguna ke sumber daya, atau mengizinkan atau menolak pengguna untuk mengambil tindakan spesifik pada sumber daya tersebut. CodeCommit mendefinisikan satu set operasi API publik yang menentukan cara pengguna bekerja dengan layanan, apakah itu melalui CodeCommit konsol, SDK AWS CLI, atau dengan langsung memanggil API tersebut. Untuk memberikan izin untuk operasi API ini, CodeCommit tentukan serangkaian tindakan yang dapat Anda tentukan dalam kebijakan.

Sebagian operasi API dapat mensyaratkan izin untuk lebih dari satu tindakan. Untuk informasi selengkapnya tentang sumber daya dan operasi API, lihat CodeCommit sumber daya dan operasi dan Referensi izin CodeCommit.

Berikut ini adalah elemen kebijakan dasar:

  • Sumber daya – Untuk mengidentifikasi sumber daya yang menerapkan kebijakan, Anda menggunakan Amazon Resource Name (ARN). Untuk informasi selengkapnya, lihat CodeCommit sumber daya dan operasi.

  • Tindakan – Untuk mengidentifikasi operasi sumber daya yang ingin Anda izinkan atau tolak, Anda menggunakan kata kunci tindakan. Misalnya, tergantung pada yang ditentukanEffect, codecommit:GetBranch izin mengizinkan atau menolak pengguna untuk melakukan GetBranch operasi, yang mendapatkan detail tentang cabang di CodeCommit repositori.

  • Pengaruh – Anda menetapkan pengaruh, baik mengizinkan atau menolak, ketika pengguna meminta tindakan tertentu. Jika Anda tidak secara eksplisit memberikan akses ke (mengizinkan) sumber daya, akses akan ditolak secara implisit. Anda juga dapat secara eksplisit menolak akses ke sumber daya untuk memastikan bahwa pengguna tidak dapat mengaksesnya, meskipun kebijakan yang berbeda memberikan akses.

  • Principal — Dalam kebijakan berbasis identitas (kebijakan IAM), satu-satunya jenis kebijakan yang CodeCommit mendukung, pengguna yang melekat pada kebijakan tersebut adalah prinsipal implisit.

Untuk mempelajari selengkapnya tentang sintaks dan penjelasan kebijakan IAM, lihat Referensi Kebijakan IAM dalam Panduan Pengguna IAM.

Untuk tabel yang menunjukkan semua tindakan CodeCommit API dan sumber daya yang diterapkan, lihatReferensi izin CodeCommit.

Menetapkan ketentuan dalam kebijakan

Saat Anda memberikan izin, Anda menggunakan bahasa kebijakan akses untuk IAM untuk menentukan syarat di mana kebijakan harus diterapkan. Misalnya, Anda mungkin ingin kebijakan diterapkan hanya setelah tanggal tertentu. Untuk informasi selengkapnya tentang menentukan syarat dalam bahasa kebijakan, lihat Syarat dan Tata Bahasa Kebijakan di Panduan Pengguna IAM.

Untuk menyatakan kondisi, Anda menggunakan kunci kondisi standar. Tidak ada kunci kondisi khusus untuk CodeCommit. Namun, ada tombol kondisi AWS-wide yang dapat Anda gunakan sesuai kebutuhan. Untuk daftar lengkap tombol AWS-wide, lihat Kunci yang Tersedia untuk Ketentuan di Panduan Pengguna IAM.