

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Monitoreo de Amazon ECR
<a name="monitoring"></a>

Puede supervisar el uso de la API de Amazon ECR con Amazon CloudWatch, que recopila y procesa datos sin procesar de Amazon ECR para convertirlos en métricas legibles y prácticamente en tiempo real. Estas estadísticas se registran durante un periodo de dos semanas para que pueda acceder a información histórica y obtener una perspectiva sobre el uso de la API. Los datos métricos de Amazon ECR se envían automáticamente CloudWatch en períodos de un minuto. Para obtener más información CloudWatch, consulta la [Guía del CloudWatch usuario de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

Amazon ECR proporciona métricas basadas en el uso de la API para acciones de autorización, inserción de imágenes y extracción de imágenes.

La supervisión es una parte importante del mantenimiento de la fiabilidad, la disponibilidad y el rendimiento de Amazon ECR y sus AWS soluciones. Le recomendamos que recopile datos de monitoreo de los recursos que componen su AWS solución para poder depurar más fácilmente un error multipunto en caso de que se produzca. No obstante, antes de comenzar a monitorear Amazon ECR, debe crear un plan que incluya respuestas a las siguientes preguntas:
+ ¿Cuáles son los objetivos de la supervisión?
+ ¿Qué recursos va a supervisar?
+ ¿Con qué frecuencia va a supervisar estos recursos?
+ ¿Qué herramientas de supervisión va a utilizar?
+ ¿Quién se encargará de realizar las tareas de supervisión?
+ ¿Quién debería recibir una notificación cuando surjan problemas?

El siguiente paso consiste en establecer un punto de referencia del rendimiento normal de Amazon ECR en su entorno. Para ello, se debe medir el rendimiento en distintos momentos y bajo distintas condiciones de carga. A medida que monitoree Amazon ECR, guarde los datos de monitoreo históricos para que pueda compararlos con los datos de rendimiento actual, identificar los patrones de rendimiento normal y las anomalías en el rendimiento, así como desarrollar métodos para la resolución de problemas.

**Topics**
+ [Visualización de Service Quotas y configuración de alarmas](monitoring-quotas-alarms.md)
+ [Métricas de uso de Amazon ECR](monitoring-usage.md)
+ [Informes de uso de Amazon ECR](usage-reports.md)
+ [Métricas de repositorios de Amazon ECR](ecr-repository-metrics.md)
+ [Eventos de Amazon ECR y EventBridge](ecr-eventbridge.md)
+ [Registrar las acciones de Amazon ECR con AWS CloudTrail](logging-using-cloudtrail.md)

# Visualización de Service Quotas y configuración de alarmas
<a name="monitoring-quotas-alarms"></a>

Puedes usar la CloudWatch consola para visualizar tus cuotas de servicio y comparar tu uso actual con las cuotas de servicio. También puede configurar alarmas para recibir notificaciones cuando se acerque a una cuota.

**Para visualizar una cuota de servicio y, opcionalmente, configurar una alarma**

1. Abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, seleccione **Métricas**.

1. En la pestaña **All metrics** (Todas las métricas), seleccione **Usage** (Uso) y luego **By AWS Resource** (Por recurso de ).

   Aparecerá la lista de métricas de uso de cuotas de servicio.

1. Active la casilla situada junto a una de las métricas.

   El gráfico muestra el uso actual de ese AWS recurso.

1. Para añadir su cuota de servicio al gráfico, haga lo siguiente:

   1. Elija la pestaña **Métricas diagramadas**.

   1. Elija **Math expression (Expresión matemática)** y **Start with an empty expression (Comenzar con una expresión vacía)**. A continuación, en la nueva fila, en **Details (Detalles)**, escriba **SERVICE\$1QUOTA(m1)**.

      Se añade una nueva línea al gráfico, mostrando la cuota de servicio del recurso representado en la métrica.

1. Para ver su uso actual como porcentaje de la cuota, añada una nueva expresión o cambie la expresión **SERVICE\$1QUOTA** actual. En el caso de la nueva expresión, use **m1/60/SERVICE\$1QUOTA(m1)\$1100**

1. (Opcional) Para configurar una alarma que le notifique si se acerca a la cuota de servicio, haga lo siguiente:

   1. En la fila **m1/60/SERVICE\$1QUOTA(m1)\$1100**, en **Actions (Acciones)**, elija el icono de alarma. Se parece a una campana.

      Aparecerá la página de creación de alarmas.

   1. En **Conditions (Condiciones)**, asegúrese de que **Threshold type (Tipo de umbral)** es **Static (Estático)** y **Whenever Expression1 is (Siempre que Expression1 sea)** se establece en **Greater (Mayor)**. En **than (que)**, escriba **80**. Esto crea una alarma que pasa al estado ALARM cuando su uso supera el 80 % de la cuota.

   1. Elija **Siguiente**.

   1. En la página siguiente, seleccione un tema de Amazon SNS o cree uno. Este tema se notifica cuando la alarma pasa al estado ALARM. A continuación, elija **Siguiente**.

   1. En la página siguiente, escriba un nombre y una descripción para la alarma y, a continuación, elija **Next (Siguiente)**.

   1. Elija **Crear alarma**.

# Métricas de uso de Amazon ECR
<a name="monitoring-usage"></a>

Puedes usar las métricas CloudWatch de uso para proporcionar visibilidad sobre el uso de los recursos de tu cuenta. Usa estas métricas para visualizar tu uso actual del servicio en CloudWatch gráficos y paneles.

Las métricas de uso de Amazon ECR corresponden a las cuotas AWS de servicio. Puede configurar alarmas que le avisen cuando su uso se acerque a una Service Quota. Para obtener más información acerca de las cuotas de servicio de Amazon ECR, consulte [Cuotas de servicio de Amazon ECR](service-quotas.md).

Amazon ECR publica las siguientes métricas en el espacio de nombres `AWS/Usage`.


|  Métrica  |  Description (Descripción)  | 
| --- | --- | 
|  `CallCount`  |  Número de llamadas de acciones de la API realizadas desde la cuenta. Los recursos se definen por las dimensiones asociadas a la métrica. La estadística más útil de esta métrica es `SUM`, que representa la suma de los valores de todas las contribuciones durante el período definido.  | 
|  `ResourceCount`  |  La cantidad de recursos específicos que tiene en su cuenta. Los recursos se definen por las dimensiones asociadas a la métrica. La estadística más útil para esta métrica es `MAXIMUM` la que representa la cantidad máxima de recursos utilizados durante un período de 5 minutos.  | 

Las siguientes dimensiones se utilizan para refinar las métricas de uso de la API que publica Amazon ECR.


|  Dimensión  |  Description (Descripción)  | 
| --- | --- | 
|  `Service`  |  El nombre del AWS servicio que contiene el recurso. En el caso de las métricas de uso de Amazon ECR, el valor de esta dimensión es `ECR`.  | 
|  `Type`  |  El tipo de entidad que se registra. Actualmente, el único valor válido para las métricas de uso de la API Amazon ECR es`API`.  | 
|  `Resource`  |  El tipo de recurso que se está ejecutando. Actualmente, Amazon ECR devuelve información sobre el uso de la API en relación con las siguientes acciones. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECR/latest/userguide/monitoring-usage.html)  | 
|  Class  |  La clase de recurso a la que se realiza el seguimiento. En la actualidad, Amazon ECR no utiliza la dimensión de clase.  | 

