Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh kebijakan yang dikelola pelanggan
Anda dapat membuat kebijakan IAM kustom Anda sendiri untuk mengizinkan izin untuk CodeCommit tindakan dan sumber daya. Anda dapat melampirkan kebijakan-kebijakan kustom ini ke pengguna IAM atau grup yang memerlukan izin-izin tersebut. Anda juga dapat membuat kebijakan IAM kustom Anda sendiri untuk integrasi antara CodeCommit dan AWS layanan lainnya.
Contoh kebijakan identitas yang dikelola pelanggan
Contoh kebijakan IAM berikut memberikan izin untuk berbagai CodeCommit tindakan. Gunakan mereka untuk membatasi CodeCommit akses bagi pengguna dan peran IAM Anda. Kebijakan ini mengontrol kemampuan untuk melakukan tindakan dengan CodeCommit konsol, API, AWS SDK, atau. AWS CLI
catatan
Semua contoh menggunakan wilayah US West (Oregon) (us-west-2) dan berisi ID akun fiktif.
Contoh
-
Contoh 1: Izinkan pengguna untuk melakukan CodeCommit operasi dalam satu Wilayah AWS
-
Contoh 2: Izinkan pengguna menggunakan Git untuk repositori tunggal
-
Contoh 3: Izinkan pengguna terhubung dari rentang alamat IP tertentu untuk mengakses repositori
-
Contoh 5: Tolak atau izinkan tindakan pada repositori dengan tag
Contoh 1: Izinkan pengguna untuk melakukan CodeCommit operasi dalam satu Wilayah AWS
Kebijakan izin berikut menggunakan karakter wildcard ("codecommit:*") untuk mengizinkan pengguna melakukan semua CodeCommit tindakan di Wilayah us-east-2 dan bukan dari yang lain. Wilayah AWS
Contoh 2: Izinkan pengguna menggunakan Git untuk repositori tunggal
Di CodeCommit, izin kebijakan GitPull IAM berlaku untuk setiap perintah klien Git tempat data diambil CodeCommit, termasuk, git fetchgit clone, dan seterusnya. Demikian pula, izin kebijakan GitPush IAM berlaku untuk setiap perintah klien Git tempat data dikirim CodeCommit. Misalnya, jika Izin kebijakan IAM GitPush diatur ke Allow, pengguna dapat mendorong penghapusan cabang menggunakan protokol Git. Dorongan itu tidak terpengaruh oleh izin yang diterapkan ke operasi DeleteBranch untuk pengguna IAM tersebut. Iz DeleteBranch in berlaku untuk tindakan yang dilakukan dengan konsol AWS CLI, SDK, dan API, tetapi tidak protokol Git.
Contoh berikut memungkinkan pengguna yang ditentukan untuk menarik dari, dan mendorong ke, CodeCommit repositori bernamaMyDemoRepo:
Contoh 3: Izinkan pengguna terhubung dari rentang alamat IP tertentu untuk mengakses repositori
Anda dapat membuat kebijakan yang hanya memungkinkan pengguna untuk terhubung ke CodeCommit repositori jika alamat IP mereka berada dalam rentang alamat IP tertentu. Ada dua pendekatan yang sama-sama valid untuk ini. Anda dapat membuat Deny kebijakan yang melarang CodeCommit operasi jika alamat IP untuk pengguna tidak berada dalam blok tertentu, atau Anda dapat membuat Allow kebijakan yang memungkinkan CodeCommit operasi jika alamat IP untuk pengguna berada dalam blok tertentu.
Anda dapat membuat kebijakan Deny yang menolak akses ke semua pengguna yang tidak berada dalam kisaran IP tertentu. Misalnya, Anda dapat melampirkan kebijakan ter AWSCodeCommitPowerUser kelola dan kebijakan yang dikelola pelanggan ke semua pengguna yang memerlukan akses ke repositori Anda. Kebijakan contoh berikut menolak semua CodeCommit izin kepada pengguna yang alamat IP-nya tidak berada dalam blok alamat IP yang ditentukan 203.0.113. 0/16:
Kebijakan contoh berikut memungkinkan pengguna tertentu mengakses CodeCommit repositori yang diberi nama MyDemoRepo dengan izin yang setara dari kebijakan terkel AWSCodeCommitPowerUser ola hanya jika alamat IP mereka berada dalam blok alamat yang ditentukan 203.0.113. 0/16:
Contoh 4: Tolak atau izinkan tindakan di cabang
Anda dapat membuat kebijakan yang menolak izin pengguna untuk tindakan yang Anda tentukan di satu cabang atau lebih. Atau, Anda dapat membuat kebijakan yang mengizinkan tindakan pada satu atau beberapa cabang yang mungkin tidak mereka miliki di cabang repositori lainnya. Anda dapat menggunakan kebijakan ini dengan kebijakan terkelola (yang telah ditetapkan) yang sesuai. Untuk informasi selengkapnya, lihat Batasi dorongan dan penggabungan ke cabang di AWS CodeCommit.
Misalnya, Anda dapat membuat Deny kebijakan yang menolak kemampuan pengguna untuk membuat perubahan pada cabang bernama main, termasuk menghapus cabang tersebut, dalam repositori bernamaMyDemoRepo. Anda dapat menggunakan kebijakan ini dengan kebijakan ter AWSCodeCommitPowerUser kelola. Pengguna dengan dua kebijakan ini diterapkan akan dapat membuat dan menghapus cabang, membuat permintaan tarik, dan semua tindakan lain sebagaimana diizinkan oleh AWSCodeCommitPowerUser, tetapi mereka tidak akan dapat mendorong perubahan ke cabang bernama main, menambah atau mengedit file di cabang utama di CodeCommit konsol, atau menggabungkan cabang atau permintaan tarik ke cabang utama. Karena Deny diterapkan untuk GitPush, Anda harus menyertakan pernyataan Null dalam kebijakan, untuk mengizinkan panggilan GitPush awal untuk dianalisis untuk validitas ketika pengguna membuat dorongan dari repos lokal mereka.
Tip
Jika Anda ingin membuat kebijakan yang berlaku untuk semua cabang yang bernama utama di semua repositori di akun Amazon Web Services Anda, untuk Resource, tentukan tanda bintang ( * ) bukan repositori ARN.
Contoh kebijakan berikut mengizinkan pengguna untuk membuat perubahan pada cabang bernama main di semua repositori di akun Amazon Web Services. Ini tidak mengizinkan perubahan pada cabang lainnya. Anda dapat menggunakan kebijakan ini dengan kebijakan ter AWSCodeCommitReadOnly kelola untuk mengizinkan push otomatis ke repositori di cabang utama. Karena Efeknya adalahAllow, kebijakan contoh ini tidak akan berfungsi dengan kebijakan terkelola seperti AWSCodeCommitPowerUser.
Contoh 5: Tolak atau izinkan tindakan pada repositori dengan tag
Anda dapat membuat kebijakan yang mengizinkan atau menolak tindakan pada repositori berdasarkan AWS tag yang terkait dengan repositori tersebut, lalu menerapkan kebijakan tersebut ke grup IAM yang Anda konfigurasikan untuk mengelola pengguna IAM. Misalnya, Anda dapat membuat kebijakan yang menolak semua CodeCommit tindakan pada repositori apa pun dengan kunci AWS tag Status dan nilai kunci Rahasia, lalu menerapkan kebijakan tersebut ke grup IAM yang Anda buat untuk pengembang umum ()Developers. Anda kemudian perlu memastikan bahwa pengembang yang mengerjakan repositori yang diberi tag tersebut bukan anggota Developers grup umum itu, melainkan termasuk dalam grup IAM berbeda yang tidak menerapkan kebijakan pembatasan () SecretDevelopers.
Contoh berikut menolak semua CodeCommit tindakan pada repositori yang ditandai dengan kunci Status dan nilai kunci Rahasia:
Anda dapat lebih menyempurnakan strategi ini dengan menentukan repositori tertentu, bukan semua repositori, sebagai sumber daya. Anda juga dapat membuat kebijakan yang mengizinkan CodeCommit tindakan pada semua repositori yang tidak diberi tag dengan tag tertentu. Misalnya, kebijakan berikut mengizinkan AWSCodeCommitPowerUser izin yang setara untuk CodeCommit tindakan, kecuali bahwa kebijakan ini hanya mengizinkan CodeCommit tindakan pada repositori yang tidak diberi tag dengan tag yang ditentukan:
catatan
Contoh kebijakan ini hanya mencakup tindakan untuk CodeCommit. Ini tidak termasuk tindakan untuk AWS layanan lain yang disertakan dalam kebijakan ter AWSCodeCommitPowerUser kelola. Untuk informasi selengkapnya, lihat AWS kebijakan yang dikelola: AWSCodeCommitPowerUser.