

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

# Pemantauan Amazon ECR
<a name="monitoring"></a>

Anda dapat memantau penggunaan API Amazon ECR Anda dengan Amazon CloudWatch, yang mengumpulkan dan memproses data mentah dari Amazon ECR menjadi metrik yang dapat dibaca, mendekati waktu nyata. Statistik ini dicatat untuk jangka waktu dua minggu sehingga Anda dapat mengakses informasi historis dan mendapatkan perspektif tentang penggunaan API Anda. Data metrik Amazon ECR secara otomatis dikirim ke CloudWatch dalam periode satu menit. Untuk informasi selengkapnya CloudWatch, lihat [Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

Amazon ECR menyediakan metrik berdasarkan penggunaan API Anda untuk tindakan otorisasi, dorongan citra, dan tarikan citra.

Pemantauan adalah bagian penting dalam menjaga keandalan, ketersediaan, dan kinerja Amazon ECR dan AWS solusi Anda. Kami menyarankan Anda mengumpulkan data pemantauan dari sumber daya yang membentuk AWS solusi Anda sehingga Anda dapat lebih mudah men-debug kegagalan multi-titik jika terjadi. Namun sebelum Anda mulai memantau Amazon ECR, Anda harus membuat rencana pemantauan yang mencakup jawaban atas pertanyaan berikut:
+ Apa sasaran pemantauan Anda?
+ Sumber daya apa yang akan Anda pantau?
+ Seberapa sering Anda akan memantau sumber daya ini?
+ Alat pemantauan apa yang akan Anda gunakan?
+ Siapa yang akan melakukan tugas pemantauan?
+ Siapa yang harus diberi tahu saat terjadi kesalahan?

Langkah berikutnya adalah menetapkan baseline untuk kinerja Amazon ECR normal di lingkungan Anda, dengan mengukur kinerja di berbagai waktu dan dengan kondisi beban yang berbeda. Saat Anda memantau Amazon ECR, simpan data pemantauan historis sehingga Anda dapat membandingkannya dengan data kinerja baru, mengidentifikasi pola kinerja normal dan anomali kinerja, dan merancang metode untuk mengatasi masalah.

**Topics**
+ [Memvisualisasikan kuota layanan Anda dan mengatur alarm](monitoring-quotas-alarms.md)
+ [Metrik penggunaan Amazon ECR](monitoring-usage.md)
+ [Laporan penggunaan Amazon ECR](usage-reports.md)
+ [Metrik repositori Amazon ECR](ecr-repository-metrics.md)
+ [Acara Amazon ECR dan EventBridge](ecr-eventbridge.md)
+ [Mencatat tindakan Amazon ECR dengan AWS CloudTrail](logging-using-cloudtrail.md)

# Memvisualisasikan kuota layanan Anda dan mengatur alarm
<a name="monitoring-quotas-alarms"></a>

Anda dapat menggunakan CloudWatch konsol untuk memvisualisasikan kuota layanan Anda dan melihat bagaimana penggunaan Anda saat ini dibandingkan dengan kuota layanan. Anda juga dapat mengatur alarm agar diberi notifikasi ketika mendekati kuota.

**Untuk memvisualisasikan kuota layanan dan secara opsional mengatur alarm**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Pada panel navigasi, silakan pilih **Metrik**.

1. Pada tab **Semua metrik**, pilih **Penggunaan**, lalu pilih **Oleh Sumber Daya AWS **.

   Daftar metrik penggunaan kuota layanan muncul.

1. Pilih kotak centang di samping salah satu metrik.

   Grafik menampilkan penggunaan AWS sumber daya Anda saat ini.

1. Untuk menambahkan kuota layanan Anda ke grafik, lakukan hal berikut:

   1. Pilih tab **Metrik bergrafik**.

   1. Pilih **Pernyataan matematika**, **Mulai dengan pernyataan kosong**. Lalu, di baris baru, di bawah **Rincian**, masukkan **SERVICE\$1QUOTA(m1)**.

      Baris baru ditambahkan ke grafik, menampilkan kuota layanan untuk sumber daya yang diwakili dalam metrik.

1. Untuk melihat penggunaan Anda saat ini sebagai persentase dari kuota, tambahkan pernyataan baru atau ubah pernyataan **SERVICE\$1QUOTA** saat ini. Untuk pernyataan baru, gunakan **m1/60/SERVICE\$1QUOTA(m1)\$1100**.

1. (Opsional) Untuk mengatur alarm yang memberi tahu Anda jika mendekati kuota layanan, lakukan hal berikut:

   1. Di **m1/60/SERVICE\$1QUOTA(m1)\$1100** baris, di bawah **Tindakan**, pilih ikon alarm. Terlihat seperti lonceng.

      Halaman pembuatan alarm muncul.

   1. Di bawah **Ketentuan**, pastikan bahwa **Jenis ambang batas** bersifat **Statis** dan **Setiap kali Expression1** diatur menjadi **Lebih Besar**. Di bawah **dari**, masukkan **80**. Tindakan ini akan membuat alarm masuk ke status ALARM ketika penggunaan Anda melebihi 80 persen dari kuota.

   1. Pilih **Selanjutnya**.

   1. Di halaman berikutnya, pilih topik Amazon SNS atau buat topik baru. Topik ini akan diberi tahu ketika alarm masuk ke status ALARM. Lalu, pilih **Selanjutnya**.

   1. Di halaman berikutnya, masukkan nama dan penjelasan untuk alarm, lalu pilih **Selanjutnya**.

   1. Pilih **Buat alarm**.

# Metrik penggunaan Amazon ECR
<a name="monitoring-usage"></a>

Anda dapat menggunakan metrik CloudWatch penggunaan untuk memberikan visibilitas ke dalam penggunaan sumber daya akun Anda. Gunakan metrik ini untuk memvisualisasikan penggunaan layanan Anda saat ini pada CloudWatch grafik dan dasbor.

Metrik penggunaan Amazon ECR sesuai dengan kuota AWS layanan. Anda dapat mengonfigurasi alarm yang memberi tahu Anda saat penggunaan mendekati kuota layanan. Untuk informasi lebih lanjut tentang kuota layanan Amazon ECR, lihat [Kuota layanan Amazon ECR](service-quotas.md).

Amazon ECR menerbitkan metrik berikut di namespace `AWS/Usage`.


|  Metrik  |  Deskripsi  | 
| --- | --- | 
|  `CallCount`  |  Jumlah tindakan panggilan API dari akun Anda. Sumber daya ditentukan oleh dimensi yang terkait dengan metrik. Statistik yang paling berguna untuk metrik ini adalah `SUM`, yang mewakili jumlah nilai dari semua kontributor selama periode yang ditentukan.  | 
|  `ResourceCount`  |  Jumlah sumber daya yang ditentukan di akun Anda. Sumber daya tersebut ditentukan oleh dimensi yang dikaitkan dengan metrik. Statistik yang paling berguna untuk metrik ini adalah`MAXIMUM`, yang mewakili jumlah maksimum sumber daya yang digunakan selama periode 5 menit.  | 

Dimensi berikut digunakan untuk menyempurnakan metrik penggunaan API yang diterbitkan oleh Amazon ECR.


|  Dimensi  |  Deskripsi  | 
| --- | --- | 
|  `Service`  |  Nama AWS layanan yang berisi sumber daya. Untuk metrik penggunaan Amazon ECR, nilai untuk dimensi ini adalah `ECR`.  | 
|  `Type`  |  Tipe entitas yang dilaporkan. Saat ini, satu-satunya nilai yang valid untuk metrik penggunaan Amazon ECR API adalah. `API`  | 
|  `Resource`  |  Tipe sumber daya yang sedang berjalan. Saat ini, Amazon ECR mengembalikan informasi tentang penggunaan API Anda untuk tindakan API berikut. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECR/latest/userguide/monitoring-usage.html)  | 
|  Class  |  Kelas sumber daya yang akan dilacak. Saat ini, Amazon ECR tidak menggunakan dimensi kelas.  | 