Las siguientes dimensiones se utilizan para refinar las métricas de uso de recursos que publica Amazon ECR.


|  Dimensión  |  Description (Descripción)  | 
| --- | --- | 
|  `Service`  |  El nombre del AWS servicio que contiene el recurso. En el caso de las métricas de uso de Amazon ECR, el valor de esta dimensión es `ECR`.  | 
|  `Type`  |  El tipo de entidad que se registra. Actualmente, el único valor válido para las métricas de uso de recursos de Amazon ECR es`RESOURCE`.  | 
|  `Resource`  |  El tipo de recurso que se está ejecutando. Actualmente, Amazon ECR devuelve información sobre el uso de los recursos para las siguientes métricas. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonECR/latest/userguide/monitoring-usage.html)  | 
|  `ResourceId`  |  El identificador del recurso que provocó el uso. Actualmente, solo ResourceId es relevante `ImagesPerRepositoryCount` y su valor está formateado como «repository/your\$1repository\$1name. For example: "repository/my-repo» y devuelve el número de imágenes en el repositorio con el nombre «my-repo».  | 

# Informes de uso de Amazon ECR
<a name="usage-reports"></a>

AWS proporciona una herramienta de informes gratuita llamada Cost Explorer que le permite analizar el costo y el uso de los recursos de Amazon ECR.

