Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat template pembuatan repositori di Amazon ECR
Anda dapat membuat template pembuatan repositori untuk menentukan pengaturan yang akan digunakan untuk repositori yang dibuat oleh Amazon ECR atas nama Anda selama penarikan melalui cache atau tindakan replikasi. Setelah template pembuatan repositori dibuat, semua repositori baru yang dibuat akan memiliki pengaturan yang diterapkan. Ini tidak berpengaruh pada repositori yang dibuat sebelumnya.
Saat menyiapkan repositori dengan templat, Anda memiliki opsi untuk menentukan kunci KMS dan tag sumber daya. Jika Anda bermaksud menggunakan kunci KMS, tag sumber daya, atau kombinasi keduanya dalam satu atau beberapa templat, Anda perlu:
Setelah dikonfigurasi, Anda dapat melampirkan peran khusus ke templat tertentu di registri Anda.
Izin IAM untuk membuat template pembuatan repositori
Izin berikut diperlukan untuk prinsipal IAM untuk mengelola template pembuatan repositori. Izin ini harus diberikan menggunakan kebijakan IAM berbasis identitas.
-
ecr:CreateRepositoryCreationTemplate
— Memberikan izin untuk membuat template pembuatan repositori.
-
ecr:UpdateRepositoryCreationTemplate
— Memberikan izin untuk memperbarui template pembuatan repositori.
-
ecr:DescribeRepositoryCreationTemplates
— Memberikan izin untuk membuat daftar template pembuatan repositori dalam registri.
-
ecr:DeleteRepositoryCreationTemplate
— Memberikan izin untuk menghapus template pembuatan repositori.
-
ecr:CreateRepository
— Memberikan izin untuk membuat repositori Amazon ECR.
-
ecr:PutLifecyclePolicy
— Memberikan izin untuk membuat kebijakan siklus hidup dan menerapkannya ke repositori. Izin ini hanya diperlukan jika template pembuatan repositori menyertakan kebijakan siklus hidup.
-
ecr:SetRepositoryPolicy
— Memberikan izin untuk membuat kebijakan izin untuk repositori. Izin ini hanya diperlukan jika template pembuatan repositori menyertakan kebijakan repositori.
-
iam:PassRole
Memberikan izin untuk mengizinkan entitas untuk meneruskan peran ke layanan atau aplikasi. Izin ini diperlukan untuk layanan dan aplikasi yang perlu mengambil peran untuk melakukan tindakan atas nama Anda.
Buat template pembuatan repositori
Setelah Anda menyelesaikan prasyarat yang diperlukan untuk template Anda, Anda dapat melanjutkan untuk membuat template pembuatan repositori.
- AWS Management Console
-
Untuk membuat template pembuatan repositori ()AWS Management Console
Buka konsol Amazon ECR di https://console.aws.amazon.com/ecr/.
-
Dari bilah navigasi, pilih Wilayah untuk membuat template pembuatan repositori di.
-
Di panel navigasi, pilih Registri pribadi, Template pembuatan repositori.
-
Pada halaman template pembuatan repositori, pilih Buat template.
-
Pada Langkah 1: Tentukan halaman template, untuk detail Template, pilih awalan khusus untuk menerapkan template ke awalan namespace repositori tertentu atau pilih Awalan apa pun di registri ECR Anda untuk menerapkan templat ke semua repositori yang tidak cocok dengan templat lain di Wilayah.
-
Jika Anda memilih awalan tertentu, untuk Awalan tentukan awalan namespace repositori untuk menerapkan template ke. Selalu ada asumsi /
diterapkan pada akhir awalan. Misalnya, awalan prod
akan berlaku untuk semua repositori yang dimulai dengan. prod/
Demikian pula, awalan prod/team
akan berlaku untuk semua repositori yang dimulai dengan. prod/team/
-
Jika Anda memilih awalan apa pun di registri ECR Anda, Awalan akan diatur ke. ROOT
-
Untuk Diterapkan untuk, tentukan alur kerja Amazon ECR mana yang akan diterapkan template ini. Opsi nya adalah PULL_THROUGH_CACHE
dan REPLICATION
.
-
Untuk deskripsi Template, tentukan deskripsi opsional untuk template dan kemudian pilih Berikutnya.
-
Pada Langkah 2: Tambahkan halaman konfigurasi pembuatan repositori, tentukan konfigurasi pengaturan repositori untuk diterapkan ke repositori yang dibuat menggunakan templat.
-
Untuk mutabilitas tag Gambar, pilih pengaturan mutabilitas tag yang akan digunakan. Untuk informasi selengkapnya, lihat Mencegah tag gambar ditimpa di Amazon ECR.
-
Mutable - Pilih opsi ini jika Anda ingin tag gambar ditimpa. Direkomendasikan untuk repositori yang menggunakan tindakan pull through cache untuk memastikan Amazon ECR dapat memperbarui gambar yang di-cache. Selain itu, untuk menonaktifkan pembaruan tag untuk beberapa tag yang dapat berubah, masukkan nama tag atau gunakan wildcard (*) untuk mencocokkan beberapa tag serupa di kotak teks pengecualian tag Mutable.
-
Immutable - Pilih opsi ini jika Anda ingin mencegah tag gambar ditimpa, dan itu berlaku untuk semua tag dan pengecualian di repositori saat mendorong gambar dengan tag yang ada. Amazon ECR mengembalikan ImageTagAlreadyExistsException
jika Anda mencoba mendorong gambar dengan tag yang ada. Selain itu, untuk mengaktifkan pembaruan tag untuk beberapa tag yang tidak dapat diubah, masukkan nama tag atau gunakan wildcard (*) untuk mencocokkan beberapa tag serupa di kotak teks pengecualian tag Immutable.
-
Untuk konfigurasi Enkripsi, pilih pengaturan enkripsi yang akan digunakan. Untuk informasi selengkapnya, lihat Enkripsi diam.
Saat AES-256 dipilih, Amazon ECR menggunakan enkripsi sisi server dengan kunci enkripsi yang dikelola Amazon Simple Storage Service yang mengenkripsi data Anda saat istirahat menggunakan algoritme enkripsi AES-256 standar industri. Ini ditawarkan tanpa biaya tambahan.
Saat AWS KMS dipilih, Amazon ECR menggunakan enkripsi sisi server dengan kunci yang disimpan di (). AWS Key Management Service AWS KMS Saat Anda menggunakan AWS KMS untuk mengenkripsi data, Anda dapat menggunakan kunci AWS terkelola default, yang dikelola oleh Amazon ECR, atau menentukan AWS KMS
kunci Anda sendiri, yang disebut sebagai kunci yang dikelola pelanggan.
Pengaturan enkripsi untuk repositori tidak dapat diubah setelah repositori dibuat.
-
Untuk izin Repositori, tentukan kebijakan izin repositori yang akan diterapkan ke repositori yang dibuat menggunakan templat ini. Anda dapat menggunakan drop-down secara opsional untuk memilih salah satu sampel JSON untuk kasus penggunaan yang paling umum. Untuk informasi selengkapnya, lihat Kebijakan repositori pribadi di Amazon ECR.
-
Untuk kebijakan siklus hidup Repositori, tentukan kebijakan siklus hidup repositori yang akan diterapkan ke repositori yang dibuat menggunakan templat ini. Anda dapat menggunakan drop-down secara opsional untuk memilih salah satu sampel JSON untuk kasus penggunaan yang paling umum. Untuk informasi selengkapnya, lihat Mengotomatiskan pembersihan gambar dengan menggunakan kebijakan siklus hidup di Amazon ECR.
-
Untuk AWS tag Repositori, tentukan metadata, dalam bentuk pasangan kunci-nilai, untuk dikaitkan dengan repositori yang dibuat menggunakan templat ini dan kemudian pilih Berikutnya. Untuk informasi selengkapnya, lihat Menandai repositori pribadi di Amazon ECR.
-
Untuk peran pembuatan Repositori, pilih peran IAM khusus dari menu drop-down yang akan digunakan untuk templat pembuatan repositori saat menggunakan tag repositori atau KMS di templat (lihat detailnya). Kemudian pilih Berikutnya. Buat peran IAM untuk template pembuatan repositori
-
Pada Langkah 3: Tinjau dan buat halaman, tinjau pengaturan yang Anda tentukan untuk template pembuatan repositori. Pilih opsi Edit untuk membuat perubahan. Pilih Buat setelah selesai.
- AWS CLI
-
create-repository-creation-template AWS CLI Perintah ini digunakan untuk membuat template pembuatan repositori untuk registri pribadi Anda.
Untuk membuat template pembuatan repositori ()AWS CLI
-
Gunakan AWS CLI untuk menghasilkan kerangka untuk create-repository-creation-templateperintah.
aws ecr create-repository-creation-template \
--generate-cli-skeleton
Output dari perintah menampilkan sintaks lengkap dari template pembuatan repositori.
{
"appliedFor":[""], // string array, but valid are PULL_THROUGH_CACHE and REPLICATION
"prefix": "string",
"description": "string",
"imageTagMutability": "MUTABLE"|"IMMUTABLE"|"IMMUTABLE_WITH_EXCLUSION"|"MUTABLE_WITH_EXCLUSION",
"imageTagMutabilityExclusionFilters": [
"filterType": "WILDCARD",
"filter": "string"
],
"repositoryPolicy": "string",
"lifecyclePolicy": "string"
"encryptionConfiguration": {
"encryptionType": "AES256"|"KMS",
"kmsKey": "string"
},
"resourceTags": [
{
"Key": "string",
"Value": "string"
}
],
"customRoleArn": "string", // must be a valid IAM Role ARN
}
-
Buat file bernama repository-creation-template.json
dengan output dari langkah sebelumnya. Template ini menetapkan kunci enkripsi KMS untuk repositori apa pun yang dibuat di bawah prod/*
dengan kebijakan repositori yang memungkinkan mendorong dan menarik gambar ke repositori future, menetapkan kebijakan siklus hidup yang akan kedaluwarsa gambar yang lebih lama dari dua minggu dan menetapkan peran khusus yang memungkinkan ECR mengakses kunci KMS dan menetapkan tag sumber daya ke repositori future. examplekey
{
"prefix": "prod",
"description": "For repositories cached from my PTC rule and in my replication configuration that start with 'prod/'",
"appliedFor": ["PULL_THROUGH_CACHE","REPLICATION"],
"encryptionConfiguration": {
"encryptionType": "KMS",
"kmsKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-example11111"
},
"resourceTags": [
{
"Key": "examplekey",
"Value": "examplevalue"
}
],
"imageTagMutability": "IMMUTABLE_WITH_EXCLUSION",
"imageTagMutabilityExclusionFilters": [
{
"filterType": "WILDCARD",
"filter": "latest"
},
{
"filterType": "WILDCARD",
"filter": "beta*"
}
]
"repositoryPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"AllowPushPullIAMRole\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:user\/IAMusername\"},\"Action\":[\"ecr:BatchGetImage\",\"ecr:BatchCheckLayerAvailability\",\"ecr:CompleteLayerUpload\",\"ecr:GetDownloadUrlForLayer\",\"ecr:InitiateLayerUpload\",\"ecr:PutImage\",\"ecr:UploadLayerPart\"]}]}",
"lifecyclePolicy": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"any\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}",
"customRoleArn": "arn:aws:iam::111122223333:role/myRole"
}
-
Gunakan perintah berikut untuk membuat template pembuatan repositori. Pastikan bahwa Anda menentukan nama file konfigurasi yang dibuat pada langkah sebelumnya sebagai pengganti repository-creation-template.json
dalam contoh berikut.
aws ecr create-repository-creation-template \
--cli-input-json file://repository-creation-template.json