Dimensi berikut digunakan untuk menyempurnakan metrik penggunaan Sumber Daya yang diterbitkan oleh Amazon ECR.


|  Dimensi  |  Deskripsi  | 
| --- | --- | 
|  `Service`  |  Nama AWS layanan yang berisi sumber daya. Untuk metrik penggunaan Amazon ECR, nilai untuk dimensi ini adalah `ECR`.  | 
|  `Type`  |  Tipe entitas yang dilaporkan. Saat ini, satu-satunya nilai yang valid untuk metrik penggunaan sumber daya Amazon ECR adalah. `RESOURCE`  | 
|  `Resource`  |  Tipe sumber daya yang sedang berjalan. Saat ini, Amazon ECR mengembalikan informasi tentang penggunaan sumber daya Anda untuk metrik berikut. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonECR/latest/userguide/monitoring-usage.html)  | 
|  `ResourceId`  |  Identifier untuk sumber daya yang dikeluarkan penggunaan. Saat ResourceId ini, hanya relevan dengan `ImagesPerRepositoryCount` dan nilainya diformat sebagai repository/your\$1repository\$1name. For example: "repository/my -repo” mengembalikan jumlah gambar dalam repositori dengan nama “my-repo”.  | 

# Laporan penggunaan Amazon ECR
<a name="usage-reports"></a>

AWS menyediakan alat pelaporan gratis yang disebut Cost Explorer yang memungkinkan Anda menganalisis biaya dan penggunaan sumber daya Amazon ECR Anda.

Gunakan Cost Explorer untuk melihat bagan penggunaan dan biaya Anda. Anda dapat melihat data hingga 13 bulan terakhir, dan memperkirakan seberapa besar kemungkinan pengeluaran Anda untuk tiga bulan ke depan. Anda dapat menggunakan Cost Explorer untuk melihat pola pengeluaran sumber daya AWS Anda dari waktu ke waktu, mengidentifikasi area-area yang memerlukan penyelidikan lebih lanjut, dan melihat tren yang dapat Anda gunakan untuk memahami biaya Anda. Anda juga dapat menentukan rentang waktu untuk data, dan melihat data waktu berdasarkan hari atau bulan.

