

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

# Amazon Elastic Container Registry
<a name="security"></a>

Keamanan cloud di AWS adalah prioritas tertinggi. Sebagai AWS pelanggan, Anda mendapat manfaat dari pusat data dan arsitektur jaringan yang dibangun untuk memenuhi persyaratan organisasi yang paling sensitif terhadap keamanan.

Keamanan adalah tanggung jawab bersama antara Anda AWS dan Anda. [Model tanggung jawab bersama](https://aws.amazon.com/compliance/shared-responsibility-model/) menggambarkan hal ini sebagai keamanan *dari* cloud dan keamanan *di* cloud:
+ **Keamanan cloud** — AWS bertanggung jawab untuk melindungi infrastruktur yang menjalankan AWS layanan di AWS Cloud. AWS juga memberi Anda layanan yang dapat Anda gunakan dengan aman. Auditor pihak ke tiga menguji dan memverifikasi efektivitas keamanan kami sebagai bagian dari [Program kepatuhan AWS](https://aws.amazon.com/compliance/programs/) secara berkala. Untuk mempelajari tentang program kepatuhan yang berlaku di Amazon ECR, lihat [Layanan AWS dalam Cakupan melalui Program Kepatuhan](https://aws.amazon.com/compliance/services-in-scope/).
+ **Keamanan di cloud** — Tanggung jawab Anda ditentukan oleh AWS layanan yang Anda gunakan. Anda juga bertanggung jawab atas faktor lain, yang mencakup sensitivitas data Anda, persyaratan perusahaan Anda, serta undang-undang dan peraturan yang berlaku. 

Dokumentasi ini membantu Anda memahami cara menerapkan model tanggung jawab bersama saat menggunakan Amazon ECR. Topik berikut menunjukkan kepada Anda cara mengonfigurasi Amazon ECR untuk memenuhi tujuan keamanan dan kepatuhan Anda. Anda juga mempelajari cara menggunakan AWS layanan lain yang membantu Anda memantau dan mengamankan sumber daya Amazon ECR Anda. 

**Topics**
+ [Identity and Access Management untuk Amazon Elastic Container Registry](security-iam.md)
+ [Perlindungan data dalam Amazon ECR](data-protection.md)
+ [Validasi kepatuhan Amazon Elastic Container Registry](ecr-compliance.md)
+ [Keamanan Infrastruktur di Amazon Elastic Container Registry](infrastructure-security.md)
+ [Pencegahan "confused deputy" lintas layanan](cross-service-confused-deputy-prevention.md)

# Identity and Access Management untuk Amazon Elastic Container Registry
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) adalah Layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. Administrator IAM mengontrol siapa yang dapat *diautentikasi* (masuk) dan *diotorisasi* (mendapatkan izin) untuk menggunakan sumber daya Amazon ECR. IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

**Topics**
+ [Audiens](#security_iam_audience)
+ [Mengautentikasi dengan identitas](#security_iam_authentication)
+ [Mengelola akses menggunakan kebijakan](#security_iam_access-manage)
+ [Bagaimana Amazon Elastic Container Registry bekerja dengan IAM](security_iam_service-with-iam.md)
+ [Contoh kebijakan berbasis identitas Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md)
+ [Menggunakan Kontrol Akses Berbasis Tanda](ecr-supported-iam-actions-tagging.md)
+ [AWS kebijakan terkelola untuk Amazon Elastic Container Registry](security-iam-awsmanpol.md)
+ [Menggunakan Peran Terkait Layanan untuk Amazon ECR](using-service-linked-roles.md)
+ [Pemecahan Masalah Identitas dan Akses Amazon Elastic Container Registry](security_iam_troubleshoot.md)

## Audiens
<a name="security_iam_audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda berdasarkan peran Anda:
+ **Pengguna layanan** - minta izin dari administrator Anda jika Anda tidak dapat mengakses fitur (lihat [Pemecahan Masalah Identitas dan Akses Amazon Elastic Container Registry](security_iam_troubleshoot.md))
+ **Administrator layanan** - tentukan akses pengguna dan mengirimkan permintaan izin (lihat [Bagaimana Amazon Elastic Container Registry bekerja dengan IAM](security_iam_service-with-iam.md))
+ **Administrator IAM** - tulis kebijakan untuk mengelola akses (lihat [Contoh kebijakan berbasis identitas Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md))

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengasumsikan peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensyal dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensyal. Google/Facebook Untuk informasi selengkapnya tentang cara masuk, lihat [Cara masuk ke Akun AWS Anda](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dalam *Panduan Pengguna AWS Sign-In *.

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [AWS Signature Version 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dalam *Panduan Pengguna IAM*.

### Akun AWS pengguna root
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Untuk tugas yang memerlukan kredensial pengguna root, lihat [Tugas yang memerlukan kredensial pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dalam *Panduan Pengguna IAM*. 

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensial sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensyal sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) menentukan kumpulan pengguna IAM dan mempermudah pengelolaan izin untuk pengguna dalam jumlah besar. Untuk mempelajari selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dalam *Panduan Pengguna IAM*.

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dengan izin khusus yang menyediakan kredensial sementara. Anda dapat mengambil peran dengan [beralih dari pengguna ke peran IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) atau dengan memanggil operasi AWS CLI atau AWS API. Untuk informasi selengkapnya, lihat [Metode untuk mengambil peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dalam *Panduan Pengguna IAM*.

Peran IAM berguna untuk akses pengguna terfederasi, izin pengguna IAM sementara, akses lintas akun, akses lintas layanan, dan aplikasi yang berjalan di Amazon EC2. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Mengelola akses menggunakan kebijakan
<a name="security_iam_access-manage"></a>

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke AWS identitas atau sumber daya. Kebijakan menentukan izin saat dikaitkan dengan identitas atau sumber daya. AWS mengevaluasi kebijakan ini ketika kepala sekolah membuat permintaan. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Untuk informasi selengkapnya tentang dokumen kebijakan JSON, lihat [Gambaran umum kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dalam *Panduan Pengguna IAM*.

Menggunakan kebijakan, administrator menentukan siapa yang memiliki akses ke apa dengan mendefinisikan **principal** mana yang dapat melakukan **tindakan** pada **sumber daya** apa, dan dalam **kondisi** apa.

Secara default, pengguna dan peran tidak memiliki izin. Administrator IAM membuat kebijakan IAM dan menambahkannya ke peran, yang kemudian dapat diambil oleh pengguna. Kebijakan IAM mendefinisikan izin terlepas dari metode yang Anda gunakan untuk melakukan operasinya.

### Kebijakan berbasis identitas
<a name="security_iam_access-manage-id-based-policies"></a>

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang Anda lampirkan ke identitas (pengguna, grup, atau peran). Kebijakan ini mengontrol tindakan apa yang bisa dilakukan oleh identitas tersebut, terhadap sumber daya yang mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Kebijakan berbasis identitas dapat berupa *kebijakan inline* (disematkan langsung ke dalam satu identitas) atau *kebijakan terkelola* (kebijakan mandiri yang dilampirkan pada banyak identitas). Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat [Pilih antara kebijakan terkelola dan kebijakan inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dalam *Panduan Pengguna IAM*.

### Kebijakan berbasis sumber daya
<a name="security_iam_access-manage-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contohnya termasuk *kebijakan kepercayaan peran IAM* dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya.

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidak dapat menggunakan kebijakan AWS terkelola dari IAM dalam kebijakan berbasis sumber daya.

### Jenis-jenis kebijakan lain
<a name="security_iam_access-manage-other-policies"></a>

AWS mendukung jenis kebijakan tambahan yang dapat menetapkan izin maksimum yang diberikan oleh jenis kebijakan yang lebih umum:
+ **Batasan izin** – Menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM. Untuk informasi selengkapnya, lihat [Batasan izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dalam *Panduan Pengguna IAM*.
+ **Kebijakan kontrol layanan (SCPs)** — Tentukan izin maksimum untuk organisasi atau unit organisasi di AWS Organizations. Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dalam *Panduan Pengguna AWS Organizations *.
+ **Kebijakan kontrol sumber daya (RCPs)** — Tetapkan izin maksimum yang tersedia untuk sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Kebijakan kontrol sumber daya (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) di *Panduan AWS Organizations Pengguna*.
+ **Kebijakan sesi** – Kebijakan lanjutan yang diteruskan sebagai parameter saat membuat sesi sementara untuk peran atau pengguna terfederasi. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dalam *Panduan Pengguna IAM*.

### Berbagai jenis kebijakan
<a name="security_iam_access-manage-multiple-policies"></a>

Ketika beberapa jenis kebijakan berlaku pada suatu permintaan, izin yang dihasilkan lebih rumit untuk dipahami. Untuk mempelajari cara AWS menentukan apakah akan mengizinkan permintaan saat beberapa jenis kebijakan terlibat, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*.

# Bagaimana Amazon Elastic Container Registry bekerja dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum menggunakan IAM untuk mengelola akses ke Amazon ECR, Anda harus memahami fitur IAM mana yang tersedia untuk digunakan dengan Amazon ECR. *Untuk mendapatkan tampilan tingkat tinggi tentang cara Amazon ECR dan AWS layanan lainnya bekerja dengan IAM, lihat [AWS Layanan yang Bekerja dengan IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).*

**Topics**
+ [Kebijakan berbasis Identitas Amazon ECR](#security_iam_service-with-iam-id-based-policies)
+ [Kebijakan berbasis sumber daya Amazon ECR](#security_iam_service-with-iam-resource-based-policies)
+ [Otorisasi berdasarkan tag Amazon ECR](#security_iam_service-with-iam-tags)
+ [Peran Amazon ECR IAM](#security_iam_service-with-iam-roles)

## Kebijakan berbasis Identitas Amazon ECR
<a name="security_iam_service-with-iam-id-based-policies"></a>

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak, serta kondisi di mana tindakan tersebut diperbolehkan atau ditolak. Amazon ECR support tindakan, sumber daya, dan kunci syarat tertentu. Untuk mempelajari semua elemen yang Anda gunakan dalam kebijakan JSON, lihat [Referensi Elemen kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Tindakan
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Tindakan kebijakan di Amazon ECR menggunakan prefiks berikut sebelum tindakan: `ecr:` Misalnya, untuk memberikan izin kepada seseorang untuk menggambarkan instans DB dengan operasi `CreateRepository` API Amazon ECR, Anda menyertakan tindakan `ecr:CreateRepository` dalam kebijakan mereka. Pernyataan kebijakan harus memuat elemen `Action` atau `NotAction`. Amazon ECR menentukan serangkaian tindakannya sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma seperti berikut:

```
"Action": [
      "ecr:action1",
      "ecr:action2"
```

Anda dapat menentukan beberapa tindakan menggunakan wildcard (\$1). Misalnya, untuk menentukan semua tindakan yang dimulai dengan kata `Describe`, sertakan tindakan berikut:

```
"Action": "ecr:Describe*"
```



Untuk melihat daftar tindakan Amazon ECR, lihat[Tindakan, Sumber Daya, dan kunci syarat untuk Amazon Elastic Elastic](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html) di *Panduan Pengguna IAM*.

### Sumber daya
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```



Sumber daya repositori Amazon ECR memiliki ARN berikut:

```
arn:${Partition}:ecr:${Region}:${Account}:repository/${Repository-name}
```

Untuk informasi selengkapnya tentang format ARNs, lihat [Amazon Resource Names (ARNs) dan Ruang Nama AWS Layanan](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Misalnya, untuk menentukan wilayah `us-east-1` `my-repo` repositori dalam pernyataan Anda, gunakan ARN berikut:

```
"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
```

Untuk menentukan semua repositori milik akun tertentu, gunakan wildcard (\$1):

```
"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/*"
```

Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARNs dengan koma. 

```
"Resource": [
      "resource1",
      "resource2"
```

Untuk melihat daftar jenis sumber daya Amazon ECR dan jenisnya ARNs, lihat Sumber Daya yang [Ditetapkan oleh Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-resources-for-iam-policies) di *Panduan Pengguna IAM*. Untuk mempelajari tindakan mana yang dapat menentukan ARN setiap sumber daya, lihat [Tindakan yang Ditentukan oleh Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

### Kunci syarat
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

Amazon ECR menentukan set kunci syaratnya sendiri dan juga support penggunaan beberapa kunci syarat global. Untuk melihat semua kunci kondisi AWS global, lihat [Kunci Konteks Kondisi AWS Global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.



Semua tindakan Amazon ECR support kunci syarat `aws:ResourceTag` dan `ecr:ResourceTag`. Untuk informasi selengkapnya, lihat [Menggunakan Kontrol Akses Berbasis Tanda](ecr-supported-iam-actions-tagging.md).

Untuk melihat daftar kunci syarat Amazon ECR, lihat [Kondisi Kunci yang Ditetapkan oleh Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-policy-keys) dalam *Panduan Pengguna IAM*. Untuk mempelajari tindakan dan sumber daya yang mana Anda diperbolehkan menggunakan kunci syarat, lihat [Tindakan yang Ditentukan oleh Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

### Contoh
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk melihat contoh kebijakan berbasis identitas Amazon ECR, lihat [Contoh kebijakan berbasis identitas Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

## Kebijakan berbasis sumber daya Amazon ECR
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang menentukan tindakan yang dapat dilakukan oleh prinsipal tertentu pada sumber daya Amazon ECR dan dengan syarat apa. Amazon ECR support kebijakan izin berbasis sumber daya untuk repositori Amazon ECR. Kebijakan berbasis sumber daya mengizinkan Anda memberikan izin penggunaan ke akun lain berdasarkan penggunaan sumber daya. Anda juga dapat menggunakan kebijakan berbasis sumber daya untuk mengizinkan layanan AWS mengakses repositori Amazon ECR Anda.

Untuk mengaktifkan akses lintas akun, Anda dapat menentukan seluruh akun atau entitas IAM di akun lain sebagai [prinsipal dalam kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Menambahkan principal akun silang ke kebijakan berbasis sumber daya hanya setengah dari membangun hubungan kepercayaan. Ketika prinsipal dan sumber daya berada di AWS akun yang berbeda, Anda juga harus memberikan izin entitas utama untuk mengakses sumber daya. Berikan izin dengan melampirkan kebijakan berbasis identitas ke entitas tersebut. Namun, jika kebijakan berbasis sumber daya memberikan akses ke prinsipal di akun yang sama, Anda tidak memerlukan izin repositori Amazon ECR tambahan dalam kebijakan berbasis identitas. Untuk informasi selengkapnya, lihat [Bagaimana IAM role Berbeda dengan Kebijakan Berbasis Sumber Daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) dalam *Panduan Pengguna IAM*.

Layanan Amazon ECR hanya support satu jenis kebijakan berbasis sumber daya yang disebut *kebijakan repositori*, yang terlampir pada *repositori*. Kebijakan ini menentukan entitas prinsipal (akun, pengguna, peran, dan pengguna gabungan) yang dapat melakukan tindakan pada repositori. Untuk mempelajari cara melampirkan kebijakan berbasis sumber daya ke repositori, lihat [Kebijakan repositori pribadi di Amazon ECR](repository-policies.md).

**catatan**  
Dalam kebijakan repositori Amazon ECR, elemen kebijakan `Sid` mendukung karakter tambahan dan spasi yang tidak didukung dalam kebijakan IAM.

### Contoh
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Untuk melihat contoh kebijakan berbasis sumber daya Amazon ECR, lihat [Contoh kebijakan repositori pribadi di Amazon ECR](repository-policy-examples.md),

## Otorisasi berdasarkan tag Amazon ECR
<a name="security_iam_service-with-iam-tags"></a>

Anda dapat melampirkan tanda di sumber daya Amazon ECR atau tanda yang lolos dalam permintaan untuk Amazon ECR. Untuk mengontrol akses berdasarkan tandanya, Anda memberikan informasi tanda di [elemen syarat](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) kebijakan dengan menggunakan kunci syarat `ecr:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`. Untuk informasi lebih lanjut tentang penandaan Amazon ECR sumber daya, lihat [Menandai repositori pribadi di Amazon ECR](ecr-using-tags.md).

Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tanda pada sumber daya tersebut, lihat [Menggunakan Kontrol Akses Berbasis Tanda](ecr-supported-iam-actions-tagging.md).

## Peran Amazon ECR IAM
<a name="security_iam_service-with-iam-roles"></a>

[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) adalah entitas dalam AWS akun Anda yang memiliki izin tertentu.

### Menggunakan kredensial sementara dengan Amazon ECR
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Anda dapat menggunakan kredensial sementara untuk masuk dengan gabungan, menjalankan IAM role, atau menjalankan peran lintas akun. Anda memperoleh kredensil keamanan sementara dengan memanggil operasi AWS STS API seperti [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)atau. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 

Amazon ECR support penggunaan kredensial sementara. 

### Peran terkait layanan
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[Peran terkait AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) memungkinkan layanan mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran terkait layanan muncul di akun IAM Anda dan dimiliki oleh layanan tersebut. Administrator IAM dapat melihat tetapi tidak dapat mengedit izin untuk peran terkait layanan.

Amazon ECR mendukung peran terkait layanan. Untuk informasi selengkapnya, lihat [Menggunakan Peran Terkait Layanan untuk Amazon ECR](using-service-linked-roles.md).

# Contoh kebijakan berbasis identitas Amazon Elastic Container Registry
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau memodifikasi sumber daya Amazon ECR. Untuk memberikan izin kepada pengguna untuk melakukan tindakan di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM.

*Untuk mempelajari cara membuat kebijakan berbasis identitas IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan IAM (konsol) di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).*

Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh Amazon ECR, termasuk format ARNs untuk setiap jenis sumber daya, lihat [Kunci tindakan, sumber daya, dan kondisi untuk Registri Penampung Elastis Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/ecr.html) di Referensi *Otorisasi Layanan*.

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat Kebijakan pada Tab JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) dalam *Panduan Pengguna IAM*.

**Topics**
+ [Praktik Terbaik Kebijakan](#security_iam_service-with-iam-policy-best-practices)
+ [Menggunakan konsol Amazon ECR](#security_iam_id-based-policy-examples-console)
+ [Izinkan Pengguna untuk Melihat Izin Mereka Sendiri](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Mengakses Satu Repositori Amazon ECR](#security_iam_id-based-policy-examples-access-one-bucket)

## Praktik Terbaik Kebijakan
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus sumber daya Amazon ECR di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin** kepada pengguna dan beban kerja Anda, gunakan *kebijakan AWS terkelola* yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+ **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+ **Memerlukan otentikasi multi-faktor (MFA)** - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

## Menggunakan konsol Amazon ECR
<a name="security_iam_id-based-policy-examples-console"></a>

Untuk mengakses konsol Amazon Elastic Container Registry, Anda harus memiliki rangkaian izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang sumber daya Amazon ECR di akun Anda AWS . Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Untuk memastikan bahwa entitas tersebut masih dapat menggunakan konsol Amazon ECR, tambahkan kebijakan `AmazonEC2ContainerRegistryReadOnly` AWS terkelola ke entitas. Untuk informasi selengkapnya, lihat [Menambahkan Izin ke Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

Untuk melihat izin kebijakan ini, lihat [AmazonElasticContainerRegistryPublicReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElasticContainerRegistryPublicReadOnly.html)di *Referensi Kebijakan AWS Terkelola*.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai alternatif, hanya izinkan akses ke tindakan yang cocok dengan operasi API yang sedang Anda coba lakukan.

## Izinkan Pengguna untuk Melihat Izin Mereka Sendiri
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Mengakses Satu Repositori Amazon ECR
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

Dalam contoh ini, Anda ingin memberikan pengguna di AWS akun Anda akses ke salah satu repositori Amazon ECR Anda,. `my-repo` Anda juga ingin mengizinkan pengguna untuk mendorong, menarik, dan memasukkan citra.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"GetAuthorizationToken",
         "Effect":"Allow",
         "Action":[
            "ecr:GetAuthorizationToken"
         ],
         "Resource":"*"
      },
      {
         "Sid":"ManageRepositoryContents",
         "Effect":"Allow",
         "Action":[
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:ListImages",
                "ecr:DescribeImages",
                "ecr:BatchGetImage",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage"
         ],
         "Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
      }
   ]
}
```

------

# Menggunakan Kontrol Akses Berbasis Tanda
<a name="ecr-supported-iam-actions-tagging"></a>

Tindakan Amazon ECR `CreateRepository` API memungkinkan Anda menentukan tag saat membuat repositori. Untuk informasi selengkapnya, lihat [Menandai repositori pribadi di Amazon ECR](ecr-using-tags.md).

Untuk mengizinkan pengguna menandai repositori pada pembuatan, mereka harus memiliki izin untuk menggunakan tindakan yang membuat sumber daya (misalnya, `ecr:CreateRepository`). Jika tanda ditentukan dalam aksi pembuatan sumber daya, Amazon melakukan otorisasi tambahan pada tindakan `ecr:CreateRepository` untuk memverifikasi apakah pengguna memiliki izin untuk membuat tanda.

Anda dapat menggunakan kontrol akses berbasis tag melalui kebijakan IAM. Berikut ini adalah beberapa contohnya.

Kebijakan berikut hanya akan mengizinkan pengguna untuk membuat atau menandai repositori sebagai. `key=environment,value=dev`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateTaggedRepository",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "dev"
                }
            }
        },
        {
            "Sid": "AllowTagRepository",
            "Effect": "Allow",
            "Action": [
                "ecr:TagResource"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "dev"
                }
            }
        }
    ]
}
```

------

Kebijakan berikut akan memungkinkan pengguna untuk menarik gambar dari semua repositori kecuali mereka ditandai sebagai. `key=environment,value=prod`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ecr:ResourceTag/environment": "prod"
                }
            }
        }
    ]
}
```

------

# AWS kebijakan terkelola untuk Amazon Elastic Container Registry
<a name="security-iam-awsmanpol"></a>

Kebijakan AWS terkelola adalah kebijakan mandiri yang dibuat dan dikelola oleh AWS. AWS Kebijakan terkelola dirancang untuk memberikan izin bagi banyak kasus penggunaan umum sehingga Anda dapat mulai menetapkan izin kepada pengguna, grup, dan peran.

Perlu diingat bahwa kebijakan AWS terkelola mungkin tidak memberikan izin hak istimewa paling sedikit untuk kasus penggunaan spesifik Anda karena tersedia untuk digunakan semua pelanggan. AWS Kami menyarankan Anda untuk mengurangi izin lebih lanjut dengan menentukan [kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) yang khusus untuk kasus penggunaan Anda.

Anda tidak dapat mengubah izin yang ditentukan dalam kebijakan AWS terkelola. Jika AWS memperbarui izin yang ditentukan dalam kebijakan AWS terkelola, pembaruan akan memengaruhi semua identitas utama (pengguna, grup, dan peran) yang dilampirkan kebijakan tersebut. AWS kemungkinan besar akan memperbarui kebijakan AWS terkelola saat baru Layanan AWS diluncurkan atau operasi API baru tersedia untuk layanan yang ada.

Untuk informasi selengkapnya, lihat [Kebijakan terkelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dalam *Panduan Pengguna IAM*.

Amazon ECR menyediakan beberapa kebijakan terkelola yang dapat Anda lampirkan ke identitas IAM atau ke instans Amazon EC2. Kebijakan terkelola ini memungkinkan tingkat kontrol yang berbeda atas akses ke sumber daya Amazon ECR dan operasi API. Untuk informasi lebih lanjut tentang setiap operasi API yang disebutkan dalam kebijakan ini, lihat [Tindakan](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_Operations.html) di *Referensi Amazon Elastic Container Registry*.

**Topics**
+ [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess)
+ [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser)
+ [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly)
+ [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly)
+ [`AWSECRPullThroughCache_ServiceRolePolicy`](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy)
+ [`ECRReplicationServiceRolePolicy`](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy)
+ [`ECRTemplateServiceRolePolicy`](#security-iam-awsmanpol-ECRTemplateServiceRolePolicy)
+ [Amazon ECR memperbarui kebijakan AWS terkelola](#security-iam-awsmanpol-updates)

## Amazon EC2 ContainerRegistryFullAccess
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess"></a>

Anda dapat melampirkan kebijakan `AmazonEC2ContainerRegistryFullAccess` ke identitas IAM Anda. Kebijakan ini memberikan akses administratif ke sumber daya Amazon ECR dan memberikan identitas IAM (seperti pengguna, grup, atau peran) akses ke layanan AWS yang terintegrasi dengan Amazon ECR untuk menggunakan semua fitur Amazon ECR. Menggunakan kebijakan ini memungkinkan akses ke semua fitur Amazon ECR yang tersedia di. Konsol Manajemen AWS

Untuk melihat izin kebijakan ini, lihat [Amazon EC2 ContainerRegistryFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html) di *Referensi Kebijakan AWS Terkelola*.

## Amazon EC2 ContainerRegistryPowerUser
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser"></a>

Anda dapat melampirkan kebijakan `AmazonEC2ContainerRegistryPowerUser` ke identitas IAM. Kebijakan ini memberikan izin administratif yang mengizinkan pengguna IAM membaca dan menulis ke repositori, namun tidak mengizinkan mereka menghapus repositori atau mengubah dokumen kebijakan yang diterapkan di dalamnya.

Untuk melihat izin kebijakan ini, lihat [Amazon EC2 ContainerRegistryPowerUser](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPowerUser.html) di *Referensi Kebijakan AWS Terkelola*.

## Amazon EC2 ContainerRegistryPullOnly
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly"></a>

Anda dapat melampirkan kebijakan `AmazonEC2ContainerRegistryPullOnly` ke identitas IAM Anda. Kebijakan ini memberikan izin untuk menarik gambar kontainer dari Amazon ECR. Jika registri diaktifkan untuk cache pull-through, itu juga akan memungkinkan penarikan untuk mengimpor gambar dari registri hulu.

Untuk melihat izin kebijakan ini, lihat [Amazon EC2 ContainerRegistryPullOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPullOnly.html) di *Referensi Kebijakan AWS Terkelola*.

## Amazon EC2 ContainerRegistryReadOnly
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly"></a>

Anda dapat melampirkan kebijakan `AmazonEC2ContainerRegistryReadOnly` ke identitas IAM. Kebijakan ini memberikan izin baca saja untuk Amazon ECR. Ini termasuk kemampuan untuk membuat daftar repositori dan citra dalam repositori. Ini juga mencakup kemampuan untuk menarik citra dari Amazon ECR dengan Docker CLI.

Untuk melihat izin kebijakan ini, lihat [Amazon EC2 ContainerRegistryReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryReadOnly.html) di *Referensi Kebijakan AWS Terkelola*.

## `AWSECRPullThroughCache_ServiceRolePolicy`
<a name="security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy"></a>

Anda tidak dapat melampirkan kebijakan IAM `AWSECRPullThroughCache_ServiceRolePolicy` terkelola ke entitas IAM Anda. Kebijakan ini dilampirkan ke peran terkait layanan yang memungkinkan Amazon ECR untuk mendorong gambar ke repositori Anda melalui alur kerja pull through cache. Untuk informasi selengkapnya, lihat [Peran terkait layanan Amazon ECR untuk menarik cache](slr-pullthroughcache.md).

## `ECRReplicationServiceRolePolicy`
<a name="security-iam-awsmanpol-ECRReplicationServiceRolePolicy"></a>

Anda tidak dapat melampirkan kebijakan IAM `ECRReplicationServiceRolePolicy` terkelola ke entitas IAM Anda. Kebijakan ini dilampirkan ke peran terkait layanan yang mengizinkan Amazon ECR melakukan tindakan atas nama Anda. Untuk informasi selengkapnya, lihat [Menggunakan Peran Terkait Layanan untuk Amazon ECR](using-service-linked-roles.md).

## `ECRTemplateServiceRolePolicy`
<a name="security-iam-awsmanpol-ECRTemplateServiceRolePolicy"></a>

Anda tidak dapat melampirkan kebijakan IAM `ECRTemplateServiceRolePolicy` terkelola ke entitas IAM Anda. Kebijakan ini dilampirkan ke peran terkait layanan yang mengizinkan Amazon ECR melakukan tindakan atas nama Anda. Untuk informasi selengkapnya, lihat [Menggunakan Peran Terkait Layanan untuk Amazon ECR](using-service-linked-roles.md).

## Amazon ECR memperbarui kebijakan AWS terkelola
<a name="security-iam-awsmanpol-updates"></a>

Lihat detail tentang pembaruan kebijakan AWS terkelola untuk Amazon ECR sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, silakan berlangganan RSS feed pada halaman riwayat Dokumen Amazon ECR.

 


| Perubahan | Deskripsi | Tanggal | 
| --- | --- | --- | 
|  [Peran terkait layanan Amazon ECR untuk menarik cache](slr-pullthroughcache.md) — Permbaruan ke kebijakan yang sudah ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AWSECRPullThroughCache_ServiceRolePolicy`. Izin ini memungkinkan Amazon ECR untuk menarik gambar dari registri pribadi ECR. Ini diperlukan saat menggunakan aturan pull through cache untuk menyimpan gambar dari registri pribadi Amazon ECR lainnya.   | Maret 12, 2025 | 
|  [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly) - Kebijakan baru  |  Amazon ECR menambahkan kebijakan baru yang memberikan izin khusus tarik ke Amazon ECR.  | Oktober 10, 2024 | 
|  [ECRTemplateServiceRolePolicy](slr-rct.md) – Kebijakan baru  |  Amazon ECR menambahkan kebijakan baru. Kebijakan ini dikaitkan dengan peran `ECRTemplateServiceRolePolicy` terkait layanan untuk fitur template pembuatan repositori.  | Juni 20, 2024 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](slr-pullthroughcache.md) – Pembaruan ke kebijakan yang ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AWSECRPullThroughCache_ServiceRolePolicy`. Izin ini memungkinkan Amazon ECR untuk mengambil konten terenkripsi dari rahasia Secrets Manager. Ini diperlukan saat menggunakan aturan pull through cache untuk menyimpan gambar dari registri hulu yang memerlukan otentikasi.  | 15 November 2023 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy) – Kebijakan baru  |  Amazon ECR menambahkan kebijakan baru. Kebijakan ini dikaitkan dengan peran `AWSServiceRoleForECRPullThroughCache` terkait layanan untuk fitur pull through cache.  | 29 November 2021 | 
|  [ECRReplicationServiceRolePolicy](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy) – Kebijakan baru  |  Amazon ECR menambahkan kebijakan baru. Kebijakan ini dikaitkan dengan peran `AWSServiceRoleForECRReplication` terkait layanan untuk fitur replikasi.  | 4 Desember 2020 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) - Perbarui ke kebijakan yang ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AmazonEC2ContainerRegistryFullAccess`. Izin ini mengizinkan prinsipal untuk membuat peran terkait layanan Amazon ECR.  | 4 Desember 2020 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) - Perbarui ke kebijakan yang ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AmazonEC2ContainerRegistryReadOnly` yang mengizinkan prinsipal untuk membaca kebijakan siklus hidup, daftar tanda, dan menjelaskan temuan pemindaian untuk citra.  | 10 Desember 2019 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) - Perbarui ke kebijakan yang ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AmazonEC2ContainerRegistryPowerUser`. Mereka mengizinkan prinsipal untuk membaca kebijakan siklus hidup, daftar tanda, dan menjelaskan temuan pemindaian untuk citra.  | 10 Desember 2019 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) - Perbarui ke kebijakan yang ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AmazonEC2ContainerRegistryFullAccess`. Mereka memungkinkan kepala sekolah untuk mencari acara manajemen atau peristiwa AWS CloudTrail Wawasan yang ditangkap oleh. CloudTrail  | 10 November 2017 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) - Perbarui ke kebijakan yang ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AmazonEC2ContainerRegistryReadOnly`. Mereka mengizinkan prinsipal untuk menggambarkan citra Amazon ECR.  | 11 Oktober 2016 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) - Perbarui ke kebijakan yang ada  |  Amazon ECR menambahkan izin baru ke kebijakan `AmazonEC2ContainerRegistryPowerUser`. Mereka mengizinkan prinsipal untuk menggambarkan citra Amazon ECR.  | 11 Oktober 2016 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) - Kebijakan baru  |  Amazon ECR menambahkan kebijakan baru yang memberikan izin hanya-baca ke Amazon ECR. Izin ini mencakup kemampuan untuk membuat daftar repositori dan citra dalam repositori. Izin ini juga termasuk kemampuan untuk menarik citra dari Amazon ECR dengan Docker CLI.  | 21 Desember 2015 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) - Kebijakan baru  |  Amazon ECR menambahkan kebijakan baru yang memberikan izin administratif yang memungkinkan pengguna membaca dan menulis ke repositori tetapi tidak mengizinkan mereka untuk menghapus repositori atau mengubah dokumen kebijakan yang diterapkan padanya.  | 21 Desember 2015 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) - Kebijakan baru  |  Amazon ECR menambahkan kebijakan baru. Kebijakan ini juga memberikan akses penuh ke Amazon ECR.  | 21 Desember 2015 | 
|  Amazon ECR mulai melacak perubahan  |  Amazon ECR mulai melacak perubahan untuk kebijakan AWS terkelola.  | 24 Juni 2021 | 

# Menggunakan Peran Terkait Layanan untuk Amazon ECR
<a name="using-service-linked-roles"></a>

Amazon Elastic Container Registry (Amazon ECR) AWS Identity and Access Management menggunakan peran [terkait layanan (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) untuk memberikan izin yang diperlukan untuk menggunakan replikasi dan menarik fitur cache. Peran terkait layanan adalah jenis IAM role unik yang terhubung langsung ke Amazon ECR. Peran terkait layanan yang telah ditetapkan oleh Amazon ECR. Ini mencakup semua izin yang diperlukan layanan untuk mendukung replikasi dan menarik fitur cache untuk registri pribadi Anda. Setelah Anda mengonfigurasi replikasi atau menarik cache untuk registri Anda, peran terkait layanan dibuat secara otomatis atas nama Anda. Untuk informasi selengkapnya, lihat [Pengaturan registri pribadi di Amazon ECR](registry-settings.md).

Peran terkait layanan membuat pengaturan replikasi dan menarik cache dengan Amazon ECR lebih mudah. Hal ini karena, dengan menggunakannya, Anda tidak perlu menambahkan semua izin yang diperlukan secara manual. Amazon ECR menentukan izin peran terkait layanan, dan kecuali ditentukan lain, hanya Amazon ECR yang dapat menjalankan perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin. Kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Anda dapat menghapus peran terkait layanan yang sesuai hanya setelah menonaktifkan replikasi atau menarik cache pada registri Anda. Ini memastikan bahwa Anda tidak secara tidak sengaja menghapus izin yang diperlukan Amazon ECR untuk fitur-fitur ini.

Untuk informasi tentang layanan lain yang support peran terkait layanan, lihat [Layanan AWS yang bekerja dengan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Pada halaman tertaut ini, cari layanan yang memiliki **Ya** dalam kolom **Peran terkait layanan**. Pilih **Ya** dengan tautan untuk melihat dokumentasi peran terkait layanan untuk layanan tersebut.

**Topics**
+ [Wilayah yang Didukung untuk Peran Terkait Layanan Amazon ECR](#slr-regions)
+ [Peran terkait layanan Amazon ECR untuk replikasi](slr-replication.md)
+ [Peran terkait layanan Amazon ECR untuk menarik cache](slr-pullthroughcache.md)
+ [Peran terkait layanan Amazon ECR untuk templat pembuatan repositori](slr-rct.md)

## Wilayah yang Didukung untuk Peran Terkait Layanan Amazon ECR
<a name="slr-regions"></a>

Amazon ECR mendukung penggunaan peran terkait layanan di semua Wilayah tempat layanan ECR Amazon tersedia. Untuk informasi selengkapnya tentang ketersediaan Wilayah ECR Amazon, lihat [AWS Wilayah dan Titik Akhir](https://docs.aws.amazon.com/general/latest/gr/rande.html).

# Peran terkait layanan Amazon ECR untuk replikasi
<a name="slr-replication"></a>

Amazon ECR menggunakan peran terkait layanan bernama yang **AWSServiceRoleForECRReplication**memungkinkan Amazon ECR mereplikasi gambar di beberapa akun.

## Izin peran terkait layanan untuk Amazon ECR
<a name="slr-permissions"></a>

Peran AWSService RoleFor ECRReplication terkait layanan mempercayai layanan berikut untuk mengambil peran:
+ `replication.ecr.amazonaws.com`

Berikut ini kebijakan izin peran `ECRReplicationServiceRolePolicy` yang mengizinkan Amazon ECR untuk menggunakan tindakan berikut pada sumber daya:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**catatan**  
`ReplicateImage` adalah API internal yang digunakan oleh Amazon ECR untuk mereplikasi dan tidak dapat disebut secara langsung.

Anda harus mengonfigurasikan izin untuk mengizinkan entitas IAM (seperti pengguna, grup, atau peran) untuk membuat, mengedit, atau menghapus peran terkait layanan. Untuk informasi lebih lanjut, lihat [Izin Peran Terkait Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

## Membuat Peran Terkait Layanan untuk Amazon ECR
<a name="create-slr"></a>

Anda tidak perlu membuat peran terkait layanan untuk Amazon ECR secara manual. Saat Anda mengonfigurasi pengaturan replikasi untuk registri Anda di Konsol Manajemen AWS, API AWS CLI, atau AWS API, Amazon ECR akan membuat peran terkait layanan untuk Anda. 

Jika Anda menghapus peran terkait layanan ini, lalu ingin membuatnya lagi, Anda dapat menggunakan proses yang sama untuk membuat ulang peran tersebut di akun Anda. Saat Anda mengkonfigurasi pengaturan replikasi untuk registrasi Anda, Amazon ECR membuat peran terkait layanan untuk Anda kembali. 

## Mengedit Peran Terkait Layanan untuk Amazon ECR
<a name="edit-slr"></a>

Amazon ECR tidak mengizinkan pengeditan peran AWSService RoleFor ECRReplication terkait layanan secara manual. Setelah membuat peran terkait layanan, Anda tidak dapat mengubah nama peran karena berbagai entitas mungkin mereferensikan peran tersebut. Namun, Anda dapat menyunting penjelasan peran menggunakan IAM. Untuk informasi lebih lanjut, lihat [Mengedit peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dalam *Panduan Pengguna IAM*.

## Menghapus Peran Terkait Layanan untuk Amazon ECR
<a name="delete-slr"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, kami menyarankan Anda menghapus peran tersebut. Dengan begitu Anda tidak memiliki entitas yang tidak digunakan yang tidak dipantau atau dipelihara secara aktif. Namun, Anda harus menghapus konfigurasi replikasi untuk registrasi Anda di setiap Wilayah sebelum Anda dapat menghapus peran terkait layanan secara manual.

**catatan**  
Jika Anda mencoba untuk menghapus sumber daya ketika layanan Amazon ECR masih menggunakan peran, tindakan penghapusan yang Anda lakukan mungkin gagal. Jika hal tersebut terjadi, tunggu beberapa menit dan coba lagi.

**Untuk menghapus sumber daya Amazon ECR yang digunakan oleh AWSService RoleFor ECRReplication**

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

1. Dari bilah navigasi, pilih Wilayah konfigurasi di mana replikasi Anda diatur.

1. Di panel navigasi, pilih **Registri pribadi**.

1. Pada halaman **registri pribadi**, pada bagian **konfigurasi replikasi**, pilih **Edit**.

1. Untuk menghapus semua aturan replikasi Anda, pilih **Hapus semua**. Langkah ini membutuhkan konfirmasi.

**Untuk menghapus peran tertaut layanan secara manual menggunakan IAM**

Gunakan konsol IAM, the AWS CLI, atau AWS API untuk menghapus peran **AWSServiceRoleForECRReplication**terkait layanan. Untuk informasi selengkapnya, silakan lihat [Menghapus Peran Terkait Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) di *Panduan Pengguna IAM*.

# Peran terkait layanan Amazon ECR untuk menarik cache
<a name="slr-pullthroughcache"></a>

Amazon ECR menggunakan peran terkait layanan bernama **AWSServiceRoleForECRPullThroughCache**yang memberikan izin kepada Amazon ECR untuk melakukan tindakan atas nama Anda guna menyelesaikan tindakan pull through cache. Untuk informasi selengkapnya tentang pull through cache, lihat[Template untuk mengontrol repositori yang dibuat selama pull through cache, membuat saat push, atau tindakan replikasi](repository-creation-templates.md).

## Izin peran terkait layanan untuk Amazon ECR
<a name="slr-pullthroughcache-permissions"></a>

Peran **AWSServiceRoleForECRPullThroughCache**terkait layanan mempercayai layanan berikut untuk mengambil peran tersebut.
+ `pullthroughcache.ecr.amazonaws.com`

**Detail izin**

Kebijakan `AWSECRPullThroughCache_ServiceRolePolicy` izin dilampirkan ke peran terkait layanan. Kebijakan terkelola ini memberikan izin Amazon ECR untuk melakukan tindakan berikut. Untuk informasi selengkapnya, lihat [`AWSECRPullThroughCache_ServiceRolePolicy`](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy).
+ `ecr`— Memungkinkan layanan Amazon ECR untuk menarik dan mendorong gambar ke repositori pribadi.
+ `secretsmanager:GetSecretValue`— Memungkinkan layanan Amazon ECR untuk mengambil konten rahasia yang dienkripsi. AWS Secrets Manager Ini diperlukan saat menggunakan aturan pull through cache untuk menyimpan gambar dari registri upstream yang memerlukan otentikasi di registri pribadi Anda. Izin ini hanya berlaku untuk rahasia dengan awalan `ecr-pullthroughcache/` nama.

`AWSECRPullThroughCache_ServiceRolePolicy`Kebijakan ini berisi JSON berikut.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECR",
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage",
                "ecr:BatchGetImage",
                "ecr:BatchImportUpstreamImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetImageCopyStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:ecr-pullthroughcache/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

Anda harus mengonfigurasikan izin untuk mengizinkan entitas IAM (seperti pengguna, grup, atau peran) untuk membuat, mengedit, atau menghapus peran terkait layanan. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

## Membuat Peran Terkait Layanan untuk Amazon ECR
<a name="slr-pullthroughcache-create"></a>

Anda tidak perlu membuat peran terkait layanan Amazon ECR secara manual untuk menarik cache. Saat Anda membuat aturan cache pull through untuk registri pribadi Anda di Konsol Manajemen AWS, API AWS CLI, atau AWS API, Amazon ECR membuat peran terkait layanan untuk Anda. 

Jika Anda menghapus peran terkait layanan ini, lalu ingin membuatnya lagi, Anda dapat menggunakan proses yang sama untuk membuat ulang peran tersebut di akun Anda. Saat Anda membuat aturan cache pull through untuk registri pribadi Anda, Amazon ECR akan membuat peran terkait layanan untuk Anda lagi jika belum ada.

## Mengedit Peran Terkait Layanan untuk Amazon ECR
<a name="slr-pullthroughcache-edit"></a>

Amazon ECR tidak mengizinkan pengeditan peran **AWSServiceRoleForECRPullThroughCache**terkait layanan secara manual. Setelah peran terkait layanan dibuat, Anda tidak dapat mengubah nama peran karena berbagai entitas mungkin mereferensikan peran tersebut. Namun, Anda dapat mengedit penjelasan peran menggunakan IAM. Untuk informasi lebih lanjut, lihat [Mengedit peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dalam *Panduan Pengguna IAM*.

## Menghapus Peran Terkait Layanan untuk Amazon ECR
<a name="slr-pullthroughcache-delete"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, kami menyarankan Anda menghapus peran tersebut. Dengan begitu Anda tidak memiliki entitas yang tidak digunakan yang tidak dipantau atau dipelihara secara aktif. Namun, Anda harus menghapus aturan pull through cache untuk registri Anda di setiap Wilayah sebelum Anda dapat menghapus peran terkait layanan secara manual.

**catatan**  
Jika Anda mencoba menghapus sumber daya saat layanan Amazon ECR masih menggunakan peran tersebut, tindakan penghapusan Anda mungkin gagal. Jika hal tersebut terjadi, tunggu beberapa menit dan coba lagi.

**Untuk menghapus sumber daya Amazon ECR yang digunakan oleh peran terkait **AWSServiceRoleForECRPullThroughCache**layanan**

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

1. Dari bilah navigasi, pilih Wilayah tempat aturan cache tarik Anda dibuat.

1. Di panel navigasi, pilih **Registri pribadi**.

1. Pada halaman **registri pribadi**, pada bagian **konfigurasi Tarik melalui cache**, pilih **Edit**.

1. Untuk setiap aturan pull through cache yang telah Anda buat, pilih aturan dan kemudian pilih **Hapus aturan**.

**Untuk menghapus peran tertaut layanan secara manual menggunakan IAM**

Gunakan konsol IAM, the AWS CLI, atau AWS API untuk menghapus peran **AWSServiceRoleForECRPullThroughCache**terkait layanan. Untuk informasi selengkapnya, silakan lihat [Menghapus Peran Terkait Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) di *Panduan Pengguna IAM*.

# Peran terkait layanan Amazon ECR untuk templat pembuatan repositori
<a name="slr-rct"></a>

Amazon ECR menggunakan nama peran terkait layanan **AWSServiceRoleForECRTemplate**yang memberikan izin kepada Amazon ECR untuk melakukan tindakan atas nama Anda guna menyelesaikan tindakan template pembuatan repositori.

## Izin peran terkait layanan untuk Amazon ECR
<a name="slr-rct-permissions"></a>

Peran **AWSServiceRoleForECRTemplate**terkait layanan mempercayai layanan berikut untuk mengambil peran tersebut.
+ `ecr.amazonaws.com`

**Detail izin**

Kebijakan ``ECRTemplateServiceRolePolicy`` izin dilampirkan ke peran terkait layanan. Kebijakan terkelola ini memberikan izin Amazon ECR untuk melakukan tindakan pembuatan repositori atas nama Anda.

`ECRTemplateServiceRolePolicy`Kebijakan ini berisi JSON berikut.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
	    "Sid": "CreateRepositoryWithTemplate",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Anda harus mengonfigurasikan izin untuk mengizinkan entitas IAM (seperti pengguna, grup, atau peran) untuk membuat, mengedit, atau menghapus peran terkait layanan. Untuk informasi selengkapnya, lihat [Izin peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dalam *Panduan Pengguna IAM*.

## Membuat Peran Terkait Layanan untuk Amazon ECR
<a name="slr-rct-create"></a>

Anda tidak perlu membuat peran terkait layanan Amazon ECR secara manual untuk template pembuatan repositori. Saat Anda membuat aturan template pembuatan repositori untuk registri pribadi Anda di, API Konsol Manajemen AWS, atau AWS API AWS CLI, Amazon ECR membuat peran terkait layanan untuk Anda. 

Jika Anda menghapus peran terkait layanan ini, lalu ingin membuatnya lagi, Anda dapat menggunakan proses yang sama untuk membuat ulang peran tersebut di akun Anda. Saat Anda membuat aturan pembuatan repositori untuk registri pribadi Anda, Amazon ECR akan membuat peran terkait layanan untuk Anda lagi jika belum ada.

## Mengedit Peran Terkait Layanan untuk Amazon ECR
<a name="slr-rct-edit"></a>

Amazon ECR tidak mengizinkan pengeditan peran **AWSServiceRoleForECRTemplate**terkait layanan secara manual. Setelah peran terkait layanan dibuat, Anda tidak dapat mengubah nama peran karena berbagai entitas mungkin mereferensikan peran tersebut. Namun, Anda dapat mengedit penjelasan peran menggunakan IAM. Untuk informasi lebih lanjut, lihat [Mengedit peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dalam *Panduan Pengguna IAM*.

## Menghapus Peran Terkait Layanan untuk Amazon ECR
<a name="slr-rct-delete"></a>

Jika Anda tidak perlu lagi menggunakan fitur atau layanan yang memerlukan peran terkait layanan, kami menyarankan Anda menghapus peran tersebut. Dengan begitu Anda tidak memiliki entitas yang tidak digunakan yang tidak dipantau atau dipelihara secara aktif. Namun, Anda harus menghapus aturan pembuatan repositori untuk registri Anda di setiap Wilayah sebelum Anda dapat menghapus peran terkait layanan secara manual.

**catatan**  
Jika Anda mencoba menghapus sumber daya saat layanan Amazon ECR masih menggunakan peran tersebut, tindakan penghapusan Anda mungkin gagal. Jika hal tersebut terjadi, tunggu beberapa menit dan coba lagi.

**Untuk menghapus sumber daya Amazon ECR yang digunakan oleh peran terkait **AWSServiceRoleForECRTemplate**layanan**

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

1. Dari bilah navigasi, pilih Wilayah tempat aturan pembuatan repositori Anda dibuat.

1. Di panel navigasi, pilih **Registri pribadi**.

1. **Pada halaman **registri pribadi**, pada bagian **Template pembuatan repositori**, pilih Edit.**

1. Untuk setiap aturan pembuatan repositori yang telah Anda buat, pilih aturan dan kemudian pilih **Hapus** aturan.

**Untuk menghapus peran tertaut layanan secara manual menggunakan IAM**

Gunakan konsol IAM, the AWS CLI, atau AWS API untuk menghapus peran **AWSServiceRoleForECRTemplate**terkait layanan. Untuk informasi selengkapnya, silakan lihat [Menghapus Peran Terkait Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) di *Panduan Pengguna IAM*.

# Pemecahan Masalah Identitas dan Akses Amazon Elastic Container Registry
<a name="security_iam_troubleshoot"></a>

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan mengatasi masalah umum yang mungkin Anda temui saat bekerja menggunakan Amazon ECR dan IAM.

**Topics**
+ [Saya tidak Berwenang untuk Melakukan Tindakan di Amazon ECR](#security_iam_troubleshoot-no-permissions)
+ [Saya Tidak Berwenang untuk Melakukan iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses sumber daya Amazon ECR saya](#security_iam_troubleshoot-cross-account-access)

## Saya tidak Berwenang untuk Melakukan Tindakan di Amazon ECR
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Anda menerima pesan kesalahan bahwa Anda tidak memiliki otorisasi untuk melakukan tindakan, kebijakan Anda harus diperbarui agar Anda dapat melakukan tindakan tersebut.

Contoh kesalahan berikut terjadi ketika pengguna IAM `mateojackson` mencoba menggunakan konsol untuk melihat detail tentang suatu sumber daya `my-example-widget` rekaan, tetapi tidak memiliki izin `ecr:GetWidget` rekaan.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: ecr:GetWidget on resource: my-example-widget
```

Dalam hal ini, kebijakan untuk pengguna `mateojackson` harus diperbarui untuk mengizinkan akses ke sumber daya `my-example-widget` dengan menggunakan tindakan `ecr:GetWidget`.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya Tidak Berwenang untuk Melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan bahwa Anda tidak diizinkan untuk melakukan `iam:PassRole` tindakan, kebijakan Anda harus diperbarui agar Anda dapat meneruskan peran ke Amazon ECR.

Beberapa Layanan AWS memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi saat pengguna IAM bernama `marymajor` mencoba menggunakan konsol untuk melakukan tindakan di Amazon ECR. Namun, tindakan tersebut memerlukan layanan untuk mendapatkan izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut pada layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, kebijakan Mary harus diperbarui agar dia mendapatkan izin untuk melakukan tindakan `iam:PassRole` tersebut.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses sumber daya Amazon ECR saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran yang dapat digunakan pengguna di akun lain atau orang-orang di luar organisasi Anda untuk mengakses sumber daya Anda. Anda dapat menentukan siapa saja yang dipercaya untuk mengambil peran tersebut. Untuk layanan yang mendukung kebijakan berbasis sumber daya atau daftar kontrol akses (ACLs), Anda dapat menggunakan kebijakan tersebut untuk memberi orang akses ke sumber daya Anda.

Untuk mempelajari selengkapnya, periksa referensi berikut:
+ Untuk mempelajari apakah Amazon ECR support fitur ini, lihat [Bagaimana Amazon Elastic Container Registry bekerja dengan IAM](security_iam_service-with-iam.md).
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda di seluruh sumber daya Akun AWS yang Anda miliki, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) di *Panduan Pengguna IAM*.
+ Untuk mempelajari cara menyediakan akses ke sumber daya Anda kepada pihak ketiga Akun AWS, lihat [Menyediakan akses yang Akun AWS dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dalam *Panduan Pengguna IAM*.
+ Untuk mempelajari cara memberikan akses melalui federasi identitas, lihat [Menyediakan akses ke pengguna terautentikasi eksternal (federasi identitas)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dalam *Panduan Pengguna IAM*.
+ *Untuk mempelajari perbedaan antara menggunakan peran dan kebijakan berbasis sumber daya untuk akses lintas akun, lihat [Akses sumber daya lintas akun di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html).*

# Perlindungan data dalam Amazon ECR
<a name="data-protection"></a>

[Model tanggung jawab AWS bersama model](https://aws.amazon.com/compliance/shared-responsibility-model/) berlaku untuk perlindungan data di Amazon Elastic Container Service. Seperti yang dijelaskan dalam model AWS ini, bertanggung jawab untuk melindungi infrastruktur global yang menjalankan semua AWS Cloud. Anda bertanggung jawab untuk mempertahankan kendali atas konten yang di-host pada infrastruktur ini. Anda juga bertanggung jawab atas tugas-tugas konfigurasi dan manajemen keamanan untuk Layanan AWS yang Anda gunakan. Lihat informasi yang lebih lengkap tentang privasi data dalam [Pertanyaan Umum Privasi Data](https://aws.amazon.com/compliance/data-privacy-faq/). Lihat informasi tentang perlindungan data di Eropa di pos blog [Model Tanggung Jawab Bersama dan GDPR AWS](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) di *Blog Keamanan AWS *.

Untuk tujuan perlindungan data, kami menyarankan Anda melindungi Akun AWS kredensil dan mengatur pengguna individu dengan AWS IAM Identity Center atau AWS Identity and Access Management (IAM). Dengan cara itu, setiap pengguna hanya diberi izin yang diperlukan untuk memenuhi tanggung jawab tugasnya. Kami juga menyarankan supaya Anda mengamankan data dengan cara-cara berikut:
+ Gunakan autentikasi multi-faktor (MFA) pada setiap akun.
+ Gunakan SSL/TLS untuk berkomunikasi dengan AWS sumber daya. Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Siapkan API dan logging aktivitas pengguna dengan AWS CloudTrail. Untuk informasi tentang penggunaan CloudTrail jejak untuk menangkap AWS aktivitas, lihat [Bekerja dengan CloudTrail jejak](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) di *AWS CloudTrail Panduan Pengguna*.
+ Gunakan solusi AWS enkripsi, bersama dengan semua kontrol keamanan default di dalamnya Layanan AWS.
+ Gunakan layanan keamanan terkelola tingkat lanjut seperti Amazon Macie, yang membantu menemukan dan mengamankan data sensitif yang disimpan di Amazon S3.
+ Jika Anda memerlukan modul kriptografi tervalidasi FIPS 140-3 saat mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Lihat informasi selengkapnya tentang titik akhir FIPS yang tersedia di [Standar Pemrosesan Informasi Federal (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Kami sangat merekomendasikan agar Anda tidak pernah memasukkan informasi identifikasi yang sensitif, seperti nomor rekening pelanggan Anda, ke dalam tanda atau bidang isian bebas seperti bidang **Nama**. Ini termasuk saat Anda bekerja dengan Amazon ECS atau lainnya Layanan AWS menggunakan konsol, API AWS CLI, atau AWS SDKs. Data apa pun yang Anda masukkan ke dalam tanda atau bidang isian bebas yang digunakan untuk nama dapat digunakan untuk log penagihan atau log diagnostik. Saat Anda memberikan URL ke server eksternal, kami sangat menganjurkan supaya Anda tidak menyertakan informasi kredensial di dalam URL untuk memvalidasi permintaan Anda ke server itu.

**Topics**
+ [Enkripsi saat diam](encryption-at-rest.md)

# Enkripsi saat diam
<a name="encryption-at-rest"></a>

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

Amazon ECR menyimpan citra di bucket Amazon S3 yang dikelola Amazon ECR. Secara default, Amazon ECR menggunakan enkripsi server-side dengan kunci enkripsi terkelola Amazon S3 yang mengenkripsi data Anda saat tidak aktif menggunakan algoritme enkripsi AES-256. Ini tidak memerlukan tindakan apa pun dari bagian Anda dan ditawarkan tanpa biaya tambahan. *Untuk informasi selengkapnya, lihat [Melindungi Data Menggunakan Enkripsi Sisi Server dengan Kunci Enkripsi Terkelola Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.*

Untuk kontrol lebih lanjut atas enkripsi untuk repositori Amazon ECR Anda, Anda dapat menggunakan enkripsi sisi server dengan kunci KMS yang disimpan di (). AWS Key Management Service AWS KMS Saat Anda menggunakan AWS KMS untuk mengenkripsi data, Anda dapat menggunakan default Kunci yang dikelola AWS, yang dikelola oleh Amazon ECR, atau menentukan kunci KMS Anda sendiri (disebut sebagai kunci yang dikelola pelanggan). Untuk informasi selengkapnya, lihat [Melindungi Data Menggunakan Enkripsi Sisi Server dengan kunci KMS yang Disimpan di AWS KMS (SSE-KMS) di](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) Panduan Pengguna Layanan Penyimpanan Sederhana *Amazon*.

 Anda dapat memilih untuk menerapkan dua lapisan enkripsi ke gambar Amazon ECR Anda menggunakan enkripsi sisi server dual-layer dengan (). AWS KMS DSSE-KMS DSSE-KMSopsi mirip denganSSE-KMS, tetapi menerapkan dua lapisan enkripsi individu, bukan satu lapisan. Untuk informasi selengkapnya, lihat [Menggunakan enkripsi sisi server dua lapis dengan AWS KMS kunci (DSSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingDSSEncryption.html)).

Setiap repositori Amazon ECR memiliki konfigurasi enkripsi, yang diatur saat repositori tersebut dibuat. Anda dapat menggunakan konfigurasi enkripsi yang berbeda pada setiap repositori. Untuk informasi selengkapnya, lihat [Membuat repositori pribadi Amazon ECR untuk menyimpan gambar](repository-create.md).

Ketika repositori dibuat dengan AWS KMS enkripsi diaktifkan, kunci KMS digunakan untuk mengenkripsi isi repositori. Selain itu, Amazon ECR menambahkan AWS KMS hibah ke kunci KMS dengan repositori Amazon ECR sebagai pokok penerima hibah.

Berikut ini memberikan pemahaman tingkat tinggi tentang bagaimana Amazon ECR terintegrasi dengan AWS KMS untuk mengenkripsi dan mendekripsi repositori Anda:

1. Saat membuat repositori, Amazon ECR mengirimkan [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)panggilan AWS KMS untuk memvalidasi dan mengambil Nama Sumber Daya Amazon (ARN) dari kunci KMS yang ditentukan dalam konfigurasi enkripsi.

1. Amazon ECR mengirimkan dua [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)permintaan AWS KMS untuk membuat hibah pada kunci KMS untuk memungkinkan Amazon ECR mengenkripsi dan mendekripsi data menggunakan kunci data.

1. Saat mendorong gambar, [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)permintaan dibuat untuk AWS KMS yang menentukan kunci KMS yang akan digunakan untuk mengenkripsi lapisan gambar dan manifes.

1. AWS KMS menghasilkan kunci data baru, mengenkripsi di bawah kunci KMS yang ditentukan, dan mengirimkan kunci data terenkripsi untuk disimpan dengan metadata lapisan gambar dan manifes gambar.

1. Saat menarik gambar, permintaan [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) dibuat untuk AWS KMS, menentukan kunci data terenkripsi.

1. AWS KMS mendekripsi kunci data terenkripsi dan mengirimkan kunci data yang didekripsi ke Amazon S3.

1. Kunci data digunakan untuk mendekripsi layer gambar sebelum layer gambar ditarik.

1. Ketika repositori dihapus, Amazon ECR mengirimkan dua [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)permintaan untuk menghentikan hibah yang AWS KMS dibuat untuk repositori.

## Pertimbangan-pertimbangan
<a name="encryption-at-rest-considerations"></a>

Poin-poin berikut harus dipertimbangkan saat menggunakan enkripsi AWS KMS berbasis (SSE-KMSatauDSSE-KMS) dengan Amazon ECR.
+ Jika Anda membuat repositori Amazon ECR Anda dengan enkripsi KMS dan Anda tidak menentukan kunci KMS, Amazon ECR menggunakan Kunci yang dikelola AWS dengan alias secara default. `aws/ecr` Kunci KMS ini dibuat di akun Anda saat pertama kali Anda membuat repositori dengan enkripsi KMS yang diaktifkan.
+  Konfigurasi Enkripsi Repositori tidak dapat diubah setelah repositori dibuat. 
+ Saat Anda menggunakan enkripsi KMS dengan kunci KMS Anda sendiri, kunci harus ada di wilayah yang sama sebagai repositori Anda.
+ Bantuan yang dibuat Amazon ECR atas nama Anda tidak harus dicabut. Jika Anda mencabut hibah yang memberikan izin Amazon ECR untuk menggunakan AWS KMS kunci di akun Anda, Amazon ECR tidak dapat mengakses data ini, mengenkripsi gambar baru yang didorong ke repositori, atau mendekripsi ketika ditarik. Ketika Anda mencabut bantuan untuk Amazon ECR, perubahan terjadi segera. Untuk mencabut hak akses, Anda harus menghapus repositori bukan mencabut bantuan. Ketika repositori dihapus, Amazon ECR mempensiunkan (retire) bantuan atas nama Anda.
+ Ada biaya yang terkait dengan penggunaan AWS KMS kunci. Untuk informasi selengkapnya, lihat [harga AWS Key Management Service](https://aws.amazon.com/kms/pricing/).
+ Ada biaya yang terkait dengan penggunaan enkripsi sisi server dual-layer. Untuk informasi selengkapnya, lihat [harga Amazon ECR](https://aws.amazon.com/ecr/pricing/)

## Izin IAM yang Diperlukan
<a name="encryption-at-rest-iam"></a>

Saat membuat atau menghapus repositori Amazon ECR dengan enkripsi server-side menggunakan AWS KMS, izin yang diperlukan tergantung pada kunci KMS tertentu yang Anda gunakan. 

### Izin IAM yang diperlukan saat menggunakan untuk Kunci yang dikelola AWS Amazon ECR
<a name="encryption-aws-managed-key"></a>

Secara default, ketika AWS KMS enkripsi diaktifkan untuk repositori Amazon ECR tetapi tidak ada kunci KMS yang ditentukan, ECR untuk Kunci yang dikelola AWS Amazon digunakan. Ketika kunci KMS AWS-managed untuk Amazon ECR digunakan untuk mengenkripsi repositori, setiap prinsipal yang memiliki izin untuk membuat repositori juga dapat mengaktifkan enkripsi pada repositori. AWS KMS Namun, IAM principal yang menghapus repositori harus memiliki izin `kms:RetireGrant`. Hal ini memungkinkan pensiun dari hibah yang ditambahkan ke AWS KMS kunci ketika repositori dibuat.

Contoh kebijakan IAM berikut dapat ditambahkan sebagai kebijakan inline untuk pengguna guna memastikan bahwa mereka memiliki izin minimum yang diperlukan untuk menghapus repositori yang memiliki enkripsi yang diaktifkan. Kunci KMS yang digunakan untuk mengenkripsi repositori dapat ditentukan menggunakan parameter sumber daya.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-kms-permissions",
    "Statement": [
        {
            "Sid": "AllowAccessToRetireTheGrantsAssociatedWithTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:RetireGrant"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE"
        }
    ]
}
```

------

### Izin IAM yang diperlukan saat menggunakan kunci terkelola pelanggan
<a name="encryption-customer-managed-key"></a>

Saat membuat repositori dengan AWS KMS enkripsi diaktifkan menggunakan kunci yang dikelola pelanggan, ada izin yang diperlukan untuk kebijakan kunci KMS dan kebijakan IAM untuk pengguna atau peran yang membuat repositori.

Saat membuat kunci KMS Anda sendiri, Anda dapat menggunakan kebijakan kunci default AWS KMS membuatnya atau Anda dapat menentukan sendiri. Untuk memastikan bahwa kunci yang dikelola pelanggan tetap dapat dikelola oleh pemilik akun, kebijakan kunci untuk kunci KMS harus memungkinkan semua AWS KMS tindakan untuk pengguna root akun. Izin cakupan tambahan dapat ditambahkan ke kebijakan kunci tetapi pengguna root paling tidak harus diberikan izin untuk mengelola kunci KMS. Untuk mengizinkan kunci KMS digunakan hanya untuk permintaan yang berasal dari Amazon ECR, Anda dapat menggunakan [kunci ViaService kondisi kms:](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) dengan nilainya. `ecr.<region>.amazonaws.com`

Contoh kebijakan kunci berikut memberikan AWS akun (pengguna root) yang memiliki kunci KMS akses penuh ke kunci KMS. Untuk informasi selengkapnya tentang kebijakan kunci contoh ini, lihat [Mengizinkan akses ke AWS akun dan mengaktifkan kebijakan IAM](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) di *Panduan AWS Key Management Service Pengembang*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-key-policy",
    "Statement": [
        {
            "Sid": "EnableIAMUserPermissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        }
    ]
}
```

------

Pengguna IAM, peran IAM, atau AWS akun yang membuat repositori Anda harus memiliki`kms:CreateGrant`,`kms:RetireGrant`, dan `kms:DescribeKey` izin selain izin Amazon ECR yang diperlukan.

**catatan**  
Izin `kms:RetireGrant` harus ditambahkan ke kebijakan IAM untuk pengguna atau peran yang membuat repositori. Izin `kms:CreateGrant` dan `kms:DescribeKey` dapat ditambahkan ke kebijakan kunci untuk kunci KMS atau kebijakan IAM untuk pengguna atau peran yang membuat repositori. Untuk informasi selengkapnya tentang cara kerja AWS KMS izin, lihat [Izin AWS KMS API: Referensi tindakan dan sumber daya](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) di Panduan *AWS Key Management Service Pengembang*.

Contoh kebijakan IAM berikut dapat ditambahkan sebagai kebijakan inline untuk pengguna guna memastikan bahwa mereka memiliki izin minimum yang diperlukan untuk membuat repositori dengan enkripsi yang diaktifkan dan menghapus repositori ketika mereka selesai. Yang AWS KMS key digunakan untuk mengenkripsi repositori dapat ditentukan menggunakan parameter sumber daya.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-kms-permissions",
    "Statement": [
        {
            "Sid": "AllowAccessToCreateAndRetireTheGrantsAssociatedWithTheKeyAsWellAsDescribeTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:RetireGrant",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE"
        }
    ]
}
```

------

### Izinkan pengguna mencantumkan kunci KMS di konsol saat membuat repositori
<a name="encryption-at-rest-iam-example"></a>

Bila menggunakan konsol Amazon ECR untuk membuat repositori, Anda dapat memberikan izin untuk mengizinkan pengguna memasukkan kunci KMS yang dikelola pelanggan di Wilayah saat mengaktifkan enkripsi untuk repositori. Contoh kebijakan IAM berikut menunjukkan izin yang diperlukan untuk memasukkan kunci KMS dan alias saat menggunakan konsol.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:ListKeys",
      "kms:ListAliases",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
}
```

------

## Memantau interaksi Amazon ECR dengan AWS KMS
<a name="encryption-at-rest-monitoring"></a>

Anda dapat menggunakan AWS CloudTrail untuk melacak permintaan yang dikirimkan Amazon ECR atas nama Anda. AWS KMS Entri log di CloudTrail log berisi kunci konteks enkripsi untuk membuatnya lebih mudah diidentifikasi.

### Konteks enkripsi Amazon ECR
<a name="ecr-encryption-context"></a>

*Konteks enkripsi* adalah seperangkat pasangan nilai kunci yang berisi data non-rahasia yang berubah-ubah. Ketika Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, secara AWS KMS kriptografis mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda harus meneruskan konteks enkripsi yang sama. 

Dalam permintaannya [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)dan [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) ke, AWS KMS Amazon ECR menggunakan konteks enkripsi dengan dua pasangan nama-nilai yang mengidentifikasi repositori dan bucket Amazon S3 yang digunakan. Ini seperti yang ditunjukkan dalam contoh berikut. Nama-nama tidak bervariasi, tetapi nilai-nilai konteks enkripsi gabungan akan berbeda untuk setiap nilai.

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df",
    "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
}
```

Anda dapat menggunakan konteks enkripsi untuk mengidentifikasi operasi kriptografi ini dalam catatan audit dan log, seperti [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)dan Amazon CloudWatch Logs, dan sebagai syarat untuk otorisasi dalam kebijakan dan hibah.

Enkripsi konteks Amazon ECR terdiri dari dua pasangan nama-nilai.
+ **aws:s3:arn** – Pasangan nama-nilai pertama mengidentifikasi bucket. Kuncinya adalah `aws:s3:arn`. Nilai tersebut adalah Amazon Resource Name (ARN) dari bucket Amazon S3.

  ```
  "aws:s3:arn": "ARN of an Amazon S3 bucket"
  ```

  Sebagai contoh, jika ARN bucket adalah `arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df`, mkaa konteks enkripsi akan mencakup pasangan berikut.

  ```
  "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df"
  ```
+ **aws:ecr:arn** – Pasangan nama-nilai kedua mengidentifikasi Amazon Resource Name (ARN) dari repositori. Kuncinya adalah `aws:ecr:arn`. Nilai tersebut merupakan ARN dari repositori.

  ```
  "aws:ecr:arn": "ARN of an Amazon ECR repository"
  ```

  Misalnya, jika ARN repositori adalah `arn:aws:ecr:us-west-2:111122223333:repository/repository-name`, maka konteks enkripsi akan mencakup pasangan berikut.

  ```
  "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
  ```

## Pemecahan masalah
<a name="encryption-at-rest-troubleshooting"></a>

Ketika menghapus repositori Amazon ECR dengan konsol, jika repositori berhasil dihapus tetapi Amazon ECR tidak dapat mempensiunkan (retire) bantuan yang ditambahkan ke kunci KMS Anda untuk repositori Anda, maka Anda akan menerima pesan kesalahan berikut.

```
The repository [{repository-name}] has been deleted successfully but the grants created by the kmsKey [{kms_key}] failed to be retired
```

Ketika ini terjadi, Anda dapat mempensiunkan AWS KMS hibah untuk repositori sendiri.

**Untuk pensiun AWS KMS hibah untuk repositori secara manual**

1. Buat daftar hibah untuk AWS KMS kunci yang digunakan untuk repositori. Nilai `key-id` termasuk dalam pesan kesalahan yang Anda terima dari konsol. Anda juga dapat menggunakan `list-keys` perintah untuk mencantumkan kunci KMS Kunci yang dikelola AWS dan yang dikelola pelanggan di Wilayah tertentu di akun Anda.

   ```
   aws kms list-grants \
        --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc 
        --region us-west-2
   ```

   Outputnya termasuk `EncryptionContextSubset` dengan Amazon Resource Name (ARN) dari repositori Anda. Ini dapat digunakan untuk menentukan bantuan yang ditambahkan ke kunci mana yang ingin Anda pensiunkan (retire). Nilai `GrantId` akan digunakan saat mempensiunkan (retire) bantuan pada langkah berikutnya.

1. Pensiun setiap hibah untuk AWS KMS kunci yang ditambahkan untuk repositori. Ganti nilai untuk *GrantId* dengan ID hibah dari output dari langkah sebelumnya.

   ```
   aws kms retire-grant \
        --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc \
        --grant-id GrantId \
        --region us-west-2
   ```

# Validasi kepatuhan Amazon Elastic Container Registry
<a name="ecr-compliance"></a>

Untuk mempelajari apakah an Layanan AWS berada dalam lingkup program kepatuhan tertentu, lihat [Layanan AWS di Lingkup oleh Program Kepatuhan Layanan AWS](https://aws.amazon.com/compliance/services-in-scope/) dan pilih program kepatuhan yang Anda minati. Untuk informasi umum, lihat [Program AWS Kepatuhan Program AWS](https://aws.amazon.com/compliance/programs/) .

Anda dapat mengunduh laporan audit pihak ketiga menggunakan AWS Artifact. Untuk informasi selengkapnya, lihat [Mengunduh Laporan di AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Tanggung jawab kepatuhan Anda saat menggunakan Layanan AWS ditentukan oleh sensitivitas data Anda, tujuan kepatuhan perusahaan Anda, dan hukum dan peraturan yang berlaku. Untuk informasi selengkapnya tentang tanggung jawab kepatuhan Anda saat menggunakan Layanan AWS, lihat [Dokumentasi AWS Keamanan](https://docs.aws.amazon.com/security/).

# Keamanan Infrastruktur di Amazon Elastic Container Registry
<a name="infrastructure-security"></a>

Sebagai layanan terkelola, Amazon Elastic Container Registry dilindungi oleh keamanan jaringan AWS global. Untuk informasi tentang layanan AWS keamanan dan cara AWS melindungi infrastruktur, lihat [Keamanan AWS Cloud](https://aws.amazon.com/security/). Untuk mendesain AWS lingkungan Anda menggunakan praktik terbaik untuk keamanan infrastruktur, lihat [Perlindungan Infrastruktur dalam Kerangka Kerja](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) yang * AWS Diarsiteksikan dengan Baik Pilar Keamanan*.

Anda menggunakan panggilan API yang AWS dipublikasikan untuk mengakses Amazon ECR melalui jaringan. Klien harus mendukung hal-hal berikut:
+ Keamanan Lapisan Pengangkutan (TLS). Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Sandi cocok dengan sistem kerahasiaan maju sempurna (perfect forward secrecy, PFS) seperti DHE (Ephemeral Diffie-Hellman) atau ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). Sebagian besar sistem modern seperti Java 7 dan versi lebih baru mendukung mode-mode ini.

Anda dapat menghubungi operasi API ini dari lokasi jaringan mana pun, tetapi Amazon ECR support kebijakan akses berbasis sumber daya, yang dapat mencakup pembatasan berdasarkan alamat IP sumber. Anda juga dapat menggunakan kebijakan Amazon ECR untuk mengontrol akses dari titik akhir Amazon Virtual Private Cloud (Amazon VPC) tertentu atau spesifik. VPCs Secara efektif, ini mengisolasi akses jaringan ke sumber daya Amazon ECR tertentu hanya dari VPC tertentu dalam jaringan. AWS Untuk informasi selengkapnya, lihat [Titik akhir VPC antarmuka Amazon ECR ()AWS PrivateLink](vpc-endpoints.md).

# Titik akhir VPC antarmuka Amazon ECR ()AWS PrivateLink
<a name="vpc-endpoints"></a>

Anda dapat meningkatkan postur keamanan VPC Anda dengan mengonfigurasi Amazon ECR untuk menggunakan antarmuka VPC endpoint. Titik akhir VPC didukung oleh AWS PrivateLink, teknologi yang memungkinkan Anda mengakses Amazon APIs ECR secara pribadi melalui alamat IP pribadi (keduanya dan). IPv4 IPv6 AWS PrivateLink membatasi semua lalu lintas jaringan antara VPC Anda dan Amazon ECR ke jaringan Amazon. Anda tidak memerlukan sebuah gateway internet, perangkat NAT, atau gateway privat virtual.

*Untuk informasi selengkapnya tentang AWS PrivateLink dan titik akhir VPC, lihat Titik [Akhir VPC di](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) Panduan Pengguna Amazon VPC.*

## Pertimbangan untuk VPC endpoint Amazon ECR
<a name="ecr-vpc-endpoint-considerations"></a>

Sebelum Anda mengkonfigurasi VPC endpoint untuk Amazon ECR, perhatikan pertimbangan berikut.
+ Untuk mengizinkan tugas Amazon ECS Anda yang dihosting di instans Amazon EC2 menarik gambar pribadi dari Amazon ECR, buat titik akhir VPC antarmuka untuk Amazon ECS. Untuk informasi selengkapnya, lihat [Titik Akhir VPC Antarmuka (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) di Panduan Pengembang *Layanan Amazon Elastic Container*.
+ Tugas Amazon ECS yang dihosting di Fargate yang menarik gambar kontainer dari Amazon ECR dapat membatasi akses ke VPC tertentu yang digunakan tugas mereka dan ke titik akhir VPC yang digunakan layanan dengan menambahkan kunci kondisi ke peran IAM eksekusi tugas untuk tugas tersebut. Untuk informasi selengkapnya, lihat [Izin IAM Opsional untuk Tugas Fargate dalam Menarik Citra Amazon ECR melalui Antarmuka Titik Akhir](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) dalam *Panduan Developer Amazon Elastic Container Service*.
+ Grup keamanan yang dilampirkan ke VPC endpoint harus mengizinkan koneksi masuk pada port 443 dari subnet privat VPC.
+ Titik akhir Amazon ECR VPC mendukung konektivitas IPv4 dual-stack (dan). IPv6 Saat Anda membuat titik akhir VPC dual-stack, VPC dapat menangani lalu lintas melalui keduanya IPv4 dan alamat IP pribadi. IPv6
+ Titik akhir VPC mendukung repositori Publik Amazon ECR melalui titik akhir SDK AWS API di US East (Virginia N.). 
+ Titik akhir VPC hanya mendukung DNS yang AWS disediakan melalui Amazon Route 53. Jika Anda ingin menggunakan DNS Anda sendiri, Anda dapat menggunakan penerusan DNS bersyarat. Untuk informasi selengkapnya, lihat [Pengaturan DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) dalam *Panduan Pengguna Amazon VPC*.
+ Jika kontainer Anda memiliki koneksi yang tersedia ke Amazon S3, koneksi mereka mungkin akan terganggu sebentar ketika Anda menambahkan titik akhir gateway Amazon S3. Jika Anda ingin menghindari gangguan ini, buatlah VPC baru yang menggunakan titik akhir gateway Amazon S3 dan kemudian migrasikan klaster Amazon ECS dan kontainer ke VPC baru.
+ Saat gambar ditarik menggunakan aturan cache tarik untuk pertama kalinya, jika Anda telah mengonfigurasi Amazon ECR untuk AWS PrivateLink menggunakan titik akhir VPC antarmuka, maka Anda perlu membuat subnet publik di VPC yang sama, dengan gateway NAT, dan kemudian merutekan semua lalu lintas keluar ke internet dari subnet pribadinya ke gateway NAT agar tarikan berfungsi. Penarikan gambar berikutnya tidak memerlukan ini. Untuk informasi selengkapnya, lihat [Skenario: Mengakses internet dari subnet pribadi](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#public-nat-internet-access) di *Panduan Pengguna Amazon Virtual Private Cloud*.
+ Untuk beban kerja yang membutuhkan modul kriptografi tervalidasi FIPS 140-3, Amazon ECR mendukung titik akhir FIPS untuk titik akhir VPC.

### Pertimbangan untuk citra Windows
<a name="ecr-vpc-endpoint-windows-considerations"></a>

Citra yang didasarkan pada sistem operasi Windows termasuk artefak yang distribusinya dibatasi oleh lisensi. Secara default, ketika Anda mendorong citra Windows ke repositori Amazon ECR, lapisan yang menyertakan artefak ini tidak didorong karena mereka dianggap sebagai *lapisan asing*. Ketika artefak disediakan oleh Microsoft, lapisan asing diambil dari infrastruktur Microsoft Azure. Dengan demikian, untuk mengaktifkan kontainer Anda untuk menarik lapisan asing ini dari Azure, langkah-langkah tambahan selain membuat VPC endpoint diperlukan.

Hal ini dimungkinkan untuk menimpa perilaku ini ketika mendorong citra Windows ke Amazon ECR dengan menggunakan tanda `--allow-nondistributable-artifacts` di Docker daemon. Bila diaktifkan, tanda ini akan mendorong lapisan berlisensi untuk Amazon ECR yang mengizinkan citra ini ditarik dari Amazon ECR melalui VPC endpoint tanpa memerlukan akses tambahan ke Azure.

**penting**  
Menggunakan tanda `--allow-nondistributable-artifacts` tidak menghalangi kewajiban Anda untuk mematuhi persyaratan lisensi citra berbasis kontainer Windows; Anda tidak dapat mengirim konten Windows untuk redistribusi publik atau pihak ke tiga. Penggunaan dalam lingkungan Anda sendiri diperbolehkan.

Untuk mengaktifkan penggunaan tanda ini untuk instalasi Docker, Anda harus memodifikasi file konfigurasi Docker daemon yang, tergantung pada instalasi Docker Anda, biasanya dapat dikonfigurasi di pengaturan atau menu preferensi pada bagian **Mesin Docker** atau dengan mengedit file `C:\ProgramData\docker\config\daemon.json` secara langsung.

Berikut ini adalah contoh konfigurasi yang diperlukan. Ganti nilai dengan repositori URI yang Anda gunakan untuk mendorong citra.

```
{
    "allow-nondistributable-artifacts": [
        "111122223333.dkr.ecr.us-west-2.amazonaws.com"
    ]
}
```

Setelah memodifikasi file konfigurasi Docker daemon, Anda harus memulai ulang Docker daemon sebelum mencoba mendorong citra Anda. Konfirmasikan dorongan yang dikerjakan dengan memverifikasi bahwa lapisan dasar didorong ke repositori Anda.

**catatan**  
Lapisan dasar untuk citra Windows berukuran besar. Ukuran lapisan akan menyebabkan waktu mendorong menjadi lebih lama dan biaya penyimpanan tambahan di Amazon ECR untuk citra ini akan dibebankan. Dengan demikian, sebaiknya hanya menggunakan opsi ini bila diperlukan jika benar-benar diperlukan untuk mengurangi waktu pembuatan dan biaya penyimpanan yang sedang berlangsung. Misalnya, citra `mcr.microsoft.com/windows/servercore` berukuran sekitar 1,7 GiB ketika dikompresi di Amazon ECR.

## Buat VPC endpoint untuk Amazon ECR
<a name="ecr-setting-up-vpc-create"></a>

Untuk membuat VPC endpoint untuk layanan Amazon ECR, gunakan prosedur[Membuat Antarmuka Titik Akhir](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) dalam *Panduan Pengguna Amazon VPC*.

Titik akhir Amazon ECR VPC mendukung konektivitas IPv4 dual-stack (dan). IPv6 Saat Anda membuat titik akhir VPC dual-stack, secara otomatis menangani lalu lintas melalui keduanya IPv4 dan alamat IP pribadi. IPv6 Titik akhir akan merutekan lalu lintas menggunakan versi IP yang sesuai berdasarkan konfigurasi jaringan klien Anda dan kemampuan titik akhir.

Jika Anda memiliki titik akhir VPC IPv4 -only yang ada dan ingin bermigrasi ke titik akhir dual-stack, Anda dapat memodifikasi titik akhir yang ada untuk mendukung konektivitas dual-stack, atau membuat titik akhir dual-stack baru. Saat membuat atau memodifikasi titik akhir, pastikan VPC dan subnet Anda mendukung versi IP yang ingin Anda gunakan. Setelah membuat titik akhir tumpukan ganda, titik akhir akan mendukung keduanya dan. IPv4 IPv6

Tugas Amazon ECS yang dihosting di instans Amazon EC2 memerlukan titik akhir Amazon ECR dan titik akhir gateway Amazon S3.

Tugas Amazon ECS yang dihosting di Fargate menggunakan `1.4.0` versi platform atau yang lebih baru memerlukan titik akhir Amazon ECR VPC dan titik akhir gateway Amazon S3.

**Tugas Amazon ECS yang dihosting di Fargate yang menggunakan `1.3.0` versi platform atau sebelumnya hanya memerlukan com.amazonaws. *region*.ecr.dkr Titik** akhir Amazon ECR VPC dan titik akhir gateway Amazon S3.

**catatan**  
Urutan titik akhir boleh dibuat di dalam.

**com.amazonaws. *region*.ecr.dkr**  
Endpoint ini digunakan untuk Docker Registry. APIs Perintah klien Docker seperti `push` dan `pull` mengunakan titik akhir ini.  
Saat Anda membuat titik akhir ini, Anda harus mengaktifkan nama host DNS pribadi. Untuk melakukan ini, pastikan opsi **Aktifkan Nama DNS Pribadi** dipilih di konsol VPC Amazon saat Anda membuat titik akhir VPC.  
**Untuk koneksi yang sesuai dengan FIPS 140-3, gunakan nama titik akhir FIPS com.amazonaws. *region*.ecr-fips.dkr**

**com.amazonaws. *region*.ecr.api**  
Yang ditentukan *region* mewakili pengenal Wilayah untuk AWS Wilayah yang didukung oleh Amazon ECR, seperti `us-east-2` untuk Wilayah AS Timur (Ohio).
**Untuk koneksi yang sesuai dengan FIPS 140-3, gunakan nama titik akhir FIPS: com.amazonaws. ***region***.ecr-fips.dkr dan com.amazonaws. *region*.ecr-fips.api**.  
titik akhir ini digunakan untuk panggilan ke API Amazon ECR. Tindakan API seperti `DescribeImages` dan `CreateRepository` masuk ke titik akhir ini.  
Ketika titik akhir ini dibuat, Anda memiliki opsi untuk mengaktifkan nama host DNS pribadi. Aktifkan pengaturan ini dengan memilih **Aktifkan Nama DNS privat** di konsol VPC saat Anda membuat VPC endpoint. Jika Anda mengaktifkan nama host DNS pribadi untuk titik akhir VPC, perbarui SDK Anda atau AWS CLI ke versi terbaru sehingga menentukan URL titik akhir saat menggunakan SDK atau tidak diperlukan. AWS CLI   
**Untuk koneksi yang sesuai dengan FIPS 140-3, gunakan nama titik akhir FIPS com.amazonaws. *region*.ecr-fips.api**.  
Jika Anda mengaktifkan nama host DNS pribadi dan menggunakan SDK atau AWS CLI versi yang dirilis sebelum 24 Januari 2019, Anda harus menggunakan `--endpoint-url` parameter untuk menentukan titik akhir antarmuka. Contoh berikut menunjukkan format untuk titik akhir URL.  

```
aws ecr create-repository --repository-name name --endpoint-url https://api.ecr.region.amazonaws.com
```
Jika Anda tidak mengaktifkan nama host DNS privat untuk VPC endpoint, Anda harus menggunakan parameter `--endpoint-url` yang menentukan ID VPC endpoint untuk titik akhir antarmuka. Contoh berikut menunjukkan format untuk titik akhir URL.  

```
aws ecr create-repository --repository-name name --endpoint-url https://VPC_endpoint_ID.api.ecr.region.vpce.amazonaws.com
```
Untuk koneksi yang sesuai dengan FIPS 140-3, gunakan URL titik akhir FIPS:  

```
aws ecr create-repository --repository-name name --endpoint-url https://api.ecr-fips.region.amazonaws.com
```

## Buat titik akhir gateway Amazon S3
<a name="ecr-setting-up-s3-gateway"></a>

Untuk tugas-tugas Amazon ECS Anda yang berfungsi untuk menarik citra privat dari Amazon ECR, Anda harus membuat titik akhir gateway untuk Amazon S3. titik akhir gateway diperlukan karena Amazon ECR menggunakan Amazon S3 untuk menyimpan lapisan citra Anda. Ketika kontainer Anda mengunduh citra dari Amazon ECR, mereka harus mengakses Amazon ECR untuk mendapatkan manifest citra dan kemudian Amazon S3 untuk mengunduh lapisan citra yang sebenarnya. Berikut adalah Amazon Resource Name (ARN) dari bucket Amazon S3 yang berisi lapisan untuk setiap citra Docker.

```
arn:aws:s3:::prod-region-starport-layer-bucket/*
```

**catatan**  
Jika membuat titik akhir VPC dual-stack untuk Amazon ECR, Anda juga perlu membuat titik akhir Amazon S3 Gateway atau Interface dual-stack. Lihat [dokumentasi S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#privatelink-ip-address-types) untuk detailnya.

Menggunakan prosedur [Membuat titik akhir gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html#create-gateway-endpoint) dalam *Panduan Pengguna Amazon VPC* untuk membuat titik akhir gateway Amazon S3 berikut untuk Amazon ECR. Saat membuat titik akhir, pastikan untuk memilih tabel rute untuk VPC Anda.

**com.amazonaws. *region*.s3**  
titik akhir gateway Amazon S3 menggunakan dokumen kebijakan IAM untuk membatasi akses ke layanan. Kebijakan **Akses penuh** dapat digunakan karena pembatasan yang telah Anda masukkan ke dalam tugas IAM role Anda atau kebijakan pengguna IAM lainnya yang masih berlaku di atas kebijakan ini. Jika Anda ingin membatasi akses bucket Amazon S3 ke izin minimum yang diperlukan untuk menggunakan Amazon ECR, lihat [Izin Bucket Amazon S3 Minimum untuk Amazon ECR](#ecr-minimum-s3-perms).

### Izin Bucket Amazon S3 Minimum untuk Amazon ECR
<a name="ecr-minimum-s3-perms"></a>

titik akhir gateway Amazon S3 menggunakan dokumen kebijakan IAM untuk membatasi akses ke layanan. Untuk mengizinkan hanya izin minimum bucket Amazon S3 untuk Amazon ECR, maka batasi akses ke bucket Amazon S3 yang menggunakan Amazon ECR ketika Anda membuat dokumen kebijakan IAM untuk titik akhir. 

Tabel berikut menjelaskan izin kebijakan bucket Amazon S3 yang dibutuhkan oleh Amazon ECR.


| Izin | Deskripsi | 
| --- | --- | 
|  `arn:aws:s3:::prod-region-starport-layer-bucket/*`  |  Menyediakan akses ke bucket Amazon S3 yang berisi lapisan untuk setiap citra Docker. Merepresentasikan identifier Wilayah untuk Wilayah AWS yang didukung oleh Amazon ECR, seperti `us-east-2` untuk (US East (Ohio).  | 

#### Contoh
<a name="ecr-minimum-s3-perms-example"></a>

Contoh berikut menggambarkan bagaimana memberikan akses ke bucket Amazon S3 yang diperlukan untuk operasi Amazon ECR.

```
{
  "Statement": [
    {
      "Sid": "Access-to-specific-bucket-only",
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::prod-region-starport-layer-bucket/*"]
    }
  ]
}
```

## Buat titik akhir CloudWatch Log
<a name="ecr-setting-up-cloudwatch-logs"></a>

**Tugas Amazon ECS menggunakan tipe peluncuran Fargate yang menggunakan VPC tanpa gateway internet yang juga menggunakan `awslogs` driver log untuk mengirim informasi log ke Log mengharuskan Anda membuat CloudWatch com.amazonaws. *region*.logs** antarmuka VPC CloudWatch endpoint untuk Log. Untuk informasi selengkapnya, lihat [Menggunakan CloudWatch Log dengan titik akhir VPC antarmuka di Panduan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html) Pengguna *Amazon CloudWatch Logs*.

## Buat kebijakan titik akhir untuk VPC endpoint Amazon ECR
<a name="ecr-vpc-endpoint-policy"></a>

Kebijakan VPC endpoint adalah kebijakan sumber daya IAM yang Anda lampirkan ke titik akhir ketika membuat atau memodifikasi titik akhir. Jika Anda tidak melampirkan kebijakan saat membuat titik akhir, AWS lampirkan kebijakan default untuk Anda yang memungkinkan akses penuh ke layanan. Kebijakan titik akhir tidak membatalkan atau mengganti kebijakan pengguna IAM atau kebijakan khusus layanan. Ini adalah kebijakan terpisah untuk mengendalikan akses dari titik akhir ke layanan tertentu. Kebijakan titik akhir harus ditulis dalam format JSON. Untuk informasi selengkapnya, lihat [Pengontrolan Akses ke Layanan dengan VPC endpoint](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dalam *Panduan Pengguna Amazon VPC*.

Kami merekomendasikan agar Anda membuat kebijakan sumber daya IAM tunggal dan melampirkannya ke kedua VPC endpoint Amazon ECR.

Berikut adalah contoh kebijakan titik akhir untuk Amazon ECR. Kebijakan ini mengizinkan IAM role tertentu untuk menarik citra dari Amazon ECR.

```
{
	"Statement": [{
		"Sid": "AllowPull",
		"Principal": {
			"AWS": "arn:aws:iam::1234567890:role/role_name"
		},
		"Action": [
			"ecr:BatchGetImage",
			"ecr:GetDownloadUrlForLayer",
                    "ecr:GetAuthorizationToken"
		],
		"Effect": "Allow",
		"Resource": "*"
	}]
}
```

Contoh kebijakan titik akhir berikut mencegah penghapusan repositori tertentu.

```
{
	"Statement": [{
			"Sid": "AllowAll",
			"Principal": "*",
			"Action": "*",
			"Effect": "Allow",
			"Resource": "*"
		},
		{
			"Sid": "PreventDelete",
			"Principal": "*",
			"Action": "ecr:DeleteRepository",
			"Effect": "Deny",
			"Resource": "arn:aws:ecr:region:1234567890:repository/repository_name"
		}
	]
}
```

Contoh kebijakan titik akhir berikut menggabungkan dua contoh sebelumnya ke kebijakan tunggal.

```
{
	"Statement": [{
			"Sid": "AllowAll",
			"Effect": "Allow",
			"Principal": "*",
			"Action": "*",
			"Resource": "*"
		},
		{
			"Sid": "PreventDelete",
			"Effect": "Deny",
			"Principal": "*",
			"Action": "ecr:DeleteRepository",
			"Resource": "arn:aws:ecr:region:1234567890:repository/repository_name"
		},
		{
			"Sid": "AllowPull",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::1234567890:role/role_name"
			},
			"Action": [
				"ecr:BatchGetImage",
				"ecr:GetDownloadUrlForLayer",
                          "ecr:GetAuthorizationToken"
			],
			"Resource": "*"
		}
	]
}
```

**Untuk mengubah kebijakan VPC endpoint untuk Amazon ECR**

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

1. Di panel navigasi, pilih **Titik akhir**.

1. Jika Anda belum membuat VPC endpoint untuk Amazon ECR, lihat [Buat VPC endpoint untuk Amazon ECR](#ecr-setting-up-vpc-create).

1. Pilih VPC endpoint Amazon ECR untuk menambahkan kebijakan, dan pilih tab **Kebijakan** di bagian bawah layar.

1. Pilih **Edit Kebijakan** dan buat perubahan pada kebijakan.

1. Pilih **Terapkan** untuk menyimpan kebijakan tersebut.

## Subnet bersama
<a name="ecr-vpc-endpoint-shared-subnets"></a>

Anda tidak dapat membuat, mendeskripsikan, memodifikasi, atau menghapus titik akhir VPC di subnet yang dibagikan dengan Anda. Namun, Anda dapat menggunakan titik akhir VPC di subnet yang dibagikan dengan Anda.

# Pencegahan "confused deputy" lintas layanan
<a name="cross-service-confused-deputy-prevention"></a>

Masalah "confused deputy" adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memengaruhi entitas yang memiliki hak akses lebih tinggi untuk melakukan tindakan. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (*layanan yang dipanggil*) memanggil layanan lain (*layanan yang dipanggil*). Layanan pemanggilan dapat dimanipulasi menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS menyediakan alat yang membantu Anda melindungi data untuk semua layanan dengan principal layanan yang telah diberi akses ke sumber daya di akun Anda. 

Sebaiknya gunakan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)atau kunci konteks kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global dalam kebijakan sumber daya untuk membatasi izin yang diberikan Amazon ECR layanan lain ke sumber daya. Gunakan `aws:SourceArn` jika Anda ingin hanya satu sumber daya yang akan dikaitkan dengan akses lintas layanan. Gunakan `aws:SourceAccount` jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global `aws:SourceArn` dengan ARN lengkap sumber daya. Jika Anda tidak mengetahui ARN lengkap sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks global `aws:SourceArn` dengan karakter wildcard (`*`) untuk bagian ARN yang tidak diketahui. Misalnya, `arn:aws:servicename:region:123456789012:*`. 

Jika nilai `aws:SourceArn` tidak berisi ID akun, seperti ARN bucket Amazon S3, Anda harus menggunakan kedua kunci konteks kondisi global tersebut untuk membatasi izin. 

Nilai `aws:SourceArn` harus ResourceDescription.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan global dalam kebijakan repositori Amazon ECR untuk mengizinkan AWS CodeBuild akses ke tindakan Amazon ECR API yang diperlukan untuk integrasi dengan layanan tersebut sekaligus mencegah masalah deputi yang membingungkan.

------
#### [ 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"
            }
         }
      }
   ]
}
```

------