

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.

# Repositorios privados de Amazon ECR
<a name="Repositories"></a>

Un repositorio privado de Amazon ECR contiene las imágenes de Docker, las imágenes de Iniciativa de contenedores abiertos (OCI) y artefactos compatibles con OCI. Puede crear, monitorear y eliminar repositorios de imágenes, así como definir permisos que controlen quién puede acceder a ellos mediante las operaciones de API de Amazon ECR o la sección de **Repositorios** de la consola de Amazon ECR. Amazon ECR se integra también con la CLI de Docker, de modo que pueda insertar y extraer imágenes de los entornos de desarrollo a los repositorios.

**Topics**
+ [Conceptos sobre los repositorios privados](#repository-concepts)
+ [Creación de un repositorio privado de Amazon ECR para almacenar imágenes](repository-create.md)
+ [Visualización del contenido y los detalles de un repositorio privado en Amazon ECR](repository-info.md)
+ [Eliminación de un repositorio privado en Amazon ECR](repository-delete.md)
+ [Políticas de repositorios privados en Amazon ECR](repository-policies.md)
+ [Etiquetado de un repositorio privado en Amazon ECR](ecr-using-tags.md)

## Conceptos sobre los repositorios privados
<a name="repository-concepts"></a>
+ De forma predeterminada, su cuenta tiene acceso de lectura y escritura en los repositorios e imágenes que cree en el registro predeterminado (`aws_account_id.dkr.ecr.region.amazonaws.com`). Sin embargo, los usuarios necesitan permisos para realizar llamadas al Amazon ECR APIs y para enviar o extraer imágenes de sus repositorios y de ellos. Amazon ECR proporciona varias políticas administradas por para controlar el acceso de los usuarios en distintos niveles. Para obtener más información, consulte [Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).
+ Los repositorios se pueden controlar mediante políticas tanto de acceso de usuarios de como de repositorio individuales. Para obtener más información, consulte [Políticas de repositorios privados en Amazon ECR](repository-policies.md).
+ Los nombres de repositorio pueden admitir espacios de nombres, que puede usar para agrupar repositorios similares. Por ejemplo, si varios equipos usan el mismo registro, el equipo A puede usar el espacio de nombres `team-a` y el equipo B puede usar el espacio de nombres `team-b`. Al hacer esto, cada equipo tiene su propia imagen, llamada `web-app`, con cada imagen precedida por el espacio de nombres del equipo. Esta configuración permite que estas imágenes en cada equipo se utilicen simultáneamente sin interferencias. La imagen del equipo A es `team-a/web-app` y la del equipo B es `team-b/web-app`.
+ Las imágenes se pueden replicar en otros repositorios entre regiones, en su propio registro, y entre cuentas. Para ello, especifique una configuración de replicación en las opciones del registro. Para obtener más información, consulte [Configuración del registro privado en Amazon ECR](registry-settings.md).
+ Cuando el montaje de blobs está activado a nivel de registro, los repositorios pueden compartir capas de imágenes comunes.

# Creación de un repositorio privado de Amazon ECR para almacenar imágenes
<a name="repository-create"></a>

**importante**  
El cifrado de doble capa del lado del servidor con AWS KMS (DSSE-KMS) solo está disponible en las regiones. AWS GovCloud (US) 

Cree un repositorio privado de Amazon ECR y, a continuación, utilícelo para almacenar sus imágenes de contenedor. Utilice los siguientes pasos para crear un repositorio privado mediante la Consola de administración de AWS.

**Creación de un repositorio (Consola de administración de AWS)**

1. Abra la consola Amazon ECR en los [https://console.aws.amazon.com/ecr/repositorios](https://console.aws.amazon.com/ecr/repositories).

1. En la barra de navegación, elija la región en la que va a crear el repositorio.

1. Seleccione **Private repositories** (Repositorios privados) y luego**Create repository** (Crear repositorio).

1. En **Repository name** (Nombre del repositorio), ingrese un nombre exclusivo para el repositorio. El nombre del repositorio se puede especificar por sí mismo (por ejemplo, `nginx-web-app`). También puede ir precedido de un espacio de nombres para agrupar el repositorio en una categoría (por ejemplo, `project-a/nginx-web-app`).
**nota**  
El nombre del repositorio puede contener un máximo de `256` caracteres. Los nombres deben comenzar por una letra y solo pueden contener letras minúsculas, números, guiones, guiones bajos, puntos y barras inclinadas. No se admite el uso de una barra inclinada doble.

1. En **Image tag immutability** (Inmutabilidad de etiquetas de imagen), seleccione una de las siguientes configuraciones de mutabilidad de etiquetas del repositorio.
   + **Mutable**: elija esta opción si desea que se sobrescriban las etiquetas de las imágenes. Se recomienda para los repositorios que utilizan acciones de caché de extracción para asegurar que Amazon ECR actualice las imágenes en caché. Asimismo, para deshabilitar las actualizaciones de etiquetas para algunas etiquetas mutables, ingrese los nombres de las etiquetas o utilice comodines (\$1) para hacer coincidir varias etiquetas similares en el cuadro de texto **Exclusión de etiquetas mutables**.
   + **Inmutable**: seleccione esta opción si desea evitar que las etiquetas de imagen se sobrescriban y se aplica a todas las etiquetas y exclusiones del repositorio cuando se inserta una imagen con una etiqueta existente. Amazon ECR devuelve un `ImageTagAlreadyExistsException` si intenta insertar una imagen con una etiqueta existente. Asimismo, para habilitar las actualizaciones de etiquetas para algunas etiquetas inmutables, ingrese los nombres de las etiquetas o utilice caracteres comodín (\$1) para hacer coincidir varias etiquetas similares en el cuadro de texto **Exclusión de etiquetas inmutables**. 
**nota**  
No se admiten los ajustes de mutabilidad de etiquetas individuales.

1. Para la **configuración de cifrado**, elija entre **AES-256** o. ** AWS KMS** Para obtener más información, consulte [Cifrado en reposo](encryption-at-rest.md).

   1.  Si AWS KMS se elige, elija entre el cifrado de una capa y el cifrado de doble capa. El uso AWS KMS del cifrado de doble capa conlleva cargos adicionales. Para obtener más información, consulte los [Precios del servicio de Amazon ECR](https://aws.amazon.com/ecr/pricing/).

   1. De forma predeterminada, se elige la clave AWS gestionada con `aws/ecr` el alias. Esta clave se crea en tu cuenta la primera vez que creas un repositorio con el AWS KMS cifrado activado. Seleccione **Clave gestionada por el cliente (avanzada)** para elegir su propia clave AWS KMS . La AWS KMS clave debe estar en la misma región que el clúster. Seleccione **Crear una AWS KMS clave** para ir a la AWS KMS consola y crear su propia clave.

1. En **Image scanning settings** (Configuración de análisis de imágenes), si bien puede especificar la configuración de análisis en el nivel del repositorio para el análisis básico, la práctica recomendada es especificar la configuración de análisis en el nivel del registro privado. Configurar el escaneo en el registro privado le permite elegir entre escaneo mejorado o escaneo básico, así como definir filtros para especificar qué repositorios se deben escanear.

1. Seleccione **Crear**.

**Creación de un repositorio (AWS CLI)**

1. Puede crear un repositorio mediante el AWS CLI **aws ecr create-repository** comando with.

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

1. Si ha definido una plantilla de creación de repositorios, puede crear un repositorio insertando la imagen mediante los conocidos comandos push de Amazon ECR con el nombre del repositorio que desee. Amazon ECR creará automáticamente el repositorio por usted utilizando los ajustes predefinidos de la plantilla de creación de repositorios. Si aún no ha definido una plantilla de creación de repositorios, no se podrá realizar la solicitud a su repositorio de imágenes inexistente.

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

## Siguientes pasos
<a name="procedure_next_steps"></a>

Seleccione el repositorio y elija **Ver comandos de inserción** para ver los pasos para insertar una imagen en su nuevo repositorio. Para obtener más información sobre cómo insertar una imagen en el repositorio, consulte [Inserción de una imagen en un repositorio privado de Amazon ECR](image-push.md).

# Visualización del contenido y los detalles de un repositorio privado en Amazon ECR
<a name="repository-info"></a>

Una vez que haya creado un repositorio privado, puede ver sus detalles en la Consola de administración de AWS:
+ Qué imágenes están almacenadas en un repositorio
+ Detalles de cada imagen almacenada en el repositorio, como el tamaño y el resumen de SHA de cada una
+ Frecuencia de análisis especificada para el contenido del repositorio
+ Si el repositorio tiene asociada una regla de caché de extracción activa
+ Configuración de cifrado del repositorio

**nota**  
A partir de la versión de Docker 1.9, el cliente Docker comprime las capas de las imágenes antes de insertarlas en un registro V2 Docker. La salida del comando **docker images** muestra el tamaño de la imagen sin comprimir. Por lo tanto, tenga en cuenta que Docker podría devolver una imagen más grande que la mostrada en la Consola de administración de AWS.

**Visualización de la información del repositorio (Consola de administración de AWS)**

1. Abra la consola Amazon ECR en los [https://console.aws.amazon.com/ecr/repositorios](https://console.aws.amazon.com/ecr/repositories).

1. En la barra de navegación, seleccione la región que contiene el repositorio que desea ver.

1. En el panel de navegación, elija **Repositories** (Repositorios).

1. En la página **Repositories** (Repositorios), elija la pestaña **Private** (Privados) y, a continuación, el repositorio que desea ver.

1. En la página de detalles del repositorio, la consola muestra de forma predeterminada la vista **Images** (Imágenes). Utilice el menú de navegación para ver otro tipo de información sobre el repositorio.
   + Elija **Summary** (Resumen) para ver los detalles del repositorio y los datos del recuento de extracción del repositorio.
   + Elija **Images** (Imágenes) para ver información sobre las etiquetas de las imágenes del repositorio. Para ver más información sobre la imagen, seleccione la etiqueta de la imagen. Para obtener más información, consulte [Visualización de los detalles de una imagen en Amazon ECR](image-info.md).

     Si hay imágenes sin etiquetar que desea eliminar, puede seleccionar la casilla situada la izquierda de los repositorios que desea eliminar y elegir **Delete** (Eliminar). Para obtener más información, consulte [Eliminación de una imagen en Amazon ECR](delete_image.md).
   + Elija **Permissions (Permisos)** para ver las políticas de repositorio que se aplican al repositorio. Para obtener más información, consulte [Políticas de repositorios privados en Amazon ECR](repository-policies.md).
   + Elija **Lifecycle Policy (Política de ciclo de vida)** para ver las reglas de política de ciclo de vida que se aplican al repositorio. El historial de eventos del ciclo de vida también se visualiza aquí. Para obtener más información, consulte [Automatice la limpieza de imágenes mediante el uso de políticas de ciclo de vida en Amazon ECR](LifecyclePolicies.md).
   + Elija **Tags (Etiquetas)** para ver las etiquetas de metadatos que se aplican al repositorio.

# Eliminación de un repositorio privado en Amazon ECR
<a name="repository-delete"></a>

Si ya ha terminado de usar un repositorio, puede eliminarlo. Al eliminar un repositorio del Consola de administración de AWS, también se eliminan todas las imágenes contenidas en el repositorio; esto no se puede deshacer.

**importante**  
Se eliminan también las imágenes de los repositorios eliminados. No podrá deshacer esta operación.

**Para eliminar un repositorio (Consola de administración de AWS)**

1. Abra la consola Amazon ECR en los [https://console.aws.amazon.com/ecr/repositorios](https://console.aws.amazon.com/ecr/repositories).

1. En la barra de navegación, seleccione la región que contiene el repositorio que desea eliminar.

1. En el panel de navegación, elija **Repositories** (Repositorios).

1. En la página **Repositories** (Repositorios), elija la pestaña **Private** (Privados) y, a continuación, seleccione el repositorio que desea eliminar y elija **Delete** (Eliminar).

1. **En la *repository\$1name* ventana **Eliminar**, compruebe que se deben eliminar los repositorios seleccionados y elija Eliminar.**

# Políticas de repositorios privados en Amazon ECR
<a name="repository-policies"></a>

Amazon ECR utiliza permisos basados en recursos para controlar el acceso a los repositorios. Los permisos basados en recursos le permiten especificar qué usuarios o roles tienen acceso a un repositorio y qué acciones pueden realizar en él. De forma predeterminada, solo la AWS cuenta que creó el repositorio tiene acceso al repositorio. Puede aplicar una política de repositorio que otorgue acceso adicional a su repositorio.

**Topics**
+ [Políticas de repositorios frente a políticas de IAM](#repository-policy-vs-iam-policy)
+ [Ejemplos de políticas de repositorio privado en Amazon ECR](repository-policy-examples.md)
+ [Configuración de una instrucción de política de repositorio privado en Amazon ECR](set-repository-policy.md)

## Políticas de repositorios frente a políticas de IAM
<a name="repository-policy-vs-iam-policy"></a>

Las políticas de repositorios de Amazon ECR son un subconjunto de políticas de IAM destinados a controlar el acceso a repositorios de Amazon ECR individuales, y se aplican específicamente a este fin. Las políticas de IAM se suelen utilizar para aplicar permisos a todo el servicio de Amazon ECR, pero también se pueden utilizar para controlar el acceso a recursos específicos.

Tanto las políticas de repositorios de Amazon ECR como las políticas de IAM se utilizan a la hora de determinar qué acciones puede realizar un rol o usuario específico en un repositorio. Si se le permite realizar una acción a un rol o usuario mediante una política de repositorio, pero el permiso se deniega mediante una política de IAM (o viceversa), la acción se denegará. Para que un usuario o rol pueda realizar una acción, solo necesita que se le proporcione permiso mediante una política de repositorio o una política de IAM, no de ambas.

**importante**  
Amazon ECR requiere que los usuarios tengan permiso para realizar llamadas a la API `ecr:GetAuthorizationToken` a través de una política de IAM para que puedan autenticarse en un registro, así como insertar o extraer imágenes de cualquier repositorio de Amazon ECR. Amazon ECR proporciona varias políticas administradas por IAM para controlar el acceso de los usuarios en distintos niveles. Para obtener más información, consulte [Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

Puede utilizar cualquiera de estos tipos de política para controlar el acceso a los repositorios, como se muestra en los siguientes ejemplos.

En este ejemplo se muestra una política de repositorio de Amazon ECR que permite a un usuario específico describir el repositorio y las imágenes que contiene este.

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

****  

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

------

En este ejemplo se muestra una política de IAM que logra el mismo objetivo que la anterior al limitar la política a un repositorio (especificado por el ARN completo del repositorio) mediante el parámetro de recurso. Para obtener más información sobre el formato de Nombres de recursos de Amazon (ARN), consulte [Recursos](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).

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

****  

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

------

# Ejemplos de políticas de repositorio privado en Amazon ECR
<a name="repository-policy-examples"></a>

**importante**  
Los ejemplos de políticas de repositorios de esta página están pensados para aplicarse a los repositorios privados de Amazon ECR. No funcionarán correctamente si se utilizan directamente con una entidad principal de IAM, a menos que se modifiquen para especificar el repositorio de Amazon ECR como recurso. Para obtener más información acerca de cómo establecer políticas de repositorios, consulte [Configuración de una instrucción de política de repositorio privado en Amazon ECR](set-repository-policy.md).

Las políticas de repositorios de Amazon ECR son un subconjunto de políticas de IAM destinados a controlar el acceso a repositorios de Amazon ECR individuales, y se aplican específicamente a este fin. Las políticas de IAM se suelen utilizar para aplicar permisos a todo el servicio de Amazon ECR, pero también se pueden utilizar para controlar el acceso a recursos específicos. Para obtener más información, consulte [Políticas de repositorios frente a políticas de IAM](repository-policies.md#repository-policy-vs-iam-policy).

En los siguientes ejemplos de política de repositorio se muestran instrucciones de permiso que puede utilizar para controlar el acceso a los repositorios privados de Amazon ECR.

**importante**  
Amazon ECR requiere que los usuarios tengan permiso para realizar llamadas a la API `ecr:GetAuthorizationToken` a través de una política de IAM para que puedan autenticarse en un registro, así como insertar o extraer imágenes de cualquier repositorio de Amazon ECR. Amazon ECR proporciona varias políticas administradas por IAM para controlar el acceso de los usuarios en distintos niveles. Para obtener más información, consulte [Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

## Ejemplo: Permitir uno o más usuarios de
<a name="IAM_within_account"></a>

La siguiente política de repositorio permite que uno o más usuarios de inserten imágenes en un repositorio y las extraigan de este.

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

****  

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

------

## Ejemplo: Permitir otra cuenta
<a name="IAM_allow_other_accounts"></a>

La siguiente política de repositorio permite a una cuenta específica insertar imágenes.

**importante**  
La cuenta a la que está otorgando permisos debe tener habilitada la región en la que está creando la política de repositorio; de lo contrario, se producirá un error.

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

****  

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

------

La siguiente política de repositorio permite a algunos usuarios extraer imágenes (*pull-user-1*y*pull-user-2*) y, al mismo tiempo, proporciona acceso total a otros (*admin-user*).

**nota**  
Para políticas de repositorio más complicadas que actualmente no son compatibles con el Consola de administración de AWS, puedes aplicar la política con el [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI comando.

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

****  

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

------

## Ejemplo: Denegar todo
<a name="IAM_deny_all"></a>

La siguiente política de repositorio deniega a todos los usuarios de todas las cuentas la capacidad de extraer imágenes.

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

****  

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

------

## Ejemplo: Restringir el acceso a direcciones IP específicas
<a name="IAM_restrict_ip"></a>

El siguiente ejemplo deniega permisos a cualquier usuario para realizar cualquier operación de Amazon ECR cuando se aplica a un repositorio desde un rango específico de direcciones.

La condición de esta declaración identifica el `54.240.143.*` rango de direcciones IP de la versión 4 (IPv4) del Protocolo de Internet permitidas.

El `Condition` bloque utiliza `NotIpAddress` las condiciones y la clave de `aws:SourceIp` condición, que es una clave de condición que AWS abarca todo el territorio. Para obtener más información sobre estas claves de condición, consulte [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html). Los `aws:sourceIp` IPv4 valores utilizan la notación CIDR estándar. Para obtener más información, consulte [Operadores de condición de dirección IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) en la *guía del usuario de IAM*.

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

****  

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

------

## Ejemplo: Permitir un servicio AWS
<a name="IAM_service_linked"></a>

La siguiente política de repositorios permite el AWS CodeBuild acceso a las acciones de la API Amazon ECR necesarias para la integración con ese servicio. Al utilizar el siguiente ejemplo, debe utilizar `aws:SourceArn` y las claves de condición `aws:SourceAccount` para el ámbito de qué recursos pueden asumir estos permisos. Para obtener más información, consulte el [ejemplo de Amazon ECR CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html) en la *Guía del AWS CodeBuild usuario*.

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

****  

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

------

# Configuración de una instrucción de política de repositorio privado en Amazon ECR
<a name="set-repository-policy"></a>

Puede añadir una declaración de política de acceso a un repositorio Consola de administración de AWS siguiendo los pasos que se indican a continuación. Puede añadir varias instrucciones de política por repositorio. Para ver ejemplos de políticas, consulte [Ejemplos de políticas de repositorio privado en Amazon ECR](repository-policy-examples.md).

**importante**  
Amazon ECR requiere que los usuarios tengan permiso para realizar llamadas a la API `ecr:GetAuthorizationToken` a través de una política de IAM para que puedan autenticarse en un registro, así como insertar o extraer imágenes de cualquier repositorio de Amazon ECR. Amazon ECR proporciona varias políticas administradas por IAM para controlar el acceso de los usuarios en distintos niveles. Para obtener más información, consulte [Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

**Para definir una instrucción de política de repositorio**

1. Abra la consola Amazon ECR en los [https://console.aws.amazon.com/ecr/repositorios](https://console.aws.amazon.com/ecr/repositories).

1. En la barra de navegación, seleccione la región que contiene el repositorio para el que desea definir una instrucción de política.

1. En el panel de navegación, elija **Repositories** (Repositorios).

1. En la página **Repositories** (Repositorios), elija el repositorio para el que desea definir una instrucción de política con objeto de ver su contenido.

1. En la vista de lista de imágenes del repositorio, en el panel de navegación, elija **Permissions** (Permisos), **Edit** (Editar).
**nota**  
Si no ve la opción **Permissions** (Permisos) en el panel de navegación, asegúrese de que está en la vista de lista de imágenes del repositorio.

1. En la página **Edit permissions (Editar permisos)**, seleccione **Add statement (Añadir declaración)**.

1. En **Statement name (Nombre de la declaración)**, introduzca un nombre para la declaración.

1. En **Effect (Efecto)**, elija si desea que la instrucción de política de como resultado un permiso o una denegación explícita.

1. En **Principal (Entidad de seguridad)**, elija el alcance con el que se va a aplicar la instrucción de la política. Para obtener más información, consulte [Elementos de la política de JSON de AWS : Entidad de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en la *Guía del usuario de IAM*.
   + Puede aplicar la declaración a todos los AWS usuarios autenticados seleccionando la casilla **Todos (\$1).**
   + En ** (Entidad de servicio)**, especifique el nombre de la entidad de servicio (por ejemplo, `ecs.amazonaws.com`) para aplicar la instrucción a un servicio específico.
   +  IDsEn **AWS Cuenta**, especifique un número de AWS cuenta (por ejemplo`111122223333`) para aplicar la declaración a todos los usuarios de una AWS cuenta específica. Se pueden especificar varias cuentas utilizando una lista delimitada por comas.
**importante**  
La cuenta a la que está otorgando permisos debe tener habilitada la región en la que está creando la política de repositorio; de lo contrario, se producirá un error.
   + En el **caso de las entidades de IAM**, seleccione los roles o usuarios de su AWS cuenta a los que desee aplicar la declaración.
**nota**  
Para políticas de repositorio más complicadas que actualmente no son compatibles con el Consola de administración de AWS, puede aplicar la política con el [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI comando.

1. En **Actions** (Acciones), elija el alcance de las operaciones de la API de Amazon ECR a las que debe aplicarse la instrucción de la política en la lista de operaciones de API individuales.

1. Cuando haya terminado, elija **Save** para definir la política.

1. Repita el paso anterior para cada política de repositorio que desee añadir.

# Etiquetado de un repositorio privado en Amazon ECR
<a name="ecr-using-tags"></a>

*Para ayudarle a gestionar sus repositorios de Amazon ECR, puede asignar sus propios metadatos a los repositorios de Amazon ECR nuevos o existentes mediante etiquetas de recursos. AWS * Por ejemplo, puede definir un conjunto de etiquetas para los repositorios de Amazon ECR de su cuenta que le ayuden a rastrear al propietario de cada repositorio.

## Conceptos básicos de etiquetas
<a name="tag-basics"></a>

Las etiquetas no tienen ningún significado semántico para Amazon ECR, por lo que se interpretan estrictamente como cadenas de caracteres. Además, las etiquetas no se asignan a los recursos automáticamente. Puede editar las claves y los valores de las etiquetas y eliminar las etiquetas de un recurso en cualquier momento. Puede establecer el valor de una etiqueta como una cadena vacía, pero no puede asignarle un valor nulo. Si añade una etiqueta con la misma clave que una etiqueta existente en ese recurso, el nuevo valor sobrescribirá al antiguo. Si eliminas un recurso, también se eliminarán todas las etiquetas del recurso.

Puede trabajar con etiquetas mediante la consola Amazon ECR AWS CLI, la y la API Amazon ECR.

Con AWS Identity and Access Management (IAM), puede controlar qué usuarios de su AWS cuenta tienen permiso para crear, editar o eliminar etiquetas. Para obtener información acerca de las etiquetas en la política de IAM, consulte [Uso del control de acceso basado en etiquetas](ecr-supported-iam-actions-tagging.md).

## Etiquetado de los recursos para facturación
<a name="tag-resources-for-billing"></a>

Las etiquetas que agregue a sus repositorios de Amazon ECR son útiles a la hora de revisar la asignación de costes una vez que las habilite en el informe de uso y costes. Para obtener más información, consulte [Informes de uso de Amazon ECR](usage-reports.md).

Para ver el costo de los recursos combinados, puede organizar la información de facturación basada en los recursos que tienen los mismos valores de clave de etiqueta. Por ejemplo, puede etiquetar varios recursos con un nombre de aplicación específico y luego organizar su información de facturación para ver los costos totales de la aplicación en distintos servicios. Para obtener más información sobre la configuración de un informe de asignación de costes con etiquetas, consulte [Informe de asignación de costes mensual](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html) en la *Guía del usuario de AWS Billing *.

**nota**  
Si acaba de habilitar la realización de informes, los datos correspondientes al mes actual estarán disponibles para su visualización transcurridas 24 horas.

# Incorporación de etiquetas a un repositorio privado en Amazon ECR
<a name="adding-tags-repositories"></a>

Puede agregar etiquetas a un repositorio privado.

Para obtener información sobre los nombres y las prácticas recomendadas para las etiquetas, consulte [los límites y requisitos de nomenclatura de etiquetas y](https://docs.aws.amazon.com//tag-editor/latest/userguide/tagging.html#tag-conventions) [las prácticas recomendadas](https://docs.aws.amazon.com//tag-editor/latest/userguide/tagging.html#tag-best-practices) en la Guía del *usuario de Tagging AWS Resources*.

## Incorporación de etiquetas a un repositorio (Consola de administración de AWS)
<a name="tag-resources-console"></a>

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. En la barra de navegación, seleccione la región que desea utilizar.

1. En el panel de navegación, elija **Repositories** (Repositorios).

1. En la página **Repositories (Repositorios)**, active la casilla de verificación situada junto al repositorio que desee etiquetar.

1. En el menú **Action (Acción)**, selecciona **Repository tags (Etiquetas de repositorio)**.

1. En la pestaña **Repository tags (Etiquetas de repositorio)**, seleccione **Add tags (Añadir etiquetas)**, **Add tag (Añadir etiqueta)**.

1. En la página **Edit repository tags (Editar etiquetas de repositorio)**, especifique la clave y el valor de cada etiqueta y, a continuación, elija **save (Guardar)**.

## Añadir etiquetas a un repositorio (AWS CLI o API)
<a name="tag-resources-api-sdk"></a>

Puedes añadir o sobrescribir una o más etiquetas mediante la AWS CLI o una API.
+ AWS CLI [- recurso de etiquetas](https://docs.aws.amazon.com/cli/latest/reference/ecr/tag-resource.html)
+ Acción de la API - [TagResource](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_TagResource.html)

En los siguientes ejemplos se muestra cómo agregar etiquetas mediante la función AWS CLI.

**Ejemplo 1: etiquetar un repositorio**  
El siguiente comando etiqueta un repositorio.

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

**Ejemplo 2: etiquetar un repositorio con varias etiquetas**  
El siguiente comando agrega tres etiquetas a un repositorio.

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

**Ejemplo 3: Enumerar etiquetas de un repositorio**  
El siguiente comando enumera las etiquetas asociadas a un repositorio.

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

**Ejemplo 4: crear un repositorio y aplicar una etiqueta**  
El siguiente comando crea un repositorio denominado `test-repo` y añade una etiqueta con clave `team` y valor `devs`.

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

# Eliminación de etiquetas de un repositorio privado en Amazon ECR
<a name="deleting-tags-repositories"></a>

Puede eliminar etiquetas de un repositorio privado.

## Para eliminar una etiqueta de un repositorio privado (Consola de administración de AWS)
<a name="deleting-tags-repositories-console"></a>

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. En la barra de navegación, seleccione la región que desea utilizar.

1. En la página **Repositories (Repositorios)**, active la casilla de verificación situada junto al repositorio del que desee eliminar una etiqueta.

1. En el menú **Action (Acción)**, selecciona **Etiquetas de repositorio**.

1. En la página **Repository tags (Etiquetas de repositorio)**, seleccione **Edit (Editar)**.

1. En la página **Edit repository tags (Editar etiquetas de repositorio)**, seleccione **Remove (Eliminar)** para cada etiqueta que desee eliminar y, a continuación, elija **Save (Guardar)**.

## Para eliminar una etiqueta de un repositorio privado (AWS CLI)
<a name="deleting-tags-repositories-cli"></a>

Puede eliminar una o más etiquetas mediante la AWS CLI o una API.
+ AWS CLI - Recurso [sin etiquetar](https://docs.aws.amazon.com/cli/latest/reference/ecr/untag-resource.html)
+ Acción de la API - [UntagResource](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_UntagResource.html)

En el siguiente ejemplo se muestra cómo eliminar una etiqueta de un repositorio con la ayuda de AWS CLI.

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