Data pengukuran dalam Laporan Biaya dan Penggunaan menunjukkan penggunaan di semua repositori Amazon ECR Anda. Untuk informasi selengkapnya, lihat [Penandaan sumber daya Anda untuk penagihan](ecr-using-tags.md#tag-resources-for-billing).

Untuk informasi selengkapnya tentang membuat Laporan AWS Biaya dan Penggunaan, lihat [Laporan AWS Biaya dan Penggunaan](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-reports-costusage.html) di *Panduan AWS Billing Pengguna*.

# Metrik repositori Amazon ECR
<a name="ecr-repository-metrics"></a>

Amazon ECR mengirimkan metrik jumlah tarik repositori ke Amazon. CloudWatch Data metrik Amazon ECR secara otomatis dikirim ke CloudWatch dalam periode 1 menit. Untuk informasi selengkapnya CloudWatch, lihat [Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

**Topics**
+ [Mengaktifkan metrik CloudWatch](#enable_cloudwatch)
+ [Metrik dan dimensi yang tersedia](#available_cloudwatch_metrics)
+ [Melihat metrik Amazon ECR menggunakan konsol CloudWatch](#viewing_metrics_console)

## Mengaktifkan metrik CloudWatch
<a name="enable_cloudwatch"></a>

Amazon ECR mengirimkan metrik repositori secara otomatis untuk semua repositori. Tidak perlu mengambil langkah manual apa pun.

## Metrik dan dimensi yang tersedia
<a name="available_cloudwatch_metrics"></a>

Bagian berikut mencantumkan metrik dan dimensi yang dikirimkan Amazon ECR ke Amazon. CloudWatch

### Metrik Amazon ECR
<a name="ecr-metrics"></a>

Amazon ECR menyediakan metrik bagi Anda untuk memantau repositori Anda. Anda dapat mengukur jumlah tarik.

Namespace `AWS/ECR` mencakup metrik berikut.

`RepositoryPullCount`  
Jumlah total tarikan untuk gambar di repositori.  
Dimensi yang valid: `RepositoryName`.  
Statistik yang valid: Rata-rata, Minimum, Maksimum, Jumlah, Jumlah Sampel. Statistik yang paling berguna adalah Sum.  
Satuan: Bilangan bulat.

### Dimensi untuk metrik Amazon ECR
<a name="ecs-metrics-dimensions"></a>

Metrik Amazon ECR menggunakan `AWS/ECR` namespace dan menyediakan metrik untuk dimensi berikut.

`RepositoryName`  
Dimensi ini menyaring data yang Anda minta untuk semua gambar kontainer dalam repositori tertentu.

## Melihat metrik Amazon ECR menggunakan konsol CloudWatch
<a name="viewing_metrics_console"></a>

Anda dapat melihat metrik repositori Amazon ECR di konsol. CloudWatch CloudWatch Konsol menyediakan tampilan sumber daya Anda yang berbutir halus dan dapat disesuaikan. Untuk informasi selengkapnya, lihat [Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

# Acara Amazon ECR dan EventBridge
<a name="ecr-eventbridge"></a>

Amazon EventBridge memungkinkan Anda untuk mengotomatiskan AWS layanan Anda dan merespons secara otomatis peristiwa sistem seperti masalah ketersediaan aplikasi atau perubahan sumber daya. Acara dari AWS layanan dikirimkan ke EventBridge dalam waktu dekat. Anda dapat menulis aturan sederhana untuk menunjukkan kejadian mana yang sesuai kepentingan Anda, dan memasukkan tindakan otomatis apa yang diambil ketika suatu kejadian sesuai dengan suatu aturan. Tindakan yang dapat dipicu secara otomatis meliputi hal-hal berikut:
+ Menambahkan peristiwa ke grup log di CloudWatch Log
+ Memanggil fungsi AWS Lambda 
+ Meminta Perintah Amazon EC2 Run
+ Mengirim peristiwa ke Amazon Kinesis Data Streams
+ Mengaktifkan mesin AWS Step Functions negara
+ Memberi tahu topik Amazon SNS atau antrean Amazon SQS

Untuk informasi selengkapnya, lihat [Memulai Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) *di Panduan EventBridge Pengguna Amazon*.

## Contoh kejadian dari Amazon ECR
<a name="ecr-eventbridge-bus"></a>

Berikut adalah contoh kejadian dari Amazon ECR. Kejadian dipancarkan atas dasar upaya terbaik.

**Acara untuk push gambar yang lengkap**

Kejadian berikut dikirim ketika setiap dorongan citra selesai. Untuk informasi selengkapnya, lihat [Mendorong gambar Docker ke repositori pribadi Amazon ECR](docker-push-ecr-image.md).

```
{
    "version": "0",
    "id": "13cde686-328b-6117-af20-0e5566167482",
    "detail-type": "ECR Image Action",
    "source": "aws.ecr",
    "account": "123456789012",
    "time": "2019-11-16T01:54:34Z",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "result": "SUCCESS",
        "repository-name": "my-repository-name",
        "image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
        "action-type": "PUSH",
        "image-tag": "latest"
    }
}
```

**Acara untuk aksi pull through cache**

Peristiwa berikut dikirim ketika tindakan pull through cache dicoba. Untuk informasi selengkapnya, lihat [Sinkronkan registri hulu dengan registri pribadi Amazon ECR](pull-through-cache.md).

```
{
    "version": "0",
    "id": "85fc3613-e913-7fc4-a80c-a3753e4aa9ae",
    "detail-type": "ECR Pull Through Cache Action",
    "source": "aws.ecr",
    "account": "123456789012",
    "time": "2023-02-29T02:36:48Z",
    "region": "us-west-2",
    "resources": [
        "arn:aws:ecr:us-west-2:123456789012:repository/docker-hub/alpine"
    ],
    "detail": {
        "rule-version": "1",
        "sync-status": "SUCCESS",
        "ecr-repository-prefix": "docker-hub",
        "repository-name": "docker-hub/alpine",
        "upstream-registry-url": "public.ecr.aws",
        "image-tag": "3.17.2",
        "image-digest": "sha256:4aa08ef415aecc80814cb42fa41b658480779d80c77ab15EXAMPLE",
    }
}
```

**Acara untuk pemindaian gambar selesai (pemindaian dasar)**

Ketika pemindaian dasar diaktifkan untuk registri Anda, peristiwa berikut dikirim ketika setiap pemindaian gambar selesai. Parameter `finding-severity-counts` hanya akan mengembalikan nilai untuk suatu tingkat keparahan jika ada. Contohnya, jika citra tidak mengandung temuan di tingkat `CRITICAL`, maka tidak ada hitungan kritis yang dikembalikan. Untuk informasi selengkapnya, lihat [Pindai gambar untuk kerentanan OS di Amazon ECR](image-scanning-basic.md).

**catatan**  
Untuk detail tentang peristiwa yang dipancarkan Amazon Inspector saat pemindaian yang disempurnakan diaktifkan, lihat. [EventBridge peristiwa dikirim untuk pemindaian yang ditingkatkan di Amazon ECR](image-scanning-enhanced-events.md)

```
{
    "version": "0",
    "id": "85fc3613-e913-7fc4-a80c-a3753e4aa9ae",
    "detail-type": "ECR Image Scan",
    "source": "aws.ecr",
    "account": "123456789012",
    "time": "2019-10-29T02:36:48Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ecr:us-east-1:123456789012:repository/my-repository-name"
    ],
    "detail": {
        "scan-status": "COMPLETE",
        "repository-name": "my-repository-name",
        "finding-severity-counts": {
	       "CRITICAL": 10,
	       "MEDIUM": 9
	     },
        "image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
        "image-tags": []
    }
}
```

**Acara untuk pemberitahuan perubahan pada sumber daya dengan pemindaian yang ditingkatkan diaktifkan (pemindaian yang disempurnakan)**

Ketika pemindaian yang disempurnakan diaktifkan untuk registri Anda, peristiwa berikut dikirim oleh Amazon ECR ketika ada perubahan dengan sumber daya yang telah ditingkatkan pemindaian diaktifkan. Ini termasuk repositori baru yang sedang dibuat, frekuensi pemindaian untuk repositori yang diubah, atau ketika gambar dibuat atau dihapus di repositori dengan pemindaian yang ditingkatkan diaktifkan. Untuk informasi selengkapnya, lihat [Pindai gambar untuk kerentanan perangkat lunak di Amazon ECR](image-scanning.md).

```
{
	"version": "0",
	"id": "0c18352a-a4d4-6853-ef53-0ab8638973bf",
	"detail-type": "ECR Scan Resource Change",
	"source": "aws.ecr",
	"account": "123456789012",
	"time": "2021-10-14T20:53:46Z",
	"region": "us-east-1",
	"resources": [],
	"detail": {
		"action-type": "SCAN_FREQUENCY_CHANGE",
		"repositories": [{
				"repository-name": "repository-1",
				"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-1",
				"scan-frequency": "SCAN_ON_PUSH",
				"previous-scan-frequency": "MANUAL"
			},
			{
				"repository-name": "repository-2",
				"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-2",
				"scan-frequency": "CONTINUOUS_SCAN",
				"previous-scan-frequency": "SCAN_ON_PUSH"
			},
			{
				"repository-name": "repository-3",
				"repository-arn": "arn:aws:ecr:us-east-1:123456789012:repository/repository-3",
				"scan-frequency": "CONTINUOUS_SCAN",
				"previous-scan-frequency": "SCAN_ON_PUSH"
			}
		],
		"resource-type": "REPOSITORY",
		"scan-type": "ENHANCED"
	}
}
```

**Acara untuk penghapusan gambar**

Kejadian berikut dikirim ketika suatu citra dihapus. Untuk informasi selengkapnya, lihat [Menghapus gambar di Amazon ECR](delete_image.md).

```
{
    "version": "0",
    "id": "dd3b46cb-2c74-f49e-393b-28286b67279d",
    "detail-type": "ECR Image Action",
    "source": "aws.ecr",
    "account": "123456789012",
    "time": "2019-11-16T02:01:05Z",
    "region": "us-west-2",
    "resources": [],
    "detail": {
        "result": "SUCCESS",
        "repository-name": "my-repository-name",
        "image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
        "action-type": "DELETE",
        "image-tag": "latest"
    }
}
```

**Acara untuk aksi arsip gambar**

Peristiwa berikut dikirim saat gambar diarsipkan. `target-storage-class`Bidang akan diatur ke`ARCHIVE`. Acara ini mencakup jenis media manifes dan artefak untuk mengidentifikasi jenis konten yang diarsipkan.

```
{
    "version": "0",
    "id": "4f5ec4d5-4de4-7aad-a046-EXAMPLE",
    "detail-type": "ECR Image Action",
    "source": "aws.ecr",
    "account": "123456789012",
    "time": "2019-08-06T00:58:09Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "action-type": "UPDATE_STORAGE_CLASS",
        "target-storage-class": "ARCHIVE",
        "image-digest": "sha256:f98d67af8e53a536502bfc600de3266556b06ed635a32d60aa7a5fe6d7e609d7",
        "repository-name": "ubuntu",
        "result": "SUCCESS",
        "manifest-media-type": "application/vnd.oci.image.manifest.v1+json",
        "artifact-media-type": "application/vnd.oci.image.config.v1+json"
    }
}
```

**Acara untuk tindakan pemulihan gambar**

Acara berikut dikirim ketika gambar yang diarsipkan dipulihkan. `target-storage-class`Bidang akan diatur ke`STANDARD`. Acara ini mencakup `last-activated-at` bidang yang menunjukkan kapan gambar terakhir dipulihkan.

```
{
    "version": "0",
    "id": "7b8fc5e6-5ef5-8bbe-b157-EXAMPLE",
    "detail-type": "ECR Image Action",
    "source": "aws.ecr",
    "account": "123456789012",
    "time": "2019-08-06T01:15:22Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "action-type": "UPDATE_STORAGE_CLASS",
        "target-storage-class": "STANDARD",
        "image-digest": "sha256:f98d67af8e53a536502bfc600de3266556b06ed635a32d60aa7a5fe6d7e609d7",
        "repository-name": "ubuntu",
        "result": "SUCCESS",
        "manifest-media-type": "application/vnd.oci.image.manifest.v1+json",
        "artifact-media-type": "application/vnd.oci.image.config.v1+json",
        "last-activated-at": "2025-10-10T19:13:02.74Z"
    }
}
```

**Acara untuk tindakan pemulihan perujuk**

Peristiwa berikut dikirim ketika perujuk yang diarsipkan (artefak referensi seperti SBOM, tanda tangan, atau pengesahan) dipulihkan. Perhatikan bahwa `detail-type` adalah `ECR Referrer Action` untuk membedakannya dari tindakan gambar biasa. `artifact-media-type`Bidang `manifest-media-type` dan mengidentifikasi jenis perujuk tertentu yang dipulihkan. Dalam contoh ini, artefak SBOM sedang dipulihkan.

```
{
    "version": "0",
    "id": "8c9gd6f7-6fg6-9ccf-c268-EXAMPLE",
    "detail-type": "ECR Referrer Action",
    "source": "aws.ecr",
    "account": "123456789012",
    "time": "2019-08-06T01:20:45Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "action-type": "UPDATE_STORAGE_CLASS",
        "target-storage-class": "STANDARD",
        "image-digest": "sha256:f98d67af8e53a536502bfc600de3266556b06ed635a32d60aa7a5fe6d7e609d7",
        "repository-name": "sbom",
        "result": "SUCCESS",
        "manifest-media-type": "application/vnd.cncf.oras.artifact.manifest.v1+json",
        "artifact-media-type": "text/sbom+json",
        "last-activated-at": "2025-10-10T19:13:02.74Z"
    }
}
```

**Acara untuk replikasi gambar yang lengkap**

Peristiwa berikut dikirim ketika setiap replikasi gambar selesai. Untuk informasi selengkapnya, lihat [Replikasi image privat di Amazon ECR](replication.md).

```
{
  "version": "0",
  "id": "c8b133b1-6029-ee73-e2a1-4f466b8ba999",
  "detail-type": "ECR Replication Action",
  "source": "aws.ecr",
  "account": "123456789012",
  "time": "2024-05-08T20:44:54Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ecr:us-east-1:123456789012:repository/docker-hub/alpine"
  ],
  "detail": {
    "result": "SUCCESS",
    "repository-name": "docker-hub/alpine",
    "image-digest": "sha256:7f5b2640fe6fb4f46592dfd3410c4a79dac4f89e4782432e0378abcd1234",
    "source-account": "123456789012",
    "action-type": "REPLICATE",
    "source-region": "us-west-2",
    "image-tag": "3.17.2"
  }
}
```

**Acara untuk replikasi gambar yang gagal**

Peristiwa berikut dikirim ketika replikasi gambar gagal. `result`Bidang akan berisi `FAILED` dan informasi kesalahan tambahan dapat dimasukkan dalam detail acara.

```
{
  "version": "0",
  "id": "d9c244c2-7130-ff84-f3b2-5g577c9cb000",
  "detail-type": "ECR Replication Action",
  "source": "aws.ecr",
  "account": "123456789012",
  "time": "2024-05-08T20:45:12Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:ecr:us-east-1:123456789012:repository/my-app"
  ],
  "detail": {
    "result": "FAILED",
    "repository-name": "my-app",
    "image-digest": "sha256:8g6c3751gf7gc5g47603ege4511d5a80ead5g90f5893543f1489bde2345",
    "source-account": "123456789012",
    "action-type": "REPLICATE",
    "source-region": "us-west-2",
    "image-tag": "latest"
  }
}
```

# Mencatat tindakan Amazon ECR dengan AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon ECR terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan di Amazon ECR. CloudTrail menangkap tindakan Amazon ECR berikut sebagai peristiwa:
+ Semua panggilan API, termasuk panggilan dari konsol Amazon ECR
+ Semua tindakan yang diambil karena pengaturan enkripsi pada repositori Anda
+ Semua tindakan yang diambil karena aturan kebijakan siklus hidup, termasuk tindakan yang berhasil dan tidak berhasil
**penting**  
Karena keterbatasan ukuran CloudTrail peristiwa individual, untuk tindakan kebijakan siklus hidup di mana 10 gambar atau lebih kedaluwarsa Amazon ECR mengirimkan beberapa peristiwa ke. CloudTrail Selain itu, Amazon ECR menyertakan maksimum 100 tag per gambar.

Saat jejak dibuat, Anda dapat mengaktifkan pengiriman CloudTrail acara secara terus menerus ke bucket Amazon S3, termasuk acara untuk Amazon ECR. Jika Anda tidak mengonfigurasi jejak, Anda masih dapat melihat peristiwa terbaru di CloudTrail konsol dalam **Riwayat acara**. Dengan menggunakan informasi ini, Anda dapat menentukan permintaan yang dibuat ke Amazon ECR, alamat IP asal permintaan tersebut dibuat, siapa yang membuat permintaan, kapan permintaan dibuat, dan detail lainnya. 

Untuk informasi selengkapnya, silakan lihat [Panduan Pengguna AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informasi Amazon ECR di CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail diaktifkan di AWS akun Anda saat Anda membuat akun. Ketika aktivitas terjadi di Amazon ECR, aktivitas tersebut direkam dalam suatu CloudTrail peristiwa bersama dengan peristiwa AWS layanan lainnya dalam **riwayat Acara**. Anda dapat melihat, mencari, dan mengunduh acara terbaru di AWS akun Anda. Untuk informasi selengkapnya, lihat [Melihat Acara dengan Riwayat CloudTrail Acara](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Untuk catatan peristiwa yang sedang berlangsung di AWS akun Anda, termasuk acara untuk Amazon ECR, buat jejak. Jejak memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3. Bila Anda membuat jejak di konsol, Anda dapat menerapkan jejak ke satu Wilayah atau semua Wilayah. Trail mencatat peristiwa di AWS partisi dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengonfigurasi AWS layanan lain untuk menganalisis dan menindaklanjuti data peristiwa yang dikumpulkan dalam CloudTrail log. Untuk informasi lebih lanjut, lihat: 
+ [Membuat jejak untuk AWS akun Anda](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [AWS integrasi layanan dengan log CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Mengonfigurasi notifikasi Amazon SNS untuk CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Menerima file CloudTrail log dari beberapa Wilayah](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) dan [Menerima file CloudTrail log dari beberapa akun](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Semua tindakan Amazon ECR API dicatat oleh CloudTrail dan didokumentasikan dalam [Referensi API Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/). Saat Anda melakukan tugas umum, bagian dibuat dalam file CloudTrail log untuk setiap tindakan API yang merupakan bagian dari tugas tersebut. Misalnya, ketika Anda membuat repositori,`GetAuthorizationToken`, `CreateRepository` dan `SetRepositoryPolicy` bagian yang dihasilkan dalam file CloudTrail log. Saat Anda mendorong gambar ke repositori,,,`InitiateLayerUpload`,`UploadLayerPart`, `CompleteLayerUpload``PutImage`, dan, jika pemasangan gumpalan diaktifkan, `MountLayer` bagian dihasilkan. Ketika Anda menarik suatu citra, bagian `GetDownloadUrlForLayer` dan `BatchGetImage` dihasilkan. Saat Anda mengarsipkan atau memulihkan `UpdateImageStorageClass` bagian gambar dihasilkan. Ketika OCI klien yang mendukung OCI 1.1 spesifikasi mengambil daftar perujuk, atau artefak referensi, untuk gambar yang menggunakan Referrers API, sebuah peristiwa akan dipancarkan. `ListImageReferrers` CloudTrail Untuk contoh tugas umum ini, lihat [CloudTrail contoh entri log](#cloudtrail-examples).

Setiap entri kejadian atau log berisi informasi tentang siapa yang membuat permintaan tersebut. Informasi identitas membantu Anda menentukan hal berikut ini:
+ Apakah permintaan dibuat dengan root atau kredensyal pengguna
+ Baik permintaan tersebut dibuat dengan kredensial keamanan sementara untuk peran atau pengguna gabungan
+ Apakah permintaan itu dibuat oleh AWS layanan lain

Untuk informasi selengkapnya, lihat [CloudTrail `userIdentity` Elemen](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Memahami entri file log Amazon ECR
<a name="understanding-service-name-entries"></a>

Trail adalah konfigurasi yang memungkinkan pengiriman peristiwa sebagai file log ke bucket Amazon S3 yang Anda tentukan. CloudTrail file log berisi satu atau lebih entri log. Peristiwa mewakili permintaan tunggal dari sumber mana pun dan mencakup informasi tentang tindakan yang diminta, tanggal dan waktu tindakan, parameter permintaan, dan informasi lainnya. CloudTrail file log bukanlah jejak tumpukan yang diurutkan dari panggilan API publik, sehingga file tersebut tidak muncul dalam urutan tertentu. 

### CloudTrail contoh entri log
<a name="cloudtrail-examples"></a>

Berikut ini adalah contoh entri CloudTrail log untuk beberapa tugas ECR Amazon yang umum.

Contoh-contoh ini telah diformat untuk meningkatkan keterbacaan. Dalam file CloudTrail log, semua entri dan peristiwa digabungkan menjadi satu baris. Selain itu, contoh ini telah terbatas pada entri tunggal Amazon ECR. Dalam file CloudTrail log nyata, Anda melihat entri dan peristiwa dari beberapa AWS layanan.

**penting**  
**Sumbernya IPAddress** adalah alamat IP tempat permintaan dibuat. Untuk tindakan yang berasal dari konsol layanan, alamat yang dilaporkan adalah untuk sumber daya dasar Anda, bukan server web konsol. Untuk layanan di AWS, hanya nama DNS yang ditampilkan. Kami masih mengevaluasi autentikasi dengan IP sumber klien bahkan jika itu disunting ke nama AWS DNS layanan.

**Topics**
+ [Contoh: Buat tindakan repositori](#cloudtrail-examples-create-repository)
+ [Contoh: Tindakan AWS KMS `CreateGrant` API saat membuat repositori Amazon ECR](#cloudtrail-examples-create-repository-kms)
+ [Contoh: Tindakan dorongan citra](#cloudtrail-examples-push-image)
+ [Contoh: Tindakan tarikan citra](#cloudtrail-examples-image-pull)
+ [Contoh: Tindakan kebijakan siklus hidup citra](#cloudtrail-examples-lcp)
+ [Contoh: Tindakan arsip gambar](#cloudtrail-examples-image-archive)
+ [Contoh: Tindakan pemulihan gambar](#cloudtrail-examples-image-restore)
+ [Contoh: Tindakan perujuk gambar](#cloudtrail-examples-image-referrers-action)

#### Contoh: Buat tindakan repositori
<a name="cloudtrail-examples-create-repository"></a>

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan `CreateRepository` tindakan.

```
{
    "eventVersion": "1.04",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name",
        "arn": "arn:aws:sts::123456789012:user/Mary_Major",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2018-07-11T21:54:07Z"
            },
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                "arn": "arn:aws:iam::123456789012:role/Admin",
                "accountId": "123456789012",
                "userName": "Admin"
            }
        }
    },
    "eventTime": "2018-07-11T22:17:43Z",
    "eventSource": "ecr.amazonaws.com",
    "eventName": "CreateRepository",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "203.0.113.12",
    "userAgent": "console.amazonaws.com",
    "requestParameters": {
        "repositoryName": "testrepo"
    },
    "responseElements": {
        "repository": {
            "repositoryArn": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo",
            "repositoryName": "testrepo",
            "repositoryUri": "123456789012.dkr.ecr.us-east-2.amazonaws.com/testrepo",
            "createdAt": "Jul 11, 2018 10:17:44 PM",
            "registryId": "123456789012"
        }
    },
    "requestID": "cb8c167e-EXAMPLE",
    "eventID": "e3c6f4ce-EXAMPLE",
    "resources": [
        {
            "ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo",
            "accountId": "123456789012"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

#### Contoh: Tindakan AWS KMS `CreateGrant` API saat membuat repositori Amazon ECR
<a name="cloudtrail-examples-create-repository-kms"></a>

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan AWS KMS `CreateGrant` tindakan saat membuat repositori Amazon ECR dengan enkripsi KMS diaktifkan. Untuk setiap repositori yang dibuat dengan enkripsi KMS diaktifkan, Anda akan melihat dua entri `CreateGrant` log di. CloudTrail

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDAIEP6W46J43IG7LXAQ",
        "arn": "arn:aws:iam::123456789012:user/Mary_Major",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName": "Mary_Major",
        "sessionContext": {
            "sessionIssuer": {
                
            },
            "webIdFederationData": {
                
            },
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2020-06-10T19:22:10Z"
            }
        },
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2020-06-10T19:22:10Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "203.0.113.12",
    "userAgent": "console.amazonaws.com",
    "requestParameters": {
        "keyId": "4b55e5bf-39c8-41ad-b589-18464af7758a",
        "granteePrincipal": "ecr.us-west-2.amazonaws.com",
        "operations": [
            "GenerateDataKey",
            "Decrypt"
        ],
        "retiringPrincipal": "ecr.us-west-2.amazonaws.com",
        "constraints": {
            "encryptionContextSubset": {
                "aws:ecr:arn": "arn:aws:ecr:us-west-2:123456789012:repository/testrepo"
            }
        }
    },
    "responseElements": {
        "grantId": "3636af9adfee1accb67b83941087dcd45e7fadc4e74ff0103bb338422b5055f3"
    },
    "requestID": "047b7dea-b56b-4013-87e9-a089f0f6602b",
    "eventID": "af4c9573-c56a-4886-baca-a77526544469",
    "readOnly": false,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-west-2:123456789012:key/4b55e5bf-39c8-41ad-b589-18464af7758a"
        }
    ],
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

#### Contoh: Tindakan dorongan citra
<a name="cloudtrail-examples-push-image"></a>

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan dorongan gambar yang menggunakan `PutImage` tindakan.

**catatan**  
Saat mendorong gambar, Anda juga akan melihat`InitiateLayerUpload`,`UploadLayerPart`, dan `CompleteLayerUpload` referensi di CloudTrail log.

```
{
    "eventVersion": "1.04",
    "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name",
    "arn": "arn:aws:sts::123456789012:user/Mary_Major",
    "accountId": "123456789012",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"userName": "Mary_Major",
		"sessionContext": {
			"attributes": {
				"mfaAuthenticated": "false",
				"creationDate": "2019-04-15T16:42:14Z"
			}
		}
	},
	"eventTime": "2019-04-15T16:45:00Z",
	"eventSource": "ecr.amazonaws.com",
	"eventName": "PutImage",
	"awsRegion": "us-east-2",
	"sourceIPAddress": "AWS Internal",
	"userAgent": "AWS Internal",
	"requestParameters": {
		"repositoryName": "testrepo",
		"imageTag": "latest",
		"registryId": "123456789012",
		"imageManifest": "{\n   \"schemaVersion\": 2,\n   \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n   \"config\": {\n      \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n      \"size\": 5543,\n      \"digest\": \"sha256:000b9b805af1cdb60628898c9f411996301a1c13afd3dbef1d8a16ac6dbf503a\"\n   },\n   \"layers\": [\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 43252507,\n         \"digest\": \"sha256:3b37166ec61459e76e33282dda08f2a9cd698ca7e3d6bc44e6a6e7580cdeff8e\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 846,\n         \"digest\": \"sha256:504facff238fde83f1ca8f9f54520b4219c5b8f80be9616ddc52d31448a044bd\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 615,\n         \"digest\": \"sha256:ebbcacd28e101968415b0c812b2d2dc60f969e36b0b08c073bf796e12b1bb449\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 850,\n         \"digest\": \"sha256:c7fb3351ecad291a88b92b600037e2435c84a347683d540042086fe72c902b8a\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 168,\n         \"digest\": \"sha256:2e3debadcbf7e542e2aefbce1b64a358b1931fb403b3e4aeca27cb4d809d56c2\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 37720774,\n         \"digest\": \"sha256:f8c9f51ad524d8ae9bf4db69cd3e720ba92373ec265f5c390ffb21bb0c277941\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 30432107,\n         \"digest\": \"sha256:813a50b13f61cf1f8d25f19fa96ad3aa5b552896c83e86ce413b48b091d7f01b\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 197,\n         \"digest\": \"sha256:7ab043301a6187ea3293d80b30ba06c7bf1a0c3cd4c43d10353b31bc0cecfe7d\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 154,\n         \"digest\": \"sha256:67012cca8f31dc3b8ee2305e7762fee20c250513effdedb38a1c37784a5a2e71\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 176,\n         \"digest\": \"sha256:3bc892145603fffc9b1c97c94e2985b4cb19ca508750b15845a5d97becbd1a0e\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 183,\n         \"digest\": \"sha256:6f1c79518f18251d35977e7e46bfa6c6b9cf50df2a79d4194941d95c54258d18\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 212,\n         \"digest\": \"sha256:b7bcfbc2e2888afebede4dd1cd5eebf029bb6315feeaf0b56e425e11a50afe42\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 212,\n         \"digest\": \"sha256:2b220f8b0f32b7c2ed8eaafe1c802633bbd94849b9ab73926f0ba46cdae91629\"\n      }\n   ]\n}"
	},
	"responseElements": {
		"image": {
			"repositoryName": "testrepo",
			"imageManifest": "{\n   \"schemaVersion\": 2,\n   \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n   \"config\": {\n      \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n      \"size\": 5543,\n      \"digest\": \"sha256:000b9b805af1cdb60628898c9f411996301a1c13afd3dbef1d8a16ac6dbf503a\"\n   },\n   \"layers\": [\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 43252507,\n         \"digest\": \"sha256:3b37166ec61459e76e33282dda08f2a9cd698ca7e3d6bc44e6a6e7580cdeff8e\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 846,\n         \"digest\": \"sha256:504facff238fde83f1ca8f9f54520b4219c5b8f80be9616ddc52d31448a044bd\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 615,\n         \"digest\": \"sha256:ebbcacd28e101968415b0c812b2d2dc60f969e36b0b08c073bf796e12b1bb449\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 850,\n         \"digest\": \"sha256:c7fb3351ecad291a88b92b600037e2435c84a347683d540042086fe72c902b8a\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 168,\n         \"digest\": \"sha256:2e3debadcbf7e542e2aefbce1b64a358b1931fb403b3e4aeca27cb4d809d56c2\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 37720774,\n         \"digest\": \"sha256:f8c9f51ad524d8ae9bf4db69cd3e720ba92373ec265f5c390ffb21bb0c277941\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 30432107,\n         \"digest\": \"sha256:813a50b13f61cf1f8d25f19fa96ad3aa5b552896c83e86ce413b48b091d7f01b\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 197,\n         \"digest\": \"sha256:7ab043301a6187ea3293d80b30ba06c7bf1a0c3cd4c43d10353b31bc0cecfe7d\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 154,\n         \"digest\": \"sha256:67012cca8f31dc3b8ee2305e7762fee20c250513effdedb38a1c37784a5a2e71\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 176,\n         \"digest\": \"sha256:3bc892145603fffc9b1c97c94e2985b4cb19ca508750b15845a5d97becbd1a0e\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 183,\n         \"digest\": \"sha256:6f1c79518f18251d35977e7e46bfa6c6b9cf50df2a79d4194941d95c54258d18\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 212,\n         \"digest\": \"sha256:b7bcfbc2e2888afebede4dd1cd5eebf029bb6315feeaf0b56e425e11a50afe42\"\n      },\n      {\n         \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n         \"size\": 212,\n         \"digest\": \"sha256:2b220f8b0f32b7c2ed8eaafe1c802633bbd94849b9ab73926f0ba46cdae91629\"\n      }\n   ]\n}",
			"registryId": "123456789012",
			"imageId": {
				"imageDigest": "sha256:98c8b060c21d9adbb6b8c41b916e95e6307102786973ab93a41e8b86d1fc6d3e",
				"imageTag": "latest"
			}
		}
	},
	"requestID": "cf044b7d-5f9d-11e9-9b2a-95983139cc57",
	"eventID": "2bfd4ee2-2178-4a82-a27d-b12939923f0f",
	"resources": [{
		"ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo",
		"accountId": "123456789012"
	}],
	"eventType": "AwsApiCall",
	"recipientAccountId": "123456789012"
}
```

#### Contoh: Tindakan tarikan citra
<a name="cloudtrail-examples-image-pull"></a>

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan tarikan gambar yang menggunakan `BatchGetImage` tindakan.

**catatan**  
Saat menarik gambar, jika Anda belum memiliki gambar secara lokal, Anda juga akan melihat `GetDownloadUrlForLayer` referensi di CloudTrail log.

```
{
    "eventVersion": "1.04",
    "userIdentity": {
    "type": "IAMUser",
    "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name",
    "arn": "arn:aws:sts::123456789012:user/Mary_Major",
    "accountId": "123456789012",
    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"userName": "Mary_Major",
		"sessionContext": {
			"attributes": {
				"mfaAuthenticated": "false",
				"creationDate": "2019-04-15T16:42:14Z"
			}
		}
	},
	"eventTime": "2019-04-15T17:23:20Z",
	"eventSource": "ecr.amazonaws.com",
	"eventName": "BatchGetImage",
	"awsRegion": "us-east-2",
	"sourceIPAddress": "ecr.amazonaws.com",
	"userAgent": "ecr.amazonaws.com",
	"requestParameters": {
		"imageIds": [{
			"imageTag": "latest"
		}],
		"acceptedMediaTypes": [
			"application/json",
			"application/vnd.oci.image.manifest.v1+json",
			"application/vnd.oci.image.index.v1+json",
			"application/vnd.docker.distribution.manifest.v2+json",
			"application/vnd.docker.distribution.manifest.list.v2+json",
			"application/vnd.docker.distribution.manifest.v1+prettyjws"
		],
		"repositoryName": "testrepo",
		"registryId": "123456789012"
	},
	"responseElements": null,
	"requestID": "2a1b97ee-5fa3-11e9-a8cd-cd2391aeda93",
	"eventID": "c84f5880-c2f9-4585-9757-28fa5c1065df",
	"resources": [{
		"ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo",
		"accountId": "123456789012"
	}],
	"eventType": "AwsApiCall",
	"recipientAccountId": "123456789012"
}
```

#### Contoh: Tindakan kebijakan siklus hidup citra
<a name="cloudtrail-examples-lcp"></a>

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan kapan gambar kedaluwarsa karena aturan kebijakan siklus hidup. Jenis kejadian ini dapat ditemukan dengan mem-filter `PolicyExecutionEvent` untuk bidang nama kejadian.

Saat Anda menguji pratinjau kebijakan siklus hidup, Amazon ECR menghasilkan entri CloudTrail log dengan bidang nama peristiwa`DryRunEvent`, dengan struktur yang sama persis dengan. `PolicyExecutionEvent` Dengan mengubah nama acara menjadi`DryRunEvent`, Anda dapat memfilter pada acara dry run sebagai gantinya.

**penting**  
Karena keterbatasan ukuran CloudTrail peristiwa individual, untuk tindakan kebijakan siklus hidup di mana 10 gambar atau lebih kedaluwarsa Amazon ECR mengirimkan beberapa peristiwa ke. CloudTrail Selain itu, Amazon ECR menyertakan maksimum 100 tag per gambar.

```
{
    "eventVersion": "1.05",
    "userIdentity": {
        "accountId": "123456789012",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2020-03-12T20:22:12Z",
    "eventSource": "ecr.amazonaws.com",
    "eventName": "PolicyExecutionEvent",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": null,
    "responseElements": null,
    "eventID": "9354dd7f-9aac-4e9d-956d-12561a4923aa",
    "readOnly": true,
    "resources": [
        {
            "ARN": "arn:aws:ecr:us-west-2:123456789012:repository/testrepo",
            "accountId": "123456789012",
            "type": "AWS::ECR::Repository"
        }
    ],
    "eventType": "AwsServiceEvent",
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "repositoryName": "testrepo",
        "lifecycleEventPolicy": {
            "lifecycleEventRules": [
                {
                    "rulePriority": 1,
                    "description": "remove all images > 2",
                    "lifecycleEventSelection": {
                        "tagStatus": "Any",
                        "tagPrefixList": [],
                        "countType": "Image count more than",
                        "countNumber": 2
                    },
                    "action": "expire"
                }
            ],
            "lastEvaluatedAt": 0,
            "policyVersion": 1,
            "policyId": "ceb86829-58e7-9498-920c-aa042e33037b"
        },
        "lifecycleEventImageActions": [
            {
                "lifecycleEventImage": {
                    "digest": "sha256:ddba4d27a7ffc3f86dd6c2f92041af252a1f23a8e742c90e6e1297bfa1bc0c45",
                    "tagStatus": "Tagged",
                    "tagList": [
                        "alpine"
                    ],
                    "pushedAt": 1584042813000
                },
                "rulePriority": 1
            },
            {
                "lifecycleEventImage": {
                    "digest": "sha256:6ab380c5a5acf71c1b6660d645d2cd79cc8ce91b38e0352cbf9561e050427baf",
                    "tagStatus": "Tagged",
                    "tagList": [
                        "centos"
                    ],
                    "pushedAt": 1584042842000
                },
                "rulePriority": 1
            }
        ],
        "lifecycleEventFailureDetails": [
            {
                "lifecycleEventImage": {
                    "digest": "sha256:9117e1bc28cd20751e584b4ccd19b1178d14cf02d134b04ce6be0cc51bff762a",
                    "tagStatus": "Untagged",
                    "tagList": [],
                    "pushedAt": 1584042844000
                },
                "rulePriority": 1,
                "failureCode": "ImageReferencedByManifestList",
                "failureReason": "Requested image referenced by manifest list: [sha256:4b27c83d44a18c31543039d9e8b2786043ec6c8d00804d5800c5148d6b6f65bc]"
            }
        ]
    }
}
```

#### Contoh: Tindakan arsip gambar
<a name="cloudtrail-examples-image-archive"></a>

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan gambar yang diarsipkan menggunakan `UpdateImageStorageClass` tindakan dengan `targetStorageClass` set ke. `ARCHIVE`

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name",
        "arn": "arn:aws:sts::123456789012:user/Mary_Major",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"userName": "Mary_Major",
		"sessionContext": {
			"attributes": {
				"mfaAuthenticated": "false",
				"creationDate": "2019-04-15T16:42:14Z"
			}
		}
	},
	"eventTime": "2019-04-15T16:45:00Z",
	"eventSource": "ecr.amazonaws.com",
	"eventName": "UpdateImageStorageClass",
	"awsRegion": "us-east-2",
	"sourceIPAddress": "AWS Internal",
	"userAgent": "AWS Internal",
	"requestParameters": {
		"repositoryName": "testrepo",
		"imageId": {
			"imageDigest": "sha256:98c8b060c21d9adbb6b8c41b916e95e6307102786973ab93a41e8b86d1fc6d3e"
		},
		"targetStorageClass": "ARCHIVE",
		"registryId": "123456789012"
	},
	"responseElements": {
		"image": {
			"registryId": "123456789012",
			"repositoryName": "testrepo",
			"imageId": {
				"imageDigest": "sha256:98c8b060c21d9adbb6b8c41b916e95e6307102786973ab93a41e8b86d1fc6d3e"
			},
			"imageStatus": "ARCHIVED"
		}
	},
	"requestID": "cf044b7d-EXAMPLE",
	"eventID": "2bfd4ee2-EXAMPLE",
	"readOnly": false,
	"resources": [{
		"ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo",
		"accountId": "123456789012"
	}],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "123456789012",
	"eventCategory": "Management"
}
```

#### Contoh: Tindakan pemulihan gambar
<a name="cloudtrail-examples-image-restore"></a>

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan gambar yang dipulihkan. Saat Anda memulihkan gambar yang diarsipkan, dua peristiwa dihasilkan:

1. Peristiwa panggilan API saat pemulihan dimulai

1. Peristiwa layanan saat operasi pemulihan asinkron selesai

**Acara panggilan API (memulihkan inisiasi)**

Contoh berikut menunjukkan panggilan API awal untuk memulihkan gambar menggunakan `UpdateImageStorageClass` tindakan dengan `targetStorageClass` disetel ke`STANDARD`. Respons menunjukkan status gambar sebagai`ACTIVATING`.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name",
        "arn": "arn:aws:sts::123456789012:user/Mary_Major",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
		"userName": "Mary_Major",
		"sessionContext": {
			"attributes": {
				"mfaAuthenticated": "false",
				"creationDate": "2019-04-15T16:42:14Z"
			}
		}
	},
	"eventTime": "2019-04-15T16:45:00Z",
	"eventSource": "ecr.amazonaws.com",
	"eventName": "UpdateImageStorageClass",
	"awsRegion": "us-east-2",
	"sourceIPAddress": "AWS Internal",
	"userAgent": "AWS Internal",
	"requestParameters": {
		"repositoryName": "testrepo",
		"imageId": {
			"imageDigest": "sha256:98c8b060c21d9adbb6b8c41b916e95e6307102786973ab93a41e8b86d1fc6d3e"
		},
		"targetStorageClass": "STANDARD",
		"registryId": "123456789012"
	},
	"responseElements": {
		"image": {
			"registryId": "123456789012",
			"repositoryName": "testrepo",
			"imageId": {
				"imageDigest": "sha256:98c8b060c21d9adbb6b8c41b916e95e6307102786973ab93a41e8b86d1fc6d3e"
			},
			"imageStatus": "ACTIVATING"
		}
	},
	"requestID": "cf044b7d-EXAMPLE",
	"eventID": "2bfd4ee2-EXAMPLE",
	"readOnly": false,
	"resources": [{
		"ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo",
		"accountId": "123456789012"
	}],
	"eventType": "AwsApiCall",
	"managementEvent": true,
	"recipientAccountId": "123456789012",
	"eventCategory": "Management"
}
```

**Acara layanan (pemulihan penyelesaian)**

Contoh berikut menunjukkan peristiwa layanan yang dihasilkan ketika operasi pemulihan asinkron selesai. Jenis kejadian ini dapat ditemukan dengan mem-filter `ImageActivationEvent` untuk bidang nama kejadian. `serviceEventDetails`Bagian ini berisi hasil pemulihan dan status gambar akhir.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "accountId": "123456789012",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2020-03-12T20:22:12Z",
    "eventSource": "ecr.amazonaws.com",
    "eventName": "ImageActivationEvent",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "AWS Internal",
    "requestParameters": null,
    "responseElements": null,
    "eventID": "9354dd7f-EXAMPLE",
    "readOnly": true,
    "resources": [
        {
            "ARN": "arn:aws:ecr:us-west-2:123456789012:repository/testrepo",
            "accountId": "123456789012",
            "type": "AWS::ECR::Repository"
        }
    ],
    "eventType": "AwsServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "repositoryName": "testrepo",
        "imageDigest": "sha256:98c8b060c21d9adbb6b8c41b916e95e6307102786973ab93a41e8b86d1fc6d3e",
        "targetStorageClass": "STANDARD",
        "result": "SUCCESS",
        "imageStatus": "ACTIVE"
    },
    "eventCategory": "Management"
}
```

#### Contoh: Tindakan perujuk gambar
<a name="cloudtrail-examples-image-referrers-action"></a>

Contoh berikut menunjukkan entri AWS CloudTrail log yang menunjukkan kapan klien yang OCI 1.1 sesuai mengambil daftar perujuk, atau artefak referensi, untuk gambar yang menggunakan API. `Referrers`

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE:account_name",
        "arn": "arn:aws:sts::123456789012:user/Mary_Major",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AIDACKCEVSQ6C2EXAMPLE",
                "arn": "arn:aws:iam::123456789012:role/Admin",
                "accountId": "123456789012",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2024-10-08T16:38:39Z",
                "mfaAuthenticated": "false"
            },
            "ec2RoleDelivery": "2.0"
        },
        "invokedBy": "ecr.amazonaws.com"
    },
    "eventTime": "2024-10-08T17:22:51Z",
    "eventSource": "ecr.amazonaws.com",
    "eventName": "ListImageReferrers",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "ecr.amazonaws.com",
    "userAgent": "ecr.amazonaws.com",
    "requestParameters": {
        "registryId": "123456789012",
        "repositoryName": "testrepo",
        "subjectId": {
            "imageDigest": "sha256:000b9b805af1cdb60628898c9f411996301a1c13afd3dbef1d8a16ac6dbf503a"
        },
        "nextToken": "urD72mdD/mC8b5-EXAMPLE"
    },
    "responseElements": null,
    "requestID": "cb8c167e-EXAMPLE",
    "eventID": "e3c6f4ce-EXAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123456789012",
            "ARN": "arn:aws:ecr:us-east-2:123456789012:repository/testrepo"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```