Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh kebijakan repositori pribadi di Amazon ECR
penting
Contoh kebijakan repositori di halaman ini dimaksudkan untuk diterapkan ke repositori pribadi Amazon ECR. Mereka tidak akan berfungsi dengan baik jika digunakan dengan prinsipal IAM secara langsung kecuali dimodifikasi untuk menentukan repositori Amazon ECR sebagai sumber daya. Untuk informasi selengkapnya tentang pengaturan kebijakan repositori, lihat. Menyetel pernyataan kebijakan repositori pribadi di Amazon ECR
Kebijakan repositori Amazon ECR adalah bagian dari kebijakan IAM yang memiliki lingkup untuk, dan secara khusus digunakan untuk, mengendalikan akses ke repositori Amazon ECR individu. Kebijakan IAM umumnya digunakan untuk menerapkan izin untuk seluruh layanan Amazon ECR tetapi juga dapat digunakan untuk mengontrol akses ke sumber daya tertentu. Untuk informasi selengkapnya, lihat Kebijakan repositori vs kebijakan IAM.
Contoh kebijakan repositori berikut menunjukkan pernyataan izin yang dapat Anda gunakan untuk mengontrol akses ke repositori pribadi Amazon ECR Anda.
penting
Amazon ECR mengharuskan pengguna memiliki izin untuk melakukan panggilan ke API ecr:GetAuthorizationToken
melalui kebijakan IAM sebelum mereka dapat melakukan autentikasi ke registrasi dan mendorong atau menarik citra dari repositori Amazon ECR. Amazon ECR menyediakan beberapa kebijakan IAM terkelola untuk mengontrol akses pengguna pada berbagai tingkat; untuk informasi lebih lanjut, lihat Contoh kebijakan berbasis identitas Amazon Elastic Container Registry.
Contoh: Izinkan satu atau lebih pengguna
Kebijakan repositori berikut memungkinkan satu atau lebih pengguna untuk mendorong dan menarik gambar ke dan dari repositori.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPushPull", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
account-id
:user/push-pull-user-1
", "arn:aws:iam::account-id
:user/push-pull-user-2
" ] }, "Action": [ "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "ecr:CompleteLayerUpload", "ecr:GetDownloadUrlForLayer", "ecr:InitiateLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart" ] } ] }
Contoh: Izinkan akun lain
Kebijakan repositori berikut memungkinkan akun tertentu untuk mendorong citra.
penting
Akun yang Anda berikan izin harus memiliki Wilayah yang Anda beri kebijakan repositori yang diaktifkan, jika tidak, kesalahan akan terjadi.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountPush", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-id
:root" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:CompleteLayerUpload", "ecr:InitiateLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart" ] } ] }
Kebijakan repositori berikut memungkinkan beberapa pengguna untuk menarik gambar (
pull-user-1 dan
) sambil memberikan akses penuh ke yang lain (admin-user).pull-user-2
catatan
Untuk kebijakan repositori yang lebih rumit yang saat ini tidak didukung di AWS Management Console, Anda dapat menerapkan kebijakan dengan perintah. set-repository-policy AWS CLI
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPull", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
account-id
:user/pull-user-1
", "arn:aws:iam::account-id
:user/pull-user-2
" ] }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] }, { "Sid": "AllowAll", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id
:user/admin-user
" }, "Action": [ "ecr:*" ] } ] }
Contoh: Tolak semua
Kebijakan repositori berikut menolak semua pengguna di semua akun untuk menarik citra.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyPull", "Effect": "Deny", "Principal": "*", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }
Contoh: Membatasi akses ke alamat IP tertentu
Contoh berikut menolak izin kepada pengguna mana pun untuk melakukan operasi ECR Amazon apa pun saat diterapkan ke repositori dari rentang alamat tertentu.
Kondisi dalam pernyataan ini mengidentifikasi 54.240.143.*
kisaran alamat IP Internet Protocol versi 4 (IPv4) yang diizinkan.
Condition
Blok menggunakan NotIpAddress
kondisi dan kunci aws:SourceIp
kondisi, yang merupakan kunci kondisi AWS-wide. Untuk informasi lebih lanjut tentang kunci syarat ini, lihat AWS Kunci Konteks Syarat Global. Nilai IPv4 aws:sourceIp
menggunakan notasi CIDR standar. Untuk informasi lebih lanjut, lihat Operator Syarat Alamat IP dalam Panduan Pengguna IAM.
{ "Version": "2012-10-17", "Id": "
ECRPolicyId1
", "Statement": [ { "Sid": "IPAllow
", "Effect": "Deny", "Principal": "*", "Action": "ecr:*", "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.0/24
" } } } ] }
Contoh: Izinkan AWS layanan
Kebijakan repositori berikut memungkinkan AWS CodeBuild akses ke tindakan Amazon ECR API yang diperlukan untuk integrasi dengan layanan tersebut. Saat menggunakan contoh berikut, Anda harus menggunakan kunci aws:SourceArn
dan aws:SourceAccount
kondisi untuk cakupan sumber daya mana yang dapat mengasumsikan izin ini. Untuk informasi selengkapnya, lihat contoh Amazon ECR CodeBuild di Panduan AWS CodeBuild Pengguna.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"CodeBuildAccess", "Effect":"Allow", "Principal":{ "Service":"codebuild.amazonaws.com" }, "Action":[ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:codebuild:
region
:123456789012
:project/project-name
" }, "StringEquals":{ "aws:SourceAccount":"123456789012
" } } } ] }