Utilice Cost Explorer para ver gráficos sobre el uso y los costos. Puede ver los datos de los 13 meses anteriores y predecir la cantidad que probablemente va a gastar durante los tres meses siguientes. Puede utilizar el Cost Explorer para ver sus patrones de gasto en recursos de AWS a lo largo del tiempo, identificar aspectos que deben estudiarse más a fondo y consultar tendencias que le pueden ayudar a comprender los costos. También puede especificar intervalos de tiempo en los datos y ver los datos temporales por día o por mes.

Los datos de medición de los informes de uso y costes muestran el uso en todos los repositorios de Amazon ECR. Para obtener más información, consulte [Etiquetado de los recursos para facturación](ecr-using-tags.md#tag-resources-for-billing).

Para obtener más información sobre la creación de un informe de AWS costos y uso, consulte el [informe de AWS costos y uso](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-reports-costusage.html) en la *Guía del AWS Billing usuario*.

# Métricas de repositorios de Amazon ECR
<a name="ecr-repository-metrics"></a>

Amazon ECR envía las métricas del recuento de extracciones del repositorio a Amazon CloudWatch. Los datos métricos de Amazon ECR se envían automáticamente CloudWatch en períodos de 1 minuto. Para obtener más información CloudWatch, consulta la [Guía del CloudWatch usuario de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

**Topics**
+ [Habilitar CloudWatch las métricas](#enable_cloudwatch)
+ [Métricas y dimensiones disponibles](#available_cloudwatch_metrics)
+ [Visualización de las métricas de Amazon ECR mediante la consola CloudWatch](#viewing_metrics_console)

## Habilitar CloudWatch las métricas
<a name="enable_cloudwatch"></a>

Amazon ECR envía métricas de repositorio automáticamente para todos los repositorios. No es necesario tomar medidas de forma manual.

## Métricas y dimensiones disponibles
<a name="available_cloudwatch_metrics"></a>

En las siguientes secciones se enumeran las métricas y dimensiones que Amazon ECR envía a Amazon CloudWatch.

### Métricas de Amazon ECR
<a name="ecr-metrics"></a>

Amazon ECR proporciona métricas para que usted pueda monitorear sus repositorios. Puede medir el recuento de extracciones.

El espacio de nombres de `AWS/ECR` incluye las siguientes métricas.

`RepositoryPullCount`  
El número total de extracciones de las imágenes en el repositorio.  
Dimensiones válidas: `RepositoryName`.  
Estadísticas válidas: Average, Minimum, Maximum, Sum, Sample Count. La estadística más útil es Suma.  
Unidad: entero.

### Dimensiones para las métricas de Amazon ECR
<a name="ecs-metrics-dimensions"></a>

Las métricas de Amazon ECR utilizan el espacio de nombres `AWS/ECR` y proporcionan métricas para las dimensiones siguientes.

`RepositoryName`  
Esta dimensión filtra los datos solicitados de todas las imágenes del contenedor en un repositorio específico.

## Visualización de las métricas de Amazon ECR mediante la consola CloudWatch
<a name="viewing_metrics_console"></a>

Puede ver las métricas del repositorio de Amazon ECR en la CloudWatch consola. La CloudWatch consola proporciona una visualización detallada y personalizable de sus recursos. Para obtener más información, consulta la [Guía del CloudWatch usuario de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

# Eventos de Amazon ECR y EventBridge
<a name="ecr-eventbridge"></a>

Amazon EventBridge le permite automatizar sus AWS servicios y responder automáticamente a los eventos del sistema, como los problemas de disponibilidad de las aplicaciones o los cambios de recursos. Los eventos de AWS los servicios se entregan EventBridge prácticamente en tiempo real. Puede crear reglas sencillas para indicar qué eventos le resultan de interés e incluir las acciones automatizadas que deben realizarse cuando un evento cumpla una de las reglas. Entre las acciones que se pueden activar automáticamente se incluyen las siguientes:
+ Añadir eventos a grupos de CloudWatch registros en Logs
+ Invocar una función AWS Lambda 
+ Invocar Ejecutar comando de Amazon EC2
+ Desviar el evento a Amazon Kinesis Data Streams
+ Activar una máquina de AWS Step Functions estados
+ Notificar un tema de Amazon SNS o una cola de Amazon SQS

Para obtener más información, consulta [Cómo empezar con Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) en la *Guía del EventBridge usuario de Amazon*.

## Eventos de ejemplo de Amazon ECR
<a name="ecr-eventbridge-bus"></a>

Los siguientes ejemplos corresponden a eventos de Amazon ECR. Los eventos se emiten en la medida de lo posible.

**Evento para una inserción de imagen completada**

El siguiente evento se envía cuando se completa cada inserción de imagen. Para obtener más información, consulte [Inserción de una imagen de Docker en un repositorio privado de 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"
    }
}
```

**Evento para una acción de caché de extracción**

El siguiente evento se envía cuando se intenta realizar una acción de caché de extracción. Para obtener más información, consulte [Sincronización de un registro principal con un registro privado de 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",
    }
}
```

**Evento para un escaneo de imágenes completado (escaneo básico)**

Cuando el escaneo básico está habilitado para su registro, se envía el siguiente evento cuando se completa cada escaneo de imágenes. El parámetro `finding-severity-counts` solo devolverá un valor para un nivel de gravedad, si existe. Por ejemplo, si la imagen no contiene resultados de nivel `CRITICAL`, no se devolverá ningún recuento crítico. Para obtener más información, consulte [Escaneo de imágenes para detectar vulnerabilidades de sistema operativo en Amazon ECR](image-scanning-basic.md).

**nota**  
Para obtener más información sobre los eventos que Amazon Inspector emite cuando se habilita el escaneo mejorado, consulte [EventBridge eventos enviados para un escaneo mejorado en 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": []
    }
}
```

**Evento de notificación de cambio en un recurso con escaneo mejorado habilitado (escaneo mejorado)**

Cuando el escaneo mejorado está habilitado para su registro, Amazon ECR envía el siguiente evento cuando se produce un cambio con un recurso que tiene habilitado el escaneo mejorado. Esto incluye la creación de nuevos repositorios, la frecuencia de escaneo de un repositorio que se está modificando o cuando se crean o eliminan imágenes en repositorios con el escaneo mejorado habilitado. Para obtener más información, consulte [Escaneo de imágenes para detectar vulnerabilidades en 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"
	}
}
```

**Evento para una eliminación de imagen**

El siguiente evento se envía cuando se elimina una imagen. Para obtener más información, consulte [Eliminación de una imagen en 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"
    }
}
```

**Evento para una acción de archivado de imágenes**

El siguiente evento se envía cuando se archiva una imagen. El `target-storage-class` campo se establecerá en. `ARCHIVE` El evento incluye los tipos de medios de manifiesto y artefacto para identificar el tipo de contenido que se va a archivar.

```
{
    "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"
    }
}
```

**Evento para una acción de restauración de imágenes**

El siguiente evento se envía cuando se restaura una imagen archivada. El `target-storage-class` campo se establecerá en. `STANDARD` El evento incluye un `last-activated-at` campo que muestra cuándo se restauró la imagen por última vez.

```
{
    "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"
    }
}
```

**Evento para una acción de restauración de una referencia**

El siguiente evento se envía cuando se restaura una referencia archivada (un artefacto de referencia, como una SBOM, una firma o una certificación). Tenga en cuenta que `detail-type` es para distinguirlo de las acciones de imagen `ECR Referrer Action` normales. Los `artifact-media-type` campos `manifest-media-type` y identifican el tipo específico de referencia que se está restaurando. En este ejemplo, se está restaurando un artefacto de la SBOM.

```
{
    "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"
    }
}
```

**Evento para una replicación de una imagen completada**

El siguiente evento se envía cuando se completa una replicación de imagen. Para obtener más información, consulte [Replicación de imágenes privadas en 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"
  }
}
```

