

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

# Izin registri pribadi di Amazon ECR
<a name="registry-permissions"></a>

 Amazon ECR menggunakan **kebijakan registri** untuk memberikan izin kepada AWS kepala sekolah di tingkat registri pribadi.

Ruang lingkup diatur dengan memilih versi kebijakan registri. Ada dua versi dengan cakupan kebijakan registri yang berbeda: versi 1 (V1) dan versi 2 (V2). V2 adalah cakupan kebijakan registri yang diperluas yang mencakup semua izin ECR. Untuk daftar lengkap tindakan API, lihat *[Panduan Amazon ECR API](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html)*. Versi V2 adalah cakupan kebijakan registri default. Untuk informasi selengkapnya tentang melihat atau menyetel cakupan kebijakan registri Anda, lihat[Beralih ke cakupan kebijakan registri yang diperluas](registry-permissions-account-settings.md). Untuk informasi tentang setelan umum untuk registri pribadi Amazon ECR Anda, lihat[Pengaturan registri pribadi di Amazon ECR](registry-settings.md).

 Versi dirinci sebagai berikut.
+ **V1** - Untuk versi 1, Amazon ECR hanya memberlakukan izin berikut di tingkat registri pribadi.
  + `ecr:ReplicateImage`— Memberikan izin ke akun lain, yang disebut sebagai registri sumber, untuk mereplikasi gambarnya ke registri Anda. Ini hanya digunakan untuk replikasi lintas akun.
  + `ecr:BatchImportUpstreamImage`— Memberikan izin untuk mengambil gambar eksternal dan mengimpornya ke registri pribadi Anda.
  + `ecr:CreateRepository`— Memberikan izin untuk membuat repositori di registri pribadi. Izin ini diperlukan jika repositori yang menyimpan gambar yang direplikasi atau di-cache belum ada di registri pribadi.
+ **V2** - Untuk versi 2, Amazon ECR mengizinkan semua tindakan ECR dalam kebijakan dan memberlakukan kebijakan registri di semua permintaan ECR.

Anda dapat menggunakan konsol atau CLI untuk melihat atau mengubah cakupan kebijakan registri Anda.

**catatan**  
Meskipun dimungkinkan untuk menambahkan `ecr:*` tindakan ke kebijakan registri pribadi, dianggap praktik terbaik untuk hanya menambahkan tindakan spesifik yang diperlukan berdasarkan fitur yang Anda gunakan daripada menggunakan wildcard.

**Topics**
+ [Contoh kebijakan registri pribadi untuk Amazon ECR](registry-permissions-examples.md)
+ [Beralih ke cakupan kebijakan registri yang diperluas](registry-permissions-account-settings.md)
+ [Memberikan izin registri untuk replikasi lintas akun di Amazon ECR](registry-permissions-create-replication.md)
+ [Memberikan izin registri untuk menarik cache di Amazon ECR](registry-permissions-create-pullthroughcache.md)

# Contoh kebijakan registri pribadi untuk Amazon ECR
<a name="registry-permissions-examples"></a>

Contoh berikut menunjukkan pernyataan kebijakan izin registri yang dapat Anda gunakan untuk mengontrol izin yang dimiliki pengguna atas registri Amazon ECR Anda.

**catatan**  
Dalam setiap contoh, jika `ecr:CreateRepository` tindakan dihapus dari kebijakan registri Anda, replikasi masih dapat terjadi. Namun, agar replikasi berhasil, Anda perlu membuat repositori dengan nama yang sama dalam akun Anda.

## Contoh: Izinkan semua prinsipal IAM di akun sumber untuk mereplikasi semua repositori
<a name="registry-permissions-examples-all"></a>

Kebijakan izin registri berikut memungkinkan semua prinsipal IAM (pengguna dan peran) di akun sumber untuk mereplikasi semua repositori.

