

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

# Repositori pribadi Amazon ECR
<a name="Repositories"></a>

Repositori pribadi Amazon ECR berisi gambar Docker Anda, gambar Open Container Initiative (OCI), dan artefak yang kompatibel dengan OCI. Anda dapat membuat, memantau, dan menghapus repositori gambar dan mengatur izin yang mengontrol siapa yang dapat mengaksesnya dengan menggunakan operasi Amazon ECR API atau bagian **Repositori** dari konsol Amazon ECR. Amazon ECR juga terintegrasi dengan CLI Docker, sehingga Anda dapat mendorong dan menarik gambar dari lingkungan pengembangan Anda ke repositori Anda.

**Topics**
+ [Konsep repositori pribadi](#repository-concepts)
+ [Membuat repositori pribadi Amazon ECR untuk menyimpan gambar](repository-create.md)
+ [Melihat konten dan detail repositori pribadi di Amazon ECR](repository-info.md)
+ [Menghapus repositori pribadi di Amazon ECR](repository-delete.md)
+ [Kebijakan repositori pribadi di Amazon ECR](repository-policies.md)
+ [Menandai repositori pribadi di Amazon ECR](ecr-using-tags.md)

## Konsep repositori pribadi
<a name="repository-concepts"></a>
+ Secara default, akun Anda telah membaca dan menulis akses ke repositori di registri default Anda (`aws_account_id.dkr.ecr.region.amazonaws.com`). Namun, pengguna memerlukan izin untuk melakukan panggilan ke Amazon ECR APIs dan mendorong atau menarik gambar ke dan dari repositori Anda. Amazon ECR menyediakan beberapa kebijakan yang dikelola untuk mengontrol akses pengguna pada berbagai tingkat. Untuk informasi selengkapnya, lihat [Contoh kebijakan berbasis identitas Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).
+ Repositori dapat dikontrol dengan kebijakan akses pengguna dan kebijakan repositori individu. Untuk informasi selengkapnya, lihat [Kebijakan repositori pribadi di Amazon ECR](repository-policies.md).
+ Nama repositori dapat mendukung namespace, yang dapat Anda gunakan untuk mengelompokkan repositori serupa. Misalnya, jika ada beberapa tim yang menggunakan registri yang sama, Tim A dapat menggunakan namespace `team-a`, dan Tim B dapat menggunakan namespace `team-b`. Dengan melakukan ini, setiap tim memiliki citra mereka sendiri yang disebut `web-app` pada setiap citra yang diawali dengan namespace tim. Konfigurasi ini memungkinkan citra-citra pada setiap tim ini untuk digunakan secara bersamaan tanpa gangguan. Citra Tim A adalah `team-a/web-app`, dan citra Tim B adalah `team-b/web-app`.
+ Citra Anda dapat direplikasi ke repositori lain di seluruh Wilayah di registri Anda sendiri dan di seluruh akun. Anda dapat melakukan ini dengan menentukan konfigurasi replikasi dalam pengaturan registri Anda. Untuk informasi selengkapnya, lihat [Pengaturan registri pribadi di Amazon ECR](registry-settings.md).
+ Saat pemasangan gumpalan diaktifkan di tingkat registri, repositori dapat berbagi lapisan gambar yang umum.

# Membuat repositori pribadi Amazon ECR untuk menyimpan gambar
<a name="repository-create"></a>

**penting**  
Enkripsi sisi server dua lapis dengan AWS KMS (DSSE-KMS) hanya tersedia di Wilayah. AWS GovCloud (US) 

Buat repositori pribadi Amazon ECR, lalu gunakan repositori untuk menyimpan gambar kontainer Anda. Gunakan langkah-langkah berikut untuk membuat repositori pribadi menggunakan file. Konsol Manajemen AWS

**Untuk membuat repositori ()Konsol Manajemen AWS**

1. Buka konsol Amazon ECR di [https://console.aws.amazon.com/ecr/repositori](https://console.aws.amazon.com/ecr/repositories).

1. Dari bilah navigasi, pilih Wilayah untuk membuat repositori Anda.

1. Pilih **Repositori pribadi**, lalu pilih **Buat** repositori.

1. Untuk **Nama repositori**, masukkan nama yang unik untuk repositori Anda. Nama repositori dapat ditentukan sendiri (misalnya `nginx-web-app`). Atau, dapat ditambahkan dengan namespace untuk mengelompokkan repositori ke dalam suatu kategori (misalnya `project-a/nginx-web-app`).
**catatan**  
Nama repositori dapat berisi karakter maksimum. `256` Nama harus dimulai dengan huruf dan hanya dapat berisi huruf kecil, angka, tanda hubung, garis bawah, titik dan garis miring ke depan. Menggunakan garis miring ganda tidak didukung.

1. Untuk **kekekalan tag Gambar**, pilih salah satu pengaturan mutabilitas tag berikut untuk repositori.
   + **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 (\$1) 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 (\$1) untuk mencocokkan beberapa tag serupa di kotak teks pengecualian tag **Immutable**. 
**catatan**  
Setelan mutabilitas tag individual tidak didukung.

1. Untuk **konfigurasi Enkripsi**, pilih antara **AES-256** atau. ** AWS KMS** Untuk informasi selengkapnya, lihat [Enkripsi saat diam](encryption-at-rest.md).

   1.  Jika AWS KMS dipilih, pilih antara enkripsi Single-layer dan Dual-layer encryption. Ada biaya tambahan untuk menggunakan AWS KMS atau enkripsi Dual-layer. Untuk informasi selengkapnya, lihat [Harga Layanan Amazon ECR](https://aws.amazon.com/ecr/pricing/).

   1. Secara default, kunci AWS terkelola dengan alias `aws/ecr` dipilih. Kunci ini dibuat di akun Anda saat pertama kali Anda membuat repositori dengan AWS KMS enkripsi diaktifkan. Pilih **Kunci terkelola pelanggan (lanjutan)** untuk memilih AWS KMS kunci Anda sendiri. AWS KMS Kuncinya harus berada di Region yang sama dengan cluster. Pilih **Buat AWS KMS kunci** untuk menavigasi ke AWS KMS konsol untuk membuat kunci Anda sendiri.

1. Untuk **pengaturan pemindaian gambar**, sementara Anda dapat menentukan pengaturan pemindaian di tingkat repositori untuk pemindaian dasar, ini adalah praktik terbaik untuk menentukan konfigurasi pemindaian di tingkat registri pribadi. Mengkonfigurasi pengaturan pemindaian di tingkat registri pribadi memungkinkan Anda memilih antara pemindaian yang ditingkatkan atau pemindaian dasar, dan juga memungkinkan Anda menentukan filter untuk menentukan repositori mana yang harus dipindai.

1. Pilih **Buat**.

**Untuk membuat repositori ()AWS CLI**

1. Anda dapat membuat repositori menggunakan perintah AWS CLI with the. **aws ecr create-repository**

   ```
   aws ecr create-repository \
               --repository-name hello-repository \
               --region region
   ```

1. Jika Anda memiliki template pembuatan repositori yang ditentukan, Anda dapat membuat repositori dengan mendorong gambar Anda menggunakan perintah push Amazon ECR yang sudah dikenal dengan nama repositori yang Anda inginkan. Amazon ECR akan secara otomatis membuat repositori untuk Anda menggunakan pengaturan yang telah ditentukan dari template pembuatan repositori Anda. Jika Anda belum memiliki template pembuatan repositori yang ditentukan, permintaan Anda ke repositori gambar Anda yang tidak ada akan gagal.

   ```
   docker push aws_account_id.dkr.ecr.region.amazonaws.com/prefix/my-new-repository:tag
   ```

## Langkah selanjutnya
<a name="procedure_next_steps"></a>

**Untuk melihat langkah-langkah untuk mendorong gambar ke repositori Anda, pilih repositori dan pilih Lihat perintah push.** Untuk informasi selengkapnya tentang mendorong gambar ke repositori Anda, lihat. [Mendorong gambar ke repositori pribadi Amazon ECR](image-push.md)

# Melihat konten dan detail repositori pribadi di Amazon ECR
<a name="repository-info"></a>

Setelah Anda membuat repositori pribadi, Anda dapat melihat detail tentang repositori di: Konsol Manajemen AWS
+ Citra mana yang disimpan dalam repositori
+ Detail tentang setiap gambar yang disimpan dalam repositori, termasuk ukuran dan intisari SHA untuk setiap gambar
+ Frekuensi pemindaian yang ditentukan untuk isi repositori
+ Apakah repositori memiliki aturan pull through cache aktif yang terkait dengannya
+ Pengaturan enkripsi untuk repositori

**catatan**  
Dimulai dengan Docker versi 1.9, client Docker mengompresi lapisan citra sebelum mendorongnya ke registri V2 Docker. Output dari perintah **docker images** menunjukkan ukuran citra yang tidak terkompresi. Oleh karena itu, perlu diingat bahwa Docker mungkin mengembalikan gambar yang lebih besar daripada citra yang ditampilkan dalam Konsol Manajemen AWS.

**Untuk melihat informasi repositori (Konsol Manajemen AWS)**

1. Buka konsol Amazon ECR di [https://console.aws.amazon.com/ecr/repositori](https://console.aws.amazon.com/ecr/repositories).

1. Dari bilah navigasi, pilih Wilayah yang berisi repositori untuk dilihat.

1. Di panel navigasi, pilih **Repositori**.

1. Pada halaman **Repositori**, pilih tab **Private** dan kemudian repositori untuk dilihat.

1. **Pada halaman detail repositori, konsol default ke tampilan Gambar.** Gunakan menu navigasi untuk melihat informasi lain tentang repositori.
   + Pilih **Ringkasan** untuk melihat detail repositori dan tarik data hitungan untuk repositori.
   + Pilih **Gambar** untuk melihat informasi tentang tag gambar di repositori. Untuk melihat informasi lebih lanjut tentang gambar, pilih tag gambar. Untuk informasi selengkapnya, lihat [Melihat detail gambar di Amazon ECR](image-info.md).

     Jika ada citra yang tidak ditandai yang ingin Anda hapus, Anda dapat memilih kotak di sebelah kiri repositori untuk menghapus dan pilih **Hapus**. Untuk informasi selengkapnya, lihat [Menghapus gambar di Amazon ECR](delete_image.md).
   + Pilih **Izin** untuk melihat kebijakan repositori yang diterapkan ke repositori. Untuk informasi selengkapnya, lihat [Kebijakan repositori pribadi di Amazon ECR](repository-policies.md).
   + Pilih **Kebijakan siklus hidup** untuk melihat aturan kebijakan siklus hidup yang diterapkan ke repositori. Histori peristiwa siklus hidup juga dilihat di sini. Untuk informasi selengkapnya, lihat [Mengotomatiskan pembersihan gambar dengan menggunakan kebijakan siklus hidup di Amazon ECR](LifecyclePolicies.md).
   + Pilih **Tanda** untuk melihat tanda metadata yang diterapkan ke repositori.

# Menghapus repositori pribadi di Amazon ECR
<a name="repository-delete"></a>

Jika Anda selesai menggunakan repositori, Anda dapat menghapusnya. Ketika Anda menghapus repositori di Konsol Manajemen AWS, semua gambar yang terkandung dalam repositori juga dihapus; ini tidak dapat dibatalkan.

**penting**  
Gambar di repositori yang dihapus juga dihapus. Anda tidak dapat membatalkan operasi ini.

**Untuk menghapus repositori ()Konsol Manajemen AWS**

1. Buka konsol Amazon ECR di [https://console.aws.amazon.com/ecr/repositori](https://console.aws.amazon.com/ecr/repositories).

1. Dari bilah navigasi, pilih Wilayah yang berisi repositori untuk dihapus.

1. Di panel navigasi, pilih **Repositori**.

1. **Pada halaman **Repositori**, pilih tab **Private** dan kemudian pilih repositori yang akan dihapus dan pilih Delete.**

1. **Di *repository\$1name* jendela **Hapus**, verifikasi bahwa repositori yang dipilih harus dihapus dan pilih Hapus.**

# Kebijakan repositori pribadi di Amazon ECR
<a name="repository-policies"></a>

Amazon ECR menggunakan izin berbasis sumber daya untuk mengontrol akses ke repositori. Izin berbasis sumber daya memungkinkan Anda menentukan pengguna atau peran mana yang memiliki akses ke repositori dan tindakan apa yang dapat mereka lakukan di repositori. Secara default, hanya AWS akun yang membuat repositori yang memiliki akses ke repositori. Anda dapat menerapkan kebijakan repositori yang memungkinkan akses tambahan ke repositori Anda.

**Topics**
+ [Kebijakan repositori vs kebijakan IAM](#repository-policy-vs-iam-policy)
+ [Contoh kebijakan repositori pribadi di Amazon ECR](repository-policy-examples.md)
+ [Menyetel pernyataan kebijakan repositori pribadi di Amazon ECR](set-repository-policy.md)

## Kebijakan repositori vs kebijakan IAM
<a name="repository-policy-vs-iam-policy"></a>

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.

Kebijakan repositori Amazon ECR dan kebijakan IAM digunakan saat menentukan tindakan yang mungkin dilakukan pengguna atau peran tertentu pada repositori. Jika pengguna atau peran diperbolehkan untuk melakukan tindakan melalui kebijakan repositori tetapi tidak diberi izin melalui kebijakan IAM (atau sebaliknya) maka tindakan akan ditolak. Agar tindakan diizinkan, pengguna atau peran hanya perlu diberi izin untuk tindakan baik melalui kebijakan repositori atau kebijakan IAM, tetapi tidak keduanya.

**penting**  
Amazon ECR mengharuskan pengguna memiliki izin untuk melakukan panggilan ke API `ecr:GetAuthorizationToken` melalui kebijakan IAM sebelum mereka dapat mengautentikasi ke registri dan mendorong atau menarik citra dari repositori Amazon ECR. Amazon ECR menyediakan beberapa kebijakan IAM terkelola untuk mengontrol akses pengguna pada berbagai tingkatan. Untuk informasi selengkapnya, lihat [Contoh kebijakan berbasis identitas Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

Anda dapat menggunakan salah satu jenis kebijakan ini untuk mengontrol akses ke repositori Anda, seperti yang ditampilkan dalam contoh berikut.

Contoh ini menunjukkan kebijakan repositori Amazon ECR, yang memungkinkan pengguna tertentu untuk mendeskripsikan repositori dan gambar dalam repositori.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECRRepositoryPolicy",
            "Effect": "Allow",
            "Principal": {"AWS": "arn:aws:iam::111122223333:user/username"},
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Contoh ini menunjukkan kebijakan IAM yang mencapai tujuan yang sama seperti di atas, dengan lingkup kebijakan pada repositori (ditentukan oleh ARN penuh repositori) menggunakan parameter sumber daya. Untuk informasi lebih lanjut tentang format Amazon Resource Name (ARN), lihat [Sumber daya](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeRepoImage",
            "Effect": "Allow",
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": ["arn:aws:ecr:us-east-1:111122223333:repository/repository-name"]
        }
    ]
}
```

------

# Contoh kebijakan repositori pribadi di Amazon ECR
<a name="repository-policy-examples"></a>

**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](set-repository-policy.md)

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](repository-policies.md#repository-policy-vs-iam-policy).

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 tingkatan. Untuk informasi selengkapnya, lihat [Contoh kebijakan berbasis identitas Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

## Contoh: Izinkan satu atau lebih pengguna
<a name="IAM_within_account"></a>

Kebijakan repositori berikut memungkinkan satu atau lebih pengguna untuk mendorong dan menarik gambar ke dan dari repositori.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPushPull",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/push-pull-user-1",
                    "arn:aws:iam::111122223333:user/push-pull-user-2"
                ]
            },
            "Action": [
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability",
                "ecr:CompleteLayerUpload",
                "ecr:GetDownloadUrlForLayer",
                "ecr:InitiateLayerUpload",
                "ecr:PutImage",
                "ecr:UploadLayerPart"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Contoh: Izinkan akun lain
<a name="IAM_allow_other_accounts"></a>

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.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCrossAccountPush",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:CompleteLayerUpload",
                "ecr:InitiateLayerUpload",
                "ecr:PutImage",
                "ecr:UploadLayerPart"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Kebijakan repositori berikut memungkinkan beberapa pengguna untuk menarik gambar (*pull-user-1*dan*pull-user-2*) sambil memberikan akses penuh ke yang lain (*admin-user*).

**catatan**  
Untuk kebijakan repositori yang lebih rumit yang saat ini tidak didukung di Konsol Manajemen AWS, Anda dapat menerapkan kebijakan dengan perintah. [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPull",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/pull-user-1",
                    "arn:aws:iam::111122223333:user/pull-user-2"
                ]
            },
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAll",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/admin-user"
            },
            "Action": [
                "ecr:*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Contoh: Tolak semua
<a name="IAM_deny_all"></a>

Kebijakan repositori berikut menolak semua pengguna di semua akun untuk menarik citra.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyPull",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Contoh: Membatasi akses ke alamat IP tertentu
<a name="IAM_restrict_ip"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html). `aws:sourceIp` IPv4 Nilai-nilai menggunakan notasi CIDR standar. Untuk informasi lebih lanjut, lihat [Operator Syarat Alamat IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) dalam *Panduan Pengguna IAM*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ECRPolicyId1",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "ecr:*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "54.240.143.0/24"
                }
            }
        }
    ]
}
```

------

## Contoh: Izinkan AWS layanan
<a name="IAM_service_linked"></a>

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](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html) di *Panduan AWS CodeBuild Pengguna*.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"CodeBuildAccess",
         "Effect":"Allow",
         "Principal":{
            "Service":"codebuild.amazonaws.com"
         },
         "Action":[
            "ecr:BatchGetImage",
            "ecr:GetDownloadUrlForLayer"
         ],
         "Resource": "*",
         "Condition":{
            "ArnLike":{
               "aws:SourceArn":"arn:aws:codebuild:us-east-1:123456789012:project/project-name"
            },
            "StringEquals":{
               "aws:SourceAccount":"123456789012"
            }
         }
      }
   ]
}
```

------

# Menyetel pernyataan kebijakan repositori pribadi di Amazon ECR
<a name="set-repository-policy"></a>

Anda dapat menambahkan pernyataan kebijakan akses ke repositori Konsol Manajemen AWS dengan mengikuti langkah-langkah di bawah ini. Anda dapat menambahkan beberapa pernyataan kebijakan per repositori. Untuk contoh kebijakan, lihat [Contoh kebijakan repositori pribadi di Amazon ECR](repository-policy-examples.md).

**penting**  
Amazon ECR mengharuskan pengguna memiliki izin untuk melakukan panggilan ke API `ecr:GetAuthorizationToken` melalui kebijakan IAM sebelum mereka dapat mengautentikasi ke registri dan mendorong atau menarik citra dari repositori Amazon ECR. Amazon ECR menyediakan beberapa kebijakan IAM terkelola untuk mengontrol akses pengguna pada berbagai tingkatan. Untuk informasi selengkapnya, lihat [Contoh kebijakan berbasis identitas Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

**Untuk menetapkan pernyataan kebijakan repositori**

1. Buka konsol Amazon ECR di [https://console.aws.amazon.com/ecr/repositori](https://console.aws.amazon.com/ecr/repositories).

1. Dari bilah navigasi, pilih Wilayah yang berisi repositori yang akan ditetapkan pernyataan kebijakan.

1. Di panel navigasi, pilih **Repositori**.

1. Pada **Repositori**, pilih repositori yang akan ditetapkan pernyataan kebijakan untuk melihat isi repositori.

1. Dari tampilan daftar citra repositori, di panel navigasi, pilih **Izin**, **Edit**.
**catatan**  
Jika Anda tidak melihat opsi **Izin** di panel navigasi, pastikan bahwa Anda berada di tampilan daftar citra repositori.

1. Pada halaman **Edit izin**, pilih **Tambah pernyataan**.

1. Untuk **Nama pernyataan**, masukkan nama untuk pernyataan tersebut.

1. Untuk **Efek**, pilih apakah pernyataan kebijakan tersebut akan menghasilkan izin atau penolakan eksplisit.

1. Untuk **Utama**, pilih ruang lingkup untuk penerapan pernyataan kebijakan. Untuk informasi lebih lanjut, lihat [Elemen Kebijakan JSON AWS : Utama](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam *Panduan Pengguna IAM*.
   + Anda dapat menerapkan pernyataan ke semua AWS pengguna yang diautentikasi dengan memilih kotak centang **Semua orang (\$1)**.
   + Untuk **Prinsipal layanan**, tentukan nama prinsipal layanan (misalnya, `ecs.amazonaws.com`) untuk menerapkan pernyataan ke layanan tertentu.
   + Untuk **AWS Akun IDs**, tentukan nomor AWS akun (misalnya,`111122223333`) untuk menerapkan pernyataan ke semua pengguna di bawah AWS akun tertentu. Beberapa akun dapat ditentukan dengan menggunakan daftar yang dipisahkan koma.
**penting**  
Akun yang Anda berikan izin harus memiliki Wilayah yang Anda beri kebijakan repositori yang diaktifkan, jika tidak, kesalahan akan terjadi.
   + Untuk **Entitas IAM**, pilih peran atau pengguna di bawah AWS akun Anda untuk menerapkan pernyataan tersebut.
**catatan**  
Untuk kebijakan repositori yang lebih rumit yang saat ini tidak didukung di Konsol Manajemen AWS, Anda dapat menerapkan kebijakan dengan perintah. [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI 

1. Untuk **Tindakan**, pilih ruang lingkup operasi API Amazon ECR yang akan diterapkan pernyataan kebijakan dari daftar operasi API individu.

1. Setelah selesai, pilih **Simpan** untuk menetapkan kebijakan.

1. Ulangi langkah sebelumnya untuk setiap kebijakan repositori yang ditambahkan.

# Menandai repositori pribadi di Amazon ECR
<a name="ecr-using-tags"></a>

*Untuk membantu mengelola repositori Amazon ECR, Anda dapat menetapkan metadata Anda sendiri ke repositori Amazon ECR baru atau yang sudah ada dengan menggunakan tag sumber daya. AWS * Misalnya, Anda dapat menentukan satu set tag untuk repositori Amazon ECR akun Anda yang membantu Anda melacak pemilik setiap repositori.

## Dasar-dasar tag
<a name="tag-basics"></a>

Tanda tidak memiliki makna semantik bagi Amazon ECR dan diterjemahkan sebagai serangkaian karakter saja. Selain itu, tag tidak dapat ditetapkan secara otomatis ke sumber daya Anda. Anda dapat mengedit kunci dan nilai tanda, dan dapat menghapus tanda dari sumber daya kapan saja. Anda dapat mengatur nilai tanda ke string kosong, tetapi tidak dapat mengatur nilai tanda ke null. Jika Anda menambahkan tanda yang memiliki kunci yang sama dengan tanda yang telah ada pada sumber daya tersebut, nilai yang baru akan menimpa nilai yang lama. Jika sumber daya dihapus, semua tanda untuk sumber daya tersebut juga akan dihapus.

Anda dapat bekerja dengan tag menggunakan konsol Amazon ECR, the AWS CLI, dan Amazon ECR API.

Menggunakan AWS Identity and Access Management (IAM), Anda dapat mengontrol pengguna mana di AWS akun Anda yang memiliki izin untuk membuat, mengedit, atau menghapus tag. Untuk informasi tentang tag dalam kebijakan IAM, lihat[Menggunakan Kontrol Akses Berbasis Tanda](ecr-supported-iam-actions-tagging.md).

## Penandaan sumber daya Anda untuk penagihan
<a name="tag-resources-for-billing"></a>

Tanda yang Anda tambahkan ke repositori Amazon ECR Anda sangat membantu ketika meninjau alokasi biaya setelah tanda diaktifkan dalam Laporan Biaya & Penggunaan Anda. Untuk informasi selengkapnya, lihat [Laporan penggunaan Amazon ECR](usage-reports.md).

Untuk melihat biaya sumber daya gabungan, Anda dapat mengatur informasi penagihan berdasarkan sumber daya yang memiliki nilai kunci tanda yang sama. Misalnya, Anda dapat memberi tanda pada beberapa sumber daya dengan nama aplikasi tertentu, lalu organisir informasi penagihan Anda untuk melihat total biaya aplikasi tersebut pada beberapa layanan. Untuk informasi selengkapnya tentang pengaturan laporan alokasi biaya dengan tanda, lihat [Laporan Alokasi Biaya Bulanan](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html) dalam *Panduan Pengguna AWS Billing *.

**catatan**  
Jika Anda baru saja mengaktifkan pelaporan, data untuk bulan yang berjalan dapat dilihat setelah 24 jam.

# Menambahkan tag ke repositori pribadi di Amazon ECR
<a name="adding-tags-repositories"></a>

Anda dapat menambahkan tag ke repositori pribadi.

Untuk informasi tentang nama dan praktik terbaik untuk tag, lihat [Batas dan persyaratan penamaan tag](https://docs.aws.amazon.com//tag-editor/latest/userguide/tagging.html#tag-conventions) dan [Praktik terbaik](https://docs.aws.amazon.com//tag-editor/latest/userguide/tagging.html#tag-best-practices) di *Panduan Pengguna AWS Sumber Daya Penandaan*.

## Menambahkan tag ke repositori ()Konsol Manajemen AWS
<a name="tag-resources-console"></a>

1. Buka konsol Amazon ECR di [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Dari bilah navigasi, pilih Wilayah untuk digunakan.

1. Di panel navigasi, pilih **Repositori**.

1. Pada halaman **Repositori**, pilih kotak centang di sebelah repositori yang ingin Anda tag.

1. Dari menu **Tindakan**, pilih Tag **repositori**.

1. Pada halaman **tag Repositori**, pilih **Tambahkan tag, **Tambahkan** tag**.

1. **Pada halaman **Edit tag repositori**, tentukan kunci dan nilai untuk setiap tag, lalu pilih Simpan.**

## Menambahkan tag ke repositori (AWS CLI atau API)
<a name="tag-resources-api-sdk"></a>

Anda dapat menambahkan atau menimpa satu atau beberapa tag dengan menggunakan AWS CLI atau API.
+ AWS CLI - [tag-sumber daya](https://docs.aws.amazon.com/cli/latest/reference/ecr/tag-resource.html)
+ Tindakan API - [TagResource](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_TagResource.html)

Contoh berikut menunjukkan cara menambahkan tag menggunakan AWS CLI.

**Contoh 1: Menandai repositori**  
Perintah berikut menandai repositori.

```
aws ecr tag-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \
     --tags Key=stack,Value=dev
```

**Contoh 2: Tag repositori dengan beberapa tag**  
Perintah berikut menambahkan tiga tag ke repositori.

```
aws ecr tag-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \
     --tags Key=key1,Value=value1 Key=key2,Value=value2 Key=key3,Value=value3
```

**Contoh 3: Daftar tag untuk repositori**  
Perintah berikut mencantumkan tag yang terkait dengan repositori.

```
aws ecr list-tags-for-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name
```

**Contoh 4: Buat repositori dan tambahkan tag**  
Perintah berikut membuat repositori bernama `test-repo` dan menambahkan tanda dengan kunci `team` dan nilai `devs`.

```
aws ecr create-repository \
     --repository-name test-repo \
     --tags Key=team,Value=devs
```

# Menghapus tag dari repositori pribadi di Amazon ECR
<a name="deleting-tags-repositories"></a>

Anda dapat menghapus tag dari repositori pribadi.

## Untuk menghapus tag dari repositori pribadi ()Konsol Manajemen AWS
<a name="deleting-tags-repositories-console"></a>

1. Buka konsol Amazon ECR di [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Dari bilah navigasi, pilih Wilayah untuk digunakan.

1. Pada halaman **Repositori**, pilih kotak centang di sebelah repositori tempat Anda ingin menghapus tag.

1. Dari menu **Tindakan**, pilih Tag **repositori**.

1. **Pada halaman **tag Repositori**, pilih Edit.**

1. **Pada halaman **Edit tag repositori**, pilih **Hapus** untuk setiap tag yang ingin Anda hapus, dan pilih Simpan.**

## Untuk menghapus tag dari repositori pribadi ()AWS CLI
<a name="deleting-tags-repositories-cli"></a>

Anda dapat menghapus satu atau beberapa tag dengan menggunakan AWS CLI atau API.
+ AWS CLI - [untag-sumber daya](https://docs.aws.amazon.com/cli/latest/reference/ecr/untag-resource.html)
+ Tindakan API - [UntagResource](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_UntagResource.html)

Contoh berikut menunjukkan cara menghapus tag dari repositori menggunakan. AWS CLI

```
aws ecr untag-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \
     --tag-keys tag_key
```