**Evento para una replicación de una imagen fallida**

El siguiente evento se envía cuando falla una replicación de imagen. El campo `result` contendrá `FAILED` e información de error adicional, y es posible que se incluya en los detalles del evento.

```
{
  "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"
  }
}
```

# Registrar las acciones de Amazon ECR con AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

Amazon ECR está integrado con AWS CloudTrail un servicio que proporciona un registro de las acciones realizadas por un usuario, un rol o un AWS servicio en Amazon ECR. CloudTrail captura las siguientes acciones de Amazon ECR como eventos:
+ Todas las llamadas a la API, incluidas las llamadas desde la consola de Amazon ECR
+ Todas las acciones realizadas debido a la configuración de cifrado en sus repositorios
+ Todas las acciones realizadas debido a las reglas de la directiva del ciclo de vida, incluidas las acciones correctas y las que no tienen éxito
**importante**  
Debido a las limitaciones de tamaño de los CloudTrail eventos individuales, para las acciones de política de ciclo de vida en las que 10 o más imágenes han caducado, Amazon ECR envía varios eventos a CloudTrail. Además, Amazon ECR incluye un máximo de 100 etiquetas por imagen.

Cuando se crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos de Amazon ECR. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el **historial** de eventos. Con esta información, se puede determinar la solicitud que se envió a Amazon ECR, la dirección IP de origen, quién realizó la solicitud, cuándo la realizó, así como detalles adicionales. 