Perhatikan hal-hal berikut:
+ **Penting:** Saat Anda menentukan Akun AWS ID sebagai prinsipal dalam kebijakan, Anda memberikan akses ke semua pengguna dan peran IAM dalam akun tersebut, bukan hanya pengguna root. Ini memberikan akses luas di seluruh akun.
+ **Pertimbangan Keamanan:** Izin tingkat akun memberikan akses ke semua entitas IAM di akun yang ditentukan. Untuk akses yang lebih ketat, tentukan pengguna IAM individu, peran, atau gunakan pernyataan kondisi untuk membatasi akses lebih lanjut.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:444455556666:repository/*"
            ]
        }
    ]
}
```

------

## Contoh: Izinkan prinsipal IAM dari beberapa akun
<a name="registry-permissions-examples-multiple"></a>

Kebijakan izin registri berikut memiliki dua pernyataan. Setiap pernyataan memungkinkan semua prinsipal IAM (pengguna dan peran) dalam akun sumber untuk mereplikasi semua repositori.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount1",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:123456789012:repository/*"
            ]
        },
        {
            "Sid":"ReplicationAccessCrossAccount2",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::444455556666:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:123456789012:repository/*"
            ]
        }
    ]
}
```

------

## Contoh: Izinkan semua prinsipal IAM di akun sumber untuk mereplikasi semua repositori dengan awalan. `prod-`
<a name="registry-permissions-examples-specific"></a>

Kebijakan izin registri berikut memungkinkan semua prinsipal IAM (pengguna dan peran) di akun sumber untuk mereplikasi semua repositori yang dimulai dengan. ` prod-`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:444455556666:repository/prod-*"
            ]
        }
    ]
}
```

------

# Beralih ke cakupan kebijakan registri yang diperluas
<a name="registry-permissions-account-settings"></a>

**penting**  
Untuk pengguna baru, registri Anda secara otomatis dikonfigurasi untuk menggunakan kebijakan ` V2` registri saat pembuatan. Tidak ada tindakan yang harus Anda ambil. Amazon ECR tidak merekomendasikan untuk kembali ke kebijakan registri sebelumnya. `V1`

Anda dapat menggunakan konsol atau CLI untuk melihat atau mengubah cakupan kebijakan registri Anda.

------
#### [ Konsol Manajemen AWS ]

Gunakan langkah-langkah berikut untuk melihat pengaturan akun Anda. Untuk melihat atau memperbarui cakupan kebijakan registri, lihat prosedur CLI di halaman ini.

**Aktifkan kebijakan registri yang disempurnakan untuk registri pribadi Anda**

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

1. Dari bilah navigasi, pilih Wilayah.

1. Di panel navigasi, pilih **Registri pribadi**, **Fitur & Pengaturan**, lalu pilih **Izin**.

1. Pada halaman **Izin**, untuk **kebijakan Registri** lihat JSON kebijakan Anda. Jika Anda memiliki kebijakan V1, spanduk ditampilkan dengan instruksi untuk memperbarui ke V2. Pilih **Aktifkan**.

   Spanduk menampilkan yang menunjukkan bahwa cakupan kebijakan registri telah diperbarui ke V2.

1. Anda juga dapat mengonfigurasi izin secara opsional dengan CLI. Untuk informasi selengkapnya, lihat [Pengaturan registri pribadi di Amazon ECR](registry-settings.md).
**catatan**  
Untuk melihat atau memperbarui cakupan kebijakan registri, lihat prosedur CLI di halaman ini.

------
#### [ AWS CLI ]

Amazon ECR menghasilkan kebijakan registri V2. Gunakan langkah-langkah berikut untuk melihat atau memperbarui cakupan kebijakan registri. Anda tidak dapat melihat atau mengubah cakupan kebijakan registri di konsol
+ Untuk mengambil kebijakan registri yang sedang Anda gunakan.

  ```
  aws ecr get-account-setting --name REGISTRY_POLICY_SCOPE
  ```

   Nama parameter adalah bidang wajib. Jika Anda tidak memberikan nama, Anda akan menerima kesalahan berikut:

  ```
   aws: error: the following arguments are required: --name
  ```

  Lihat output untuk perintah kebijakan registri Anda. Dalam contoh output berikut, versi kebijakan registri adalah V1.

  ```
  {
      "name": "REGISTRY_POLICY_SCOPE",
      "value": "V1"
  }
  ```

  Anda dapat mengubah versi kebijakan registri dari `V1` ke`V2`. V1 bukan cakupan kebijakan registri yang direkomendasikan.

  ```
  aws ecr put-account-setting --name REGISTRY_POLICY_SCOPE --value value
  ```

  Misalnya, gunakan perintah berikut untuk memperbarui ke V2.

  ```
  aws ecr put-account-setting --name REGISTRY_POLICY_SCOPE --value V2
  ```

  Lihat output untuk perintah kebijakan registri Anda. Dalam contoh output berikut, versi kebijakan registri diperbarui ke V2.

  ```
  {
      "name": "REGISTRY_POLICY_SCOPE",
      "value": "V2"
  }
  ```

------

# Memberikan izin registri untuk replikasi lintas akun di Amazon ECR
<a name="registry-permissions-create-replication"></a>

Jenis kebijakan lintas akun digunakan untuk memberikan izin kepada AWS prinsipal, memungkinkan replikasi repositori dari registri sumber ke registri Anda. Secara default, Anda memiliki izin untuk mengonfigurasi replikasi antar wilayah dalam registri Anda sendiri. Anda hanya perlu mengonfigurasi kebijakan registri jika Anda memberikan izin akun lain untuk mereplikasi konten ke registri Anda.

Kebijakan registri harus memberikan izin untuk tindakan API `ecr:ReplicateImage`. API ini adalah API Amazon ECR internal yang dapat mereplikasi citra antar Wilayah atau akun. Anda juga dapat memberikan izin untuk ` ecr:CreateRepository`, yang memungkinkan Amazon ECR untuk membuat repositori di registri Anda jika belum ada. Jika izin `ecr:CreateRepository` tidak diberikan, repositori dengan nama yang sama dengan repositori sumber harus dibuat secara manual di registri Anda. Jika keduanya tidak dilakukan, replikasi gagal. Setiap tindakan yang gagal `CreateRepository` atau `ReplicateImage` API muncul di CloudTrail.

## Untuk mengonfigurasi kebijakan izin untuk replikasi ()Konsol Manajemen AWS
<a name="registry-permissions-create-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 mengonfigurasi kebijakan registri Anda.

1. Di panel navigasi, pilih **Registri pribadi**, pilih **Fitur & Pengaturan**, lalu pilih **Izin**.

1. Pada halaman **Izin registri**, pilih **Hasilkan pernyataan**.

1. Menyelesaikan langkah-langkah berikut untuk menentukan pernyataan kebijakan Anda menggunakan kebijakan generator.

   1. Untuk **jenis Kebijakan**, pilih **Replikasi - lintas akun**.

   1. Untuk **id Pernyataan**, masukkan ID pernyataan unik. Bidang ini digunakan sebagai `Sid` pada kebijakan registri.

   1. Untuk **Akun**, masukkan akun IDs untuk setiap akun yang ingin Anda berikan izin. Saat menentukan beberapa akun IDs, pisahkan dengan koma.

1. Pilih **Simpan**.

## Untuk mengonfigurasi kebijakan izin untuk replikasi ()AWS CLI
<a name="registry-permissions-create-cli"></a>

1. Buat file bernama `registry_policy.json` dan isi dengan kebijakan registri.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement":[
           {
               "Sid":"ReplicationAccessCrossAccount",
               "Effect":"Allow",
               "Principal":{
                   "AWS":"arn:aws:iam::111122223333:root"
               },
               "Action":[
                   "ecr:CreateRepository",
                   "ecr:ReplicateImage"
               ],
               "Resource": [
                   "arn:aws:ecr:us-west-2:444455556666:repository/*"
               ]
           }
       ]
   }
   ```

------

1. Buat kebijakan registri menggunakan file kebijakan.

   ```
   aws ecr put-registry-policy \
         --policy-text file://registry_policy.json \
         --region us-west-2
   ```

1. Ambil kebijakan untuk registri Anda untuk mengonfirmasi.

   ```
   aws ecr get-registry-policy \
         --region us-west-2
   ```

# Memberikan izin registri untuk menarik cache di Amazon ECR
<a name="registry-permissions-create-pullthroughcache"></a>

Izin registri pribadi Amazon ECR dapat digunakan untuk mencakup izin entitas IAM individu untuk menggunakan cache pull through. Jika entitas IAM memiliki lebih banyak izin yang diberikan oleh kebijakan IAM daripada yang diberikan oleh kebijakan izin registri, kebijakan IAM akan diutamakan.

**Untuk membuat kebijakan izin registri pribadi ()Konsol Manajemen AWS**

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 mengonfigurasi pernyataan izin registri pribadi Anda.

1. Di panel navigasi, pilih **Registri pribadi**, pilih **Fitur & Pengaturan**, lalu pilih **Izin**.

1. Pada halaman **Izin registri**, pilih **Hasilkan pernyataan**.

1. Untuk setiap pull through pernyataan kebijakan izin cache yang ingin Anda buat, lakukan hal berikut.

   1. Untuk **jenis Kebijakan**, pilih **Tarik kebijakan cache**.

   1. Untuk **id Pernyataan**, berikan nama untuk kebijakan pernyataan cache tarik melalui.

   1. Untuk **entitas IAM**, tentukan pengguna, grup, atau peran yang akan disertakan dalam kebijakan.

   1. Untuk **namespace Cache**, pilih aturan pull through cache untuk mengaitkan kebijakan dengan.

   1. Untuk nama **Repositori, tentukan nama** dasar repositori untuk menerapkan aturan. Misalnya, jika Anda ingin menentukan repositori Amazon Linux di Amazon ECR Public, nama repositori akan menjadi. ` amazonlinux`