Para obtener más información, consulte la [Guía del usuario de AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Información de Amazon ECR en CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail está habilitada en su AWS cuenta al crear la cuenta. Cuando se produce una actividad en Amazon ECR, esa actividad se registra en un CloudTrail evento junto con otros eventos de AWS servicio en el **historial** de eventos. Puede ver, buscar y descargar los eventos recientes en su AWS cuenta. Para obtener más información, consulte [Visualización de eventos con el historial de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Para obtener un registro continuo de los eventos de su AWS cuenta, incluidos los eventos de Amazon ECR, cree un registro. Un rastro permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. Al crear un registro de seguimiento en la consola, puede aplicarlo a una sola región o a todas las regiones. La ruta registra los eventos en la AWS partición y envía los archivos de registro al bucket de Amazon S3 que especifique. Además, puede configurar otros AWS servicios para analizar los datos de eventos recopilados en los CloudTrail registros y actuar en función de ellos. Para obtener más información, consulte lo siguiente: 
+ [Crear una ruta para tu AWS cuenta](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [AWS integraciones de servicios con registros CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuración de las notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Recibir archivos de CloudTrail registro de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [recibir archivos de CloudTrail registro de varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Todas las acciones de la API ECR de Amazon se registran CloudTrail y se documentan en la [referencia de la API de Amazon Elastic Container Registry](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/). Al realizar tareas comunes, se generan secciones en los archivos de CloudTrail registro para cada acción de la API que forma parte de esa tarea. Por ejemplo, cuando se crea un repositorio `CreateRepository` y `GetAuthorizationToken` se generan `SetRepositoryPolicy` secciones en los archivos de CloudTrail registro. Al insertar una imagen en un repositorio,, `InitiateLayerUpload``UploadLayerPart`, y `CompleteLayerUpload``PutImage`, si el montaje de bloques está activado, se generan `MountLayer` secciones. Cuando extrae una imagen, se generan las secciones `GetDownloadUrlForLayer` y `BatchGetImage`. Al archivar o restaurar, se genera una `UpdateImageStorageClass` sección de imágenes. Cuando OCI los clientes que admiten la OCI 1.1 especificación obtienen la lista de referencias (o artefactos de referencia) de una imagen mediante la API de referencias, se emite un evento. `ListImageReferrers` CloudTrail Si desea ver ejemplos de estas tareas comunes, consulte [CloudTrail ejemplos de entradas de registro](#cloudtrail-examples).

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente:
+ si la solicitud se realizó con las credenciales del nodo raíz o del usuario
+ si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado
+ Si la solicitud la realizó otro servicio AWS 

Para obtener más información, consulte el [elemento `userIdentity` de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Descripción de las entradas de archivos de registros de Amazon ECR
<a name="understanding-service-name-entries"></a>

Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que usted especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. Un evento representa una solicitud única de cualquier fuente e incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud y otra información. CloudTrail Los archivos de registro no son un registro ordenado de las llamadas a la API pública, por lo que no aparecen en ningún orden específico. 

### CloudTrail ejemplos de entradas de registro
<a name="cloudtrail-examples"></a>

Los siguientes son ejemplos de entradas de CloudTrail registro para algunas tareas comunes de Amazon ECR.

Estos ejemplos se han manipulado para mejorar la legibilidad. En un archivo de CloudTrail registro, todas las entradas y eventos se concatenan en una sola línea. Además, este ejemplo se ha limitado a una única entrada de Amazon ECR. En un archivo de CloudTrail registro real, puede ver las entradas y los eventos de varios servicios. AWS 

**importante**  
La **fuente IPAddress** es la dirección IP desde la que se realizó la solicitud. Para las acciones que se originan desde la consola del servicio, la dirección registrada es para su recurso subyacente, no para el servidor web de la consola. En el caso de los servicios en AWS, solo se muestra el nombre DNS. Aun así, evaluamos la autenticación con la IP de origen del cliente, incluso si está redactada con el nombre de DNS del servicio de AWS .

**Topics**
+ [Ejemplo: Acción de creación de repositorio](#cloudtrail-examples-create-repository)
+ [Ejemplo: acción de la API de AWS KMS `CreateGrant` al crear un repositorio de Amazon ECR](#cloudtrail-examples-create-repository-kms)
+ [Ejemplo: Acción de inserción de imágenes](#cloudtrail-examples-push-image)
+ [Ejemplo: Acción de extracción de imágenes](#cloudtrail-examples-image-pull)
+ [Ejemplo: Acción de política de ciclo de vida de imágenes](#cloudtrail-examples-lcp)
+ [Ejemplo: acción de archivado de imágenes](#cloudtrail-examples-image-archive)
+ [Ejemplo: acción de restauración de imágenes](#cloudtrail-examples-image-restore)
+ [Ejemplo: acción de referencia de imágenes](#cloudtrail-examples-image-referrers-action)

#### Ejemplo: Acción de creación de repositorio
<a name="cloudtrail-examples-create-repository"></a>

El siguiente ejemplo muestra una entrada de CloudTrail registro que demuestra la `CreateRepository` acción.

```
{
    "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"
}
```

#### Ejemplo: acción de la API de AWS KMS `CreateGrant` al crear un repositorio de Amazon ECR
<a name="cloudtrail-examples-create-repository-kms"></a>

El siguiente ejemplo muestra una entrada de CloudTrail registro que demuestra la AWS KMS `CreateGrant` acción que se debe realizar al crear un repositorio de Amazon ECR con el cifrado KMS activado. Por cada repositorio que se cree con el cifrado KMS activado, debería ver dos entradas de `CreateGrant` registro. 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"
}
```

#### Ejemplo: Acción de inserción de imágenes
<a name="cloudtrail-examples-push-image"></a>

En el siguiente ejemplo, se muestra una entrada de CloudTrail registro que muestra una inserción de imágenes en la que se utiliza la `PutImage` acción.

**nota**  
Al insertar una imagen, también verás `InitiateLayerUpload``UploadLayerPart`, y `CompleteLayerUpload` referencias en los CloudTrail registros.

```
{
    "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"
}
```

#### Ejemplo: Acción de extracción de imágenes
<a name="cloudtrail-examples-image-pull"></a>

En el siguiente ejemplo, se muestra una entrada de CloudTrail registro en la que se muestra una extracción de imágenes que utiliza la `BatchGetImage` acción.

**nota**  
Cuando extraiga una imagen, si aún no la tiene localmente, verá también referencias `GetDownloadUrlForLayer` en los registros de CloudTrail .

```
{
    "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"
}
```

#### Ejemplo: Acción de política de ciclo de vida de imágenes
<a name="cloudtrail-examples-lcp"></a>

El siguiente ejemplo muestra una entrada de CloudTrail registro que muestra cuándo ha caducado una imagen debido a una regla de política de ciclo de vida. Este tipo de evento se puede encontrar filtrando por `PolicyExecutionEvent` en el campo de nombre del evento.

Al probar una vista previa de una política de ciclo de vida, Amazon ECR genera una entrada de CloudTrail registro con el campo del nombre del evento de`DryRunEvent`, con exactamente la misma estructura que la`PolicyExecutionEvent`. Si cambia el nombre del evento a `DryRunEvent`, puede filtrar los eventos de prueba en su lugar.

**importante**  
Debido a las limitaciones de tamaño de los CloudTrail eventos individuales, para las acciones de política de ciclo de vida en las que 10 o más imágenes han caducado, Amazon ECR envía varios eventos a CloudTrail. Además, Amazon ECR incluye un máximo de 100 etiquetas por imagen.

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

#### Ejemplo: acción de archivado de imágenes
<a name="cloudtrail-examples-image-archive"></a>

El siguiente ejemplo muestra una entrada de CloudTrail registro que muestra que una imagen se está archivando mediante la `UpdateImageStorageClass` acción `targetStorageClass` establecida en. `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"
}
```

#### Ejemplo: acción de restauración de imágenes
<a name="cloudtrail-examples-image-restore"></a>

Los ejemplos siguientes muestran entradas de CloudTrail registro que muestran que se está restaurando una imagen. Al restaurar una imagen archivada, se generan dos eventos:

1. Un evento de llamada a la API cuando se inicia la restauración

1. Un evento de servicio cuando se completa la operación de restauración asíncrona

**Evento de llamada a la API (inicio de la restauración)**

En el siguiente ejemplo, se muestra la llamada inicial a la API para restaurar una imagen mediante la `UpdateImageStorageClass` acción con el `targetStorageClass` valor establecido en`STANDARD`. La respuesta muestra el estado de la imagen como`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"
}
```

**Evento de servicio (finalización de la restauración)**

El siguiente ejemplo muestra el evento de servicio que se genera cuando se completa la operación de restauración asíncrona. Este tipo de evento se puede encontrar filtrando por `ImageActivationEvent` en el campo de nombre del evento. La `serviceEventDetails` sección contiene el resultado de la restauración y el estado final de la imagen.

```
{
    "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"
}
```

#### Ejemplo: acción de referencia de imágenes
<a name="cloudtrail-examples-image-referrers-action"></a>

El siguiente ejemplo muestra una entrada de AWS CloudTrail registro que muestra cuándo un cliente OCI 1.1 compatible obtiene una lista de referencias (o artefactos de referencia) de una imagen mediante la 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"
}
```