

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.

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

La seguridad en la nube AWS es la máxima prioridad. Como AWS cliente, usted se beneficia de una arquitectura de centro de datos y red diseñada para cumplir con los requisitos de las organizaciones más sensibles a la seguridad.

La seguridad es una responsabilidad compartida entre usted AWS y usted. El [modelo de responsabilidad compartida](https://aws.amazon.com/compliance/shared-responsibility-model/) la describe como seguridad *de* la nube y seguridad *en* la nube:
+ **Seguridad de la nube**: AWS es responsable de proteger la infraestructura que ejecuta AWS los servicios en la AWS nube. AWS también le proporciona servicios que puede utilizar de forma segura. Auditores independientes prueban y verifican periódicamente la eficacia de nuestra seguridad en el marco de los [programas de conformidad de AWS](https://aws.amazon.com/compliance/programs/). Para obtener más información sobre los programas de conformidad que se aplican a Amazon ECR, consulte [Servicios de AWS en el ámbito del programa de conformidad](https://aws.amazon.com/compliance/services-in-scope/).
+ **Seguridad en la nube**: su responsabilidad viene determinada por el AWS servicio que utilice. También es responsable de otros factores, incluida la confidencialidad de los datos, los requisitos de la empresa y la legislación y la normativa aplicables. 

Esta documentación lo ayuda a comprender cómo aplicar el modelo de responsabilidad compartida cuando se utiliza Amazon ECR. En los siguientes temas, se mostrará cómo configurar Amazon ECR para satisfacer sus objetivos de seguridad y conformidad. También aprenderá a utilizar otros AWS servicios que le ayudan a supervisar y proteger sus recursos de Amazon ECR. 

**Topics**
+ [Identity and Access Management para Amazon Elastic Container Registry](security-iam.md)
+ [Protección de los datos en Amazon ECR](data-protection.md)
+ [Validación de conformidad para Amazon Elastic Container Registry](ecr-compliance.md)
+ [Seguridad de la infraestructura en Amazon Elastic Container Registry](infrastructure-security.md)
+ [Prevención de la sustitución confusa entre servicios](cross-service-confused-deputy-prevention.md)

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

AWS Identity and Access Management (IAM) es un sistema Servicio de AWS que ayuda al administrador a controlar de forma segura el acceso a los AWS recursos. Los administradores de IAM controlan quién está *autenticado* (ha iniciado sesión) y *autorizado* (tiene permisos) para utilizar recursos de Amazon ECR. La IAM es una Servicio de AWS herramienta que puede utilizar sin coste adicional.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticación con identidades](#security_iam_authentication)
+ [Administración del acceso con políticas](#security_iam_access-manage)
+ [Cómo funciona Amazon Elastic Container Registry con IAM](security_iam_service-with-iam.md)
+ [Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md)
+ [Uso del control de acceso basado en etiquetas](ecr-supported-iam-actions-tagging.md)
+ [AWS políticas gestionadas para Amazon Elastic Container Registry](security-iam-awsmanpol.md)
+ [Uso de roles vinculados a servicios para Amazon ECR](using-service-linked-roles.md)
+ [Solución de problemas de identidad y acceso para Amazon Elastic Container Registry](security_iam_troubleshoot.md)

## Público
<a name="security_iam_audience"></a>

La forma de usar AWS Identity and Access Management (IAM) varía según la función que desempeñes:
+ **Usuario del servicio:** solicite permisos al administrador si no puede acceder a las características (consulte [Solución de problemas de identidad y acceso para Amazon Elastic Container Registry](security_iam_troubleshoot.md)).
+ **Administrador del servicio:** determine el acceso de los usuarios y envíe las solicitudes de permiso (consulte [Cómo funciona Amazon Elastic Container Registry con IAM](security_iam_service-with-iam.md)).
+ **Administrador de IAM**: escribe las políticas para administrar el acceso (consulte [Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md)).

## Autenticación con identidades
<a name="security_iam_authentication"></a>

La autenticación es la forma en que inicias sesión AWS con tus credenciales de identidad. Debe autenticarse como usuario de Usuario raíz de la cuenta de AWS IAM o asumir una función de IAM.

Puede iniciar sesión como una identidad federada con las credenciales de una fuente de identidad, como AWS IAM Identity Center (IAM Identity Center), la autenticación de inicio de sesión único o las credenciales. Google/Facebook Para obtener más información sobre el inicio de sesión, consulte [Cómo iniciar sesión en la Cuenta de AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) en la *Guía del usuario de AWS Sign-In *.

Para el acceso programático, AWS proporciona un SDK y una CLI para firmar criptográficamente las solicitudes. Para obtener más información, consulte [AWS Signature Version 4 para solicitudes de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) en la *Guía del usuario de IAM*.

### Cuenta de AWS usuario root
<a name="security_iam_authentication-rootuser"></a>

 Al crear un Cuenta de AWS, se comienza con una identidad de inicio de sesión denominada *usuario Cuenta de AWS raíz* que tiene acceso completo a todos Servicios de AWS los recursos. Se recomiendaencarecidamente que no utilice el usuario raíz para las tareas diarias. Para ver la lista completa de las tareas que requieren credenciales de usuario raíz, consulte [Tareas que requieren credenciales de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) en la *Guía del usuario de IAM*. 

### Usuarios y grupos de IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* es una identidad con permisos específicos para una sola persona o aplicación. Recomendamos el uso de credenciales temporales en lugar de usuarios de IAM con credenciales de larga duración. Para obtener más información, consulte [Exigir a los usuarios humanos que utilicen la federación con un proveedor de identidad para acceder AWS mediante credenciales temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) en la Guía del *usuario de IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica un conjunto de usuarios de IAM y facilita la administración de los permisos para grupos grandes de usuarios. Para obtener más información, consulte [Casos de uso para usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) en la *Guía del usuario de IAM*.

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

Un *[Rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* es una identidad con permisos específicos que proporciona credenciales temporales. Puede asumir un rol [cambiando de un rol de usuario a uno de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o llamando a una AWS CLI operación de AWS API. Para obtener más información, consulte [Métodos para asumir un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) en la *Guía del usuario de IAM*.

Los roles de IAM son útiles para el acceso de usuario federado, los permisos de usuario de IAM temporales, el acceso entre cuentas, el acceso entre servicios y las aplicaciones que se ejecutan en Amazon EC2. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Administración del acceso con políticas
<a name="security_iam_access-manage"></a>

 AWS Para controlar el acceso, puede crear políticas y adjuntarlas a AWS identidades o recursos. Una política define los permisos cuando están asociados a una identidad o un recurso. AWS evalúa estas políticas cuando un director hace una solicitud. La mayoría de las políticas se almacenan AWS como documentos JSON. Para obtener más información sobre los documentos de políticas de JSON, consulte [Información general de políticas de JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) en la *Guía del usuario de IAM*.

Mediante las políticas, los administradores especifican quién tiene acceso a qué, definiendo qué **entidad principal** puede realizar **acciones** sobre qué **recursos** y en qué **condiciones**.

De forma predeterminada, los usuarios y los roles no tienen permisos. Un administrador de IAM crea políticas de IAM y las agrega a roles, que los usuarios pueden asumir posteriormente. Las políticas de IAM definen permisos independientemente del método que se utilice para realizar la operación.

### Políticas basadas en identidades
<a name="security_iam_access-manage-id-based-policies"></a>

Las políticas basadas en identidad son documentos de política de permisos JSON que asocia a una identidad (usuario, grupo o rol). Estas políticas controlan qué acciones pueden realizar las identidades, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Las políticas basadas en identidad pueden ser *políticas insertadas* (incrustadas directamente en una sola identidad) o *políticas administradas* (políticas independientes asociadas a varias identidades). Para obtener información sobre cómo elegir entre políticas administradas e insertadas, consulte [Selección entre políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) en la *Guía del usuario de IAM*.

### Políticas basadas en recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Las políticas basadas en recursos son documentos de políticas JSON que se asocian a un recurso. Los ejemplos incluyen las *Políticas de confianza de roles* de IAM y las *Políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos.

Las políticas basadas en recursos son políticas insertadas que se encuentran en ese servicio. No puedes usar políticas AWS gestionadas de IAM en una política basada en recursos.

### Otros tipos de políticas
<a name="security_iam_access-manage-other-policies"></a>

AWS admite tipos de políticas adicionales que pueden establecer los permisos máximos que conceden los tipos de políticas más comunes:
+ **Límites de permisos:** establecen los permisos máximos que una política basada en identidad puede conceder a una entidad de IAM. Para obtener más información, consulte [Límites de permisos para las entidades de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) en la *Guía del usuario de IAM*.
+ **Políticas de control de servicios (SCPs)**: especifican los permisos máximos para una organización o unidad organizativa en AWS Organizations. Para obtener más información, consulte [Políticas de control de servicios](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) en la *Guía del usuario de AWS Organizations *.
+ **Políticas de control de recursos (RCPs)**: establece los permisos máximos disponibles para los recursos de tus cuentas. Para obtener más información, consulte [Políticas de control de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) en la *Guía del AWS Organizations usuario*.
+ **Políticas de sesión:** políticas avanzadas que se pasan como parámetro cuando se crea una sesión temporal para un rol o un usuario federado. Para obtener más información, consulte [Políticas de sesión](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) en la *Guía del usuario de IAM*.

### Varios tipos de políticas
<a name="security_iam_access-manage-multiple-policies"></a>

Cuando se aplican varios tipos de políticas a una solicitud, los permisos resultantes son más complicados de entender. Para saber cómo se AWS determina si se debe permitir una solicitud cuando se trata de varios tipos de políticas, consulte la [lógica de evaluación de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) en la *Guía del usuario de IAM*.

# Cómo funciona Amazon Elastic Container Registry con IAM
<a name="security_iam_service-with-iam"></a>

Antes de utilizar IAM para administrar el acceso a Amazon ECR, debe conocer qué características de IAM se encuentran disponibles con Amazon ECR. Para obtener una visión general de cómo Amazon ECR y otros AWS servicios funcionan con IAM, consulte [AWS Servicios que funcionan con IAM en la Guía del usuario de *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

**Topics**
+ [Políticas de Amazon ECR basadas en identidades](#security_iam_service-with-iam-id-based-policies)
+ [Políticas basadas en recursos de Amazon ECR](#security_iam_service-with-iam-resource-based-policies)
+ [Autorización basada en etiquetas de Amazon ECR](#security_iam_service-with-iam-tags)
+ [Roles de IAM de Amazon ECR](#security_iam_service-with-iam-roles)

## Políticas de Amazon ECR basadas en identidades
<a name="security_iam_service-with-iam-id-based-policies"></a>

Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Amazon ECR admite acciones, claves de condiciones y recursos específicos. Para obtener información sobre todos los elementos que utiliza en una política JSON, consulte [Referencia de los elementos de las políticas JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

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

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.

Las acciones de políticas de Amazon ECR utilizan el siguiente prefijo antes de la acción: `ecr:`. Por ejemplo, para conceder a alguien permiso para crear un repositorio de Amazon ECR con la operación `CreateRepository` de la API de Amazon ECR, incluya la acción `ecr:CreateRepository` en su política. Las instrucciones de la política deben incluir un elemento `Action` o un elemento `NotAction`. Amazon ECR define su propio conjunto de acciones que describen las tareas que se pueden realizar con este servicio.

Para especificar varias acciones en una única instrucción, sepárelas con comas del siguiente modo:

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

Puede utilizar caracteres comodín para especificar varias acciones (\$1). Por ejemplo, para especificar todas las acciones que comiencen con la palabra `Describe`, incluya la siguiente acción:

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



Para ver una lista de las acciones de Amazon ECR, consulte [Acciones, recursos y claves de condiciones de Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html) en la *Guía del usuario de IAM*.

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

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

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



Un recurso de repositorio de Amazon ECR tiene el siguiente ARN:

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

Para obtener más información sobre el formato de ARNs, consulte [Amazon Resource Names (ARNs) y AWS Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Por ejemplo, para especificar el repositorio `my-repo` en la región `us-east-1` en la instrucción, utilice el siguiente ARN:

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

Para especificar todos los repositorios que pertenecen a una cuenta específica, utilice el carácter comodín (\$1):

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

Para especificar varios recursos en una sola sentencia, sepárelos ARNs con comas. 

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

Para ver una lista de los tipos de recursos de Amazon ECR y sus respectivos tipos ARNs, consulte [Recursos definidos por Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-resources-for-iam-policies) en la Guía del *usuario de IAM*. Para obtener información acerca de las acciones con las que puede especificar el ARN de cada recurso, consulte [Acciones definidas por Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

### Claves de condición
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Amazon ECR define su propio conjunto de claves de condición y también admite el uso de algunas claves de condición globales. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la Guía del *usuario de IAM*.



La mayoría de las acciones de Amazon ECR admiten las claves de condición `aws:ResourceTag` y `ecr:ResourceTag`. Para obtener más información, consulte [Uso del control de acceso basado en etiquetas](ecr-supported-iam-actions-tagging.md).

Para ver una lista de las claves de condición de Amazon ECR, consulte [Claves de condición definidas por Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-policy-keys) en la *Guía del usuario de IAM*. Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulte [Acciones definidas por Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

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



Para ver ejemplos de políticas basadas en identidad de Amazon ECR, consulte [Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md).

## Políticas basadas en recursos de Amazon ECR
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Las políticas basadas en recursos son documentos de políticas JSON que especifican qué acciones puede realizar una entidad de servicio especificada en un recurso de Amazon ECR y en qué condiciones. Amazon ECR admite políticas de permisos basadas en recursos para repositorios de Amazon ECR. Las políticas basadas en recursos le permiten conceder a otras cuentas de permisos de uso para cada recurso. También puede utilizar una política basada en recursos para permitir a un servicio de AWS acceder a los repositorios de Amazon ECR.

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la [entidad principal de una política basada en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Añadir a una política en función de recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Si el principal y el recurso están en AWS cuentas diferentes, también debe conceder permiso a la entidad principal para acceder al recurso. Conceda permiso asociando a la entidad una política basada en identidades. Sin embargo, si la política basada en recursos otorga acceso a una entidad principal de la misma cuenta, no es necesario obtener los permisos del repositorio de Amazon ECR en la política basada en identidad. Para obtener más información, consulte [Cómo los roles de IAM difieren de las políticas basadas en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) en la *Guía del usuario de IAM*.

El servicio de Amazon ECR solo admite un tipo de política basada en recursos denominada *política de repositorios*, que se adjunta a un *repositorio*. Esta política indica las entidades principales (cuentas, usuarios, roles y usuarios federados) que pueden realizar acciones en el repositorio. Para obtener información sobre cómo asociar una política basada en recursos a un repositorio, consulte [Políticas de repositorios privados en Amazon ECR](repository-policies.md).

**nota**  
En una política de repositorio de Amazon ECR, el elemento de política `Sid` admite caracteres y espacios adicionales que no se admiten en las políticas de IAM.

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



Para ver ejemplos de políticas basadas en recursos de Amazon ECR, consulte [Ejemplos de políticas de repositorio privado en Amazon ECR](repository-policy-examples.md).

## Autorización basada en etiquetas de Amazon ECR
<a name="security_iam_service-with-iam-tags"></a>

Puede adjuntar etiquetas a los recursos de Amazon ECR o transferirlas en una solicitud a Amazon ECR. Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de una política utilizando las claves de condición `ecr:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`. Para obtener más información sobre el etiquetado de recursos de Amazon ECR, consulte [Etiquetado de un repositorio privado en Amazon ECR](ecr-using-tags.md).

Para consultar un ejemplo de política basada en la identidad para limitar el acceso a un recurso en función de las etiquetas de ese recurso, consulte [Uso del control de acceso basado en etiquetas](ecr-supported-iam-actions-tagging.md).

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

Un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) es una entidad de tu AWS cuenta que tiene permisos específicos.

### Uso de credenciales temporales con Amazon ECR
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Puede utilizar credenciales temporales para iniciar sesión con federación, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Para obtener credenciales de seguridad temporales, puede llamar a operaciones de AWS STS API como [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)o [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

Amazon ECR admite el uso de credenciales temporales. 

### Roles vinculados a servicios
<a name="security_iam_service-with-iam-roles-service-linked"></a>

Los [roles vinculados a un servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) permiten a AWS los servicios acceder a los recursos de otros servicios para completar una acción en tu nombre. Los roles vinculados a servicios aparecen en la cuenta de IAM y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios.

Amazon ECR admite roles vinculados a servicios. Para obtener más información, consulte [Uso de roles vinculados a servicios para Amazon ECR](using-service-linked-roles.md).

# Ejemplos de políticas basadas en identidad de Amazon Elastic Container Registry
<a name="security_iam_id-based-policy-examples"></a>

De manera predeterminada, los usuarios y roles no tienen permiso para crear ni modificar recursos de Amazon ECR. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte [Creación de políticas de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las acciones y los tipos de recursos definidos por Amazon ECR, incluido el formato de cada uno de los tipos de recursos, consulte [Acciones, recursos y claves de condición de Amazon Elastic Container Registry](https://docs.aws.amazon.com/service-authorization/latest/reference/ecr.html) en la *Referencia de autorización de servicios*. ARNs 

Para obtener información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas JSON de ejemplo, consulte [Creación de políticas en la pestaña JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) en la *Guía del usuario de IAM*.

**Topics**
+ [Prácticas recomendadas relativas a políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Uso de la consola de Amazon ECR](#security_iam_id-based-policy-examples-console)
+ [Permitir a los usuarios ver sus propios permisos](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Acceso a un repositorio de Amazon ECR](#security_iam_id-based-policy-examples-access-one-bucket)

## Prácticas recomendadas relativas a políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de Amazon ECR de su cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
+ **Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para empezar a conceder permisos** a sus usuarios y cargas de trabajo, utilice las *políticas AWS administradas* que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Con el fin de obtener más información, consulte las [políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o las [políticas administradas por AWS para funciones de tarea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) en la *Guía de usuario de IAM*.
+ **Aplique permisos de privilegio mínimo**: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como *permisos de privilegios mínimos*. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte [Políticas y permisos en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) en la *Guía del usuario de IAM*.
+ **Utilice condiciones en las políticas de IAM para restringir aún más el acceso**: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo CloudFormation. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la *Guía del usuario de IAM*.
+ **Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos**: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte [Validación de políticas con el Analizador de acceso de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) en la *Guía del usuario de IAM*.
+ **Requerir autenticación multifactor (MFA**): si tiene un escenario que requiere usuarios de IAM o un usuario raíz en Cuenta de AWS su cuenta, active la MFA para mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte [Acceso seguro a la API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

## Uso de la consola de Amazon ECR
<a name="security_iam_id-based-policy-examples-console"></a>

Para acceder a la consola de Amazon Elastic Container Registry, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver detalles sobre los recursos de Amazon ECR de su AWS cuenta. Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.

Para garantizar que esas entidades puedan seguir utilizando la consola de Amazon ECR, añada la política `AmazonEC2ContainerRegistryReadOnly` AWS gestionada a las entidades. Para obtener más información, consulte [Agregar de permisos a un usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) en la *Guía del usuario de IAM*.

Para ver los permisos de esta política, consulte [AmazonElasticContainerRegistryPublicReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElasticContainerRegistryPublicReadOnly.html) en la *Referencia de la política administrada de AWS *.

No es necesario conceder permisos mínimos de consola a los usuarios que solo realizan llamadas a la API AWS CLI o a la AWS API. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.

## Permitir a los usuarios ver sus propios permisos
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la API AWS CLI o AWS .

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

## Acceso a un repositorio de Amazon ECR
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

En este ejemplo, quiere conceder a un usuario de su AWS cuenta acceso a uno de sus repositorios de Amazon ECR,. `my-repo` También desea permitir que el usuario inserte, extraiga y enumere imágenes.

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

****  

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

------

# Uso del control de acceso basado en etiquetas
<a name="ecr-supported-iam-actions-tagging"></a>

La acción `CreateRepository` de la API de Amazon ECR permite especificar etiquetas al crear el repositorio. Para obtener más información, consulte [Etiquetado de un repositorio privado en Amazon ECR](ecr-using-tags.md).

Para que los usuarios puedan etiquetar repositorios durante la creación, es preciso que tengan permisos para utilizar la acción que crea el recurso (por ejemplo, `ecr:CreateRepository`). Si se especifican etiquetas en la acción de creación de recursos, Amazon realiza una autorización adicional en la acción `ecr:CreateRepository` para verificar que los usuarios tengan permisos para crear etiquetas.

Puede utilizar el control de acceso basado en etiquetas con las políticas de IAM. A continuación se muestran algunos ejemplos.

La siguiente política solo permitiría a un usuario crear o etiquetar un repositorio como `key=environment,value=dev`.

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

****  

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

------

La siguiente política permitiría a un usuario extraer imágenes desde todos los repositorios a menos que estuvieran etiquetados como `key=environment,value=prod`.

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

****  

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

------

# AWS políticas gestionadas para Amazon Elastic Container Registry
<a name="security-iam-awsmanpol"></a>

Una política AWS gestionada es una política independiente creada y administrada por. AWS AWS Las políticas administradas están diseñadas para proporcionar permisos para muchos casos de uso comunes, de modo que pueda empezar a asignar permisos a usuarios, grupos y funciones.

Ten en cuenta que es posible que las políticas AWS administradas no otorguen permisos con privilegios mínimos para tus casos de uso específicos, ya que están disponibles para que los usen todos los AWS clientes. Se recomienda definir [políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) específicas para sus casos de uso a fin de reducir aún más los permisos.

No puedes cambiar los permisos definidos en AWS las políticas administradas. Si AWS actualiza los permisos definidos en una política AWS administrada, la actualización afecta a todas las identidades principales (usuarios, grupos y roles) a las que está asociada la política. AWS es más probable que actualice una política AWS administrada cuando Servicio de AWS se lance una nueva o cuando estén disponibles nuevas operaciones de API para los servicios existentes.

Para obtener más información, consulte [Políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) en la *Guía del usuario de IAM*.

Amazon ECR proporciona varias políticas administradas que se pueden adjuntar a identidades de IAM o a instancias de Amazon EC2. Estas políticas administradas permiten diferentes niveles de control sobre el acceso a los recursos y a las operaciones de API de Amazon ECR. Para obtener más información acerca de cada una de las operaciones de API mencionadas en estas políticas, consulte [Acciones](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_Operations.html) en la *Referencia de la API de Amazon Elastic Container Registry*.

**Topics**
+ [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess)
+ [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser)
+ [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly)
+ [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly)
+ [`AWSECRPullThroughCache_ServiceRolePolicy`](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy)
+ [`ECRReplicationServiceRolePolicy`](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy)
+ [`ECRTemplateServiceRolePolicy`](#security-iam-awsmanpol-ECRTemplateServiceRolePolicy)
+ [Amazon ECR actualiza las políticas AWS gestionadas](#security-iam-awsmanpol-updates)

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

Puede asociar la política `AmazonEC2ContainerRegistryFullAccess` a las identidades de IAM. Esta política otorga acceso administrativo a los recursos de Amazon ECR y otorga a una identidad de IAM (como un usuario, un grupo o un rol) acceso a los AWS servicios con los que está integrado Amazon ECR para usar todas las funciones de Amazon ECR. El uso de esta política permite acceder a todas las características de Amazon ECR que están disponibles en la Consola de administración de AWS.

Para ver los permisos de esta política, consulta [Amazon EC2 ContainerRegistryFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html) en la *Referencia de políticas AWS gestionadas*.

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

Puede asociar la política `AmazonEC2ContainerRegistryPowerUser` a las identidades de IAM. Esta política otorga permisos administrativos que permiten que los usuarios de IAM lean y escriban en los repositorios, pero no les permite eliminar los repositorios ni cambiar los documentos de la política aplicados a ellos.

Para ver los permisos de esta política, consulta [Amazon EC2 ContainerRegistryPowerUser](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPowerUser.html) en la *Referencia de políticas AWS gestionadas*.

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

Puede asociar la política `AmazonEC2ContainerRegistryPullOnly` a las identidades de IAM. Esta política da permiso para extraer imágenes de contenedores de Amazon ECR. Si el registro está habilitado para caché de extracción, también permitirá que las extracciones importen una imagen de un registro principal.

Para ver los permisos de esta política, consulta [Amazon EC2 ContainerRegistryPullOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPullOnly.html) en la *Referencia de políticas AWS gestionadas*.

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

Puede asociar la política `AmazonEC2ContainerRegistryReadOnly` a las identidades de IAM. Esta política otorga permisos de solo lectura a Amazon ECR. Esto incluye la capacidad de mostrar una lista de repositorios e imágenes en los repositorios. También incluye la capacidad de extraer imágenes de Amazon ECR con la CLI de Docker.

Para ver los permisos de esta política, consulta [Amazon EC2 ContainerRegistryReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryReadOnly.html) en la *Referencia de políticas AWS gestionadas*.

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

No puede adjuntar la política de IAM administrada `AWSECRPullThroughCache_ServiceRolePolicy` a sus entidades de IAM. Esta política se adjunta a un rol vinculado a servicios que permite a Amazon ECR enviar imágenes a los repositorios a través del flujo de trabajo de extracción de caché. Para obtener más información, consulte [Rol vinculado a servicios de Amazon ECR para la caché de extracción](slr-pullthroughcache.md).

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

No puede adjuntar la política de IAM administrada `ECRReplicationServiceRolePolicy` a sus entidades de IAM. Esta política se encuentra adjunta a un rol vinculado a un servicio que permite a Amazon ECR realizar acciones en su nombre. Para obtener más información, consulte [Uso de roles vinculados a servicios para Amazon ECR](using-service-linked-roles.md).

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

No puede adjuntar la política de IAM administrada `ECRTemplateServiceRolePolicy` a sus entidades de IAM. Esta política se encuentra adjunta a un rol vinculado a un servicio que permite a Amazon ECR realizar acciones en su nombre. Para obtener más información, consulte [Uso de roles vinculados a servicios para Amazon ECR](using-service-linked-roles.md).

## Amazon ECR actualiza las políticas AWS gestionadas
<a name="security-iam-awsmanpol-updates"></a>

Consulte los detalles sobre las actualizaciones de las políticas AWS gestionadas de Amazon ECR desde el momento en que este servicio comenzó a realizar el seguimiento de estos cambios. Para obtener alertas automáticas sobre cambios en esta página, suscríbase a la fuente RSS en la página de historial de documentos de Amazon ECR.

 


| Cambio | Descripción | Fecha | 
| --- | --- | --- | 
|  [Rol vinculado a servicios de Amazon ECR para la caché de extracción](slr-pullthroughcache.md): actualización de una política actual  |  Amazon ECR agregó nuevos permisos a la política `AWSECRPullThroughCache_ServiceRolePolicy`. Estos permisos permiten a Amazon ECR extraer imágenes del registro privado de ECR. Esto es obligatorio cuando se utiliza una regla de caché de extracción para almacenar en caché las imágenes de otro registro privado de Amazon ECR.   | 12 de marzo de 2025 | 
|  [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly) — Nueva política  |  Amazon ECR ha agregado una política nueva que concede permisos de solo extracción (pull-only) a Amazon ECR.  | 10 de octubre de 2024 | 
|  [ECRTemplateServiceRolePolicy](slr-rct.md): política nueva  |  Amazon ECR agregó una política nueva. Esta política está asociada con el rol vinculado a servicios `ECRTemplateServiceRolePolicy` para la característica de plantilla de creación de repositorios.  | 20 de junio de 2024 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](slr-pullthroughcache.md): actualización de una política actual  |  Amazon ECR agregó nuevos permisos a la política `AWSECRPullThroughCache_ServiceRolePolicy`. Estos permisos permiten a Amazon ECR recuperar el contenido cifrado de un secreto de Secrets Manager. Esto es necesario cuando se utiliza una regla de caché de extracción para almacenar en caché las imágenes de un registro anterior que requiere autenticación.  | 15 de noviembre de 2023 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy): política nueva  |  Amazon ECR agregó una política nueva. Esta política está asociada con el rol vinculado a servicios `AWSServiceRoleForECRPullThroughCache` para la característica de extracción de caché.  | 29 de noviembre de 2021 | 
|  [ECRReplicationServiceRolePolicy](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy): política nueva  |  Amazon ECR agregó una política nueva. Esta política está asociada con el rol vinculado a servicios `AWSServiceRoleForECRReplication` para la característica de replicación.  | 4 de diciembre de 2020 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess): actualización de una política existente  |  Amazon ECR agregó nuevos permisos a la política `AmazonEC2ContainerRegistryFullAccess`. Estos permisos permiten que las entidades de seguridad creen el rol vinculado al servicio de Amazon ECR.  | 4 de diciembre de 2020 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly): actualización de una política existente  |  Amazon ECR agregó nuevos permisos a la política `AmazonEC2ContainerRegistryReadOnly` que permite a las entidades de seguridad leer políticas del ciclo de vida, mostrar una lista de etiquetas y describir los resultados del escaneo para las imágenes.  | 10 de diciembre de 2019 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser): actualización de una política existente  |  Amazon ECR agregó nuevos permisos a la política `AmazonEC2ContainerRegistryPowerUser`. Estos permiten a las entidades de seguridad leer políticas del ciclo de vida, mostrar una lista de etiquetas y describir los resultados del escaneo para las imágenes.  | 10 de diciembre de 2019 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess): actualización de una política existente  |  Amazon ECR agregó nuevos permisos a la política `AmazonEC2ContainerRegistryFullAccess`. Permiten a los directores buscar los eventos de administración o los eventos de AWS CloudTrail Insights capturados por CloudTrail.  | 10 de noviembre de 2017 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly): actualización de una política existente  |  Amazon ECR agregó nuevos permisos a la política `AmazonEC2ContainerRegistryReadOnly`. Permiten a las entidades de seguridad describir imágenes de Amazon ECR.  | 11 de octubre de 2016 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser): actualización de una política existente  |  Amazon ECR agregó nuevos permisos a la política `AmazonEC2ContainerRegistryPowerUser`. Permiten a las entidades de seguridad describir imágenes de Amazon ECR.  | 11 de octubre de 2016 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) — Nueva política  |  Amazon ECR ha agregado una política nueva que concede permisos de solo lectura (read-only) a Amazon ECR. Estos incluyen la capacidad de mostrar una lista de repositorios e imágenes en los repositorios. También incluyen la capacidad de extraer imágenes de Amazon ECR con la CLI de Docker.  | 21 de diciembre de 2015 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) — Nueva política  |  Amazon ECR agregó una política nueva que otorga permisos administrativos que permiten que los usuarios lean y escriban en los repositorios, pero no les permite eliminar los repositorios ni cambiar los documentos de la política aplicados a ellos.  | 21 de diciembre de 2015 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) — Nueva política  |  Amazon ECR agregó una política nueva. Esta política otorga acceso completo a Amazon ECR.  | 21 de diciembre de 2015 | 
|  Amazon ECR comenzó a realizar el seguimiento de los cambios  |  Amazon ECR comenzó a realizar un seguimiento de los cambios en las políticas AWS gestionadas.  | 24 de junio de 2021 | 

# Uso de roles vinculados a servicios para Amazon ECR
<a name="using-service-linked-roles"></a>

Amazon Elastic Container Registry (Amazon ECR) AWS Identity and Access Management utiliza funciones [vinculadas a servicios (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) para proporcionar los permisos necesarios para utilizar las funciones de replicación y extracción de memoria caché. Un rol vinculado a un servicio es un tipo único de rol de IAM que se encuentra vinculado directamente a Amazon ECR. Amazon ECR predefine el rol vinculado a un servicio. Incluye todos los permisos que el servicio requiere para respaldar la replicación y las características de caché de su registro privado. Después de configurar la replicación o la extracción de caché de su registro, se crea automáticamente un rol vinculado a servicios en su nombre. Para obtener más información, consulte [Configuración del registro privado en Amazon ECR](registry-settings.md).

Un rol vinculado a servicios facilita la configuración de la replicación y la extracción de caché con Amazon ECR. Esto se debe a que, al usarlo, no tendrá que agregar manualmente todos los permisos necesarios. Amazon ECR define los permisos de sus roles vinculados a servicios y, a menos que esté definido de otra manera, solo Amazon ECR puede asumir sus roles. Los permisos definidos incluyen la política de confianza y la política de permisos. La política de permisos no se puede adjuntar a ninguna otra entidad de IAM.

Puede eliminar el rol vinculado a servicios correspondiente solo después de desactivar la replicación o la extracción de caché en su registro. Esto garantiza que no elimine inadvertidamente los permisos que Amazon ECR requiere para estas características.

Para obtener más información sobre otros servicios que admiten los roles vinculados a servicios, consulte [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). En esta página vinculada, busque los servicios para los que se indique **Sí **en la columna **Roles vinculados a servicios**. Elija una opción **Sí** con un enlace para ver la documentación relevante acerca del rol vinculado al servicio en cuestión.

**Topics**
+ [Regiones admitidas para los roles vinculados a servicios de Amazon ECR](#slr-regions)
+ [Rol vinculado a servicios de Amazon ECR para replicación](slr-replication.md)
+ [Rol vinculado a servicios de Amazon ECR para la caché de extracción](slr-pullthroughcache.md)
+ [Rol vinculado a servicios de Amazon ECR para plantillas de creación de repositorios](slr-rct.md)

## Regiones admitidas para los roles vinculados a servicios de Amazon ECR
<a name="slr-regions"></a>

Amazon ECR admite el uso de roles vinculados a servicios en todas las regiones en las que se encuentra disponible el servicio Amazon ECR. Para obtener más información acerca de la disponibilidad de la región de Amazon ECR, consulte [Regiones y puntos de conexión de AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html).

# Rol vinculado a servicios de Amazon ECR para replicación
<a name="slr-replication"></a>

Amazon ECR utiliza un rol vinculado a un servicio denominado que **AWSServiceRoleForECRReplication**permite a Amazon ECR replicar imágenes en varias cuentas.

## Permisos de roles vinculados a servicios para Amazon ECR
<a name="slr-permissions"></a>

El rol AWSService RoleFor ECRReplication vinculado al servicio confía en que los siguientes servicios asuman el rol:
+ `replication.ecr.amazonaws.com`

La siguiente política de permisos del rol `ECRReplicationServiceRolePolicy` permite que Amazon ECR use las siguientes acciones en los recursos:

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

****  

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

------

**nota**  
`ReplicateImage` es una API interna que Amazon ECR utiliza para la replicación y a la que no se puede llamar directamente.

Debe configurar permisos para permitir a una entidad de IAM (como, por ejemplo, un usuario, grupo o rol) crear, editar o eliminar la descripción de un rol vinculado a un servicio. Para obtener más información, consulte [Permisos de roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) en la *Guía del usuario de IAM*.

## Creación de un rol vinculado a un servicio para Amazon ECR
<a name="create-slr"></a>

No necesita crear manualmente el rol vinculado al servicio de Amazon ECR. Al configurar los ajustes de replicación para su registro en la Consola de administración de AWS AWS CLI, la o la AWS API, Amazon ECR crea automáticamente la función vinculada al servicio. 

Si elimina este rol vinculado a un servicio y necesita crearlo de nuevo, puede utilizar el mismo proceso para volver a crear el rol en su cuenta. Al configurar los parámetros de replicación para el registro, Amazon ECR crea automáticamente el rol vinculado a un servicio otra vez. 

## Edición de un rol vinculado a un servicio para Amazon ECR
<a name="edit-slr"></a>

Amazon ECR no permite editar manualmente el rol vinculado al AWSService RoleFor ECRReplication servicio. Después de crear un rol vinculado a un servicio, no puede cambiarle el nombre, ya que varias entidades pueden hacer referencia a él. Sin embargo, puede editar la descripción del rol mediante IAM. Para obtener más información, consulte [Editar un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) en la *Guía del usuario de IAM*.

## Eliminación de un rol vinculado a un servicio para Amazon ECR
<a name="delete-slr"></a>

Si ya no necesita utilizar una característica o servicio que requiere un rol vinculado a servicios, recomendamos que elimine dicho rol. De esta forma no conservará una entidad no utilizada que no se monitorice ni se mantenga de forma activa. No obstante, debe quitar la configuración de replicación del registro en cada región para poder eliminar manualmente el rol vinculado a un servicio.

**nota**  
Si intenta eliminar recursos mientras el servicio Amazon ECR sigue utilizando los roles, es posible que la acción de eliminación falle. Si eso sucede, espere unos minutos e inténtelo de nuevo.

**Para eliminar los recursos de Amazon ECR utilizados por AWSService RoleFor ECRReplication**

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, elija la región en la que está establecida la configuración de replicación.

1. En el panel de navegación, elija **Private registry (Registro privado)**.

1. En la página **Private registry** (Registro privado), en la sección **Replication configuration** (Configuración de replicación), elija **Edit** (Editar).

1. Para eliminar todas las reglas de replicación, elija **Delete all** (Eliminar todo). Este paso requiere confirmación.

**Para eliminar manualmente el rol vinculado a servicios mediante IAM**

Utilice la consola de IAM AWS CLI, la o la AWS API para eliminar la función vinculada al **AWSServiceRoleForECRReplication**servicio. Para obtener más información, consulte [Eliminación de un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) en la *Guía del usuario de IAM*.

# Rol vinculado a servicios de Amazon ECR para la caché de extracción
<a name="slr-pullthroughcache"></a>

Amazon ECR utiliza un rol vinculado a un servicio denominado **AWSServiceRoleForECRPullThroughCache**que permite a Amazon ECR realizar acciones en su nombre para completar las acciones de extracción de caché. Para obtener más información acerca de la caché de extracción, consulte [Plantillas para controlar los repositorios creados durante una acción de extracción, creación mediante inserción o replicación](repository-creation-templates.md).

## Permisos de roles vinculados a servicios para Amazon ECR
<a name="slr-pullthroughcache-permissions"></a>

El rol **AWSServiceRoleForECRPullThroughCache**vinculado al servicio confía en que el siguiente servicio asuma el rol.
+ `pullthroughcache.ecr.amazonaws.com`

**Detalles de los permisos**

La política de permisos `AWSECRPullThroughCache_ServiceRolePolicy` se adjunta al rol vinculado al servicio. Esta política administrada otorga a Amazon ECR permiso para realizar las siguientes acciones. Para obtener más información, consulte [`AWSECRPullThroughCache_ServiceRolePolicy`](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy).
+ `ecr`: permite que el servicio Amazon ECR inserte y extraiga imágenes a un repositorio privado.
+ `secretsmanager:GetSecretValue`— Permite que el servicio Amazon ECR recupere el contenido cifrado de un AWS Secrets Manager secreto. Esto es necesario cuando se utiliza una regla de caché de extracción para almacenar en caché las imágenes de un registro anterior que requiere autenticación en un registro privado. Este permiso solo se aplica a los secretos con el prefijo de nombre `ecr-pullthroughcache/`.

La política `AWSECRPullThroughCache_ServiceRolePolicy` contiene los siguientes JSON.

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

****  

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

------

Debe configurar permisos para permitir a una entidad de IAM (como, por ejemplo, un usuario, grupo o rol) crear, editar o eliminar la descripción de un rol vinculado a un servicio. Para obtener más información, consulte [Permisos de roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) en la *Guía del usuario de IAM*.

## Creación de un rol vinculado a un servicio para Amazon ECR
<a name="slr-pullthroughcache-create"></a>

No es necesario crear manualmente el rol vinculado a servicios de Amazon ECR para la extracción de caché. Cuando crea una regla de extracción de caché para su registro privado en la Consola de administración de AWS, la AWS CLI o la AWS API, Amazon ECR crea automáticamente la función vinculada al servicio. 

Si elimina este rol vinculado a un servicio y necesita crearlo de nuevo, puede utilizar el mismo proceso para volver a crear el rol en su cuenta. Cuando crea una regla de caché de extracción para su registro privado, Amazon ECR crea el rol vinculado a servicios nuevamente para usted si aún no existe.

## Edición de un rol vinculado a un servicio para Amazon ECR
<a name="slr-pullthroughcache-edit"></a>

Amazon ECR no permite editar manualmente el rol vinculado al **AWSServiceRoleForECRPullThroughCache**servicio. Una vez creado el rol vinculado a servicios, no puede cambiar el nombre del rol porque varias entidades pueden hacer referencia a este. Sin embargo, puede editar la descripción del rol mediante IAM. Para obtener más información, consulte [Editar un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) en la *Guía del usuario de IAM*.

## Eliminación de un rol vinculado a un servicio para Amazon ECR
<a name="slr-pullthroughcache-delete"></a>

Si ya no necesita utilizar una característica o servicio que requiere un rol vinculado a servicios, recomendamos que elimine dicho rol. De esta forma no conservará una entidad no utilizada que no se monitorice ni se mantenga de forma activa. No obstante, debe eliminar las reglas de caché de extracción para su registro en cada región antes de poder eliminar manualmente el rol vinculado a servicios.

**nota**  
Si intenta eliminar recursos mientras el servicio Amazon ECR sigue utilizando el rol, es posible que la acción de eliminación falle. Si eso sucede, espere unos minutos e inténtelo de nuevo.

**Para eliminar los recursos de Amazon ECR utilizados por el rol vinculado a servicios **AWSServiceRoleForECRPullThroughCache**:**

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, elija la región donde se crean las reglas de caché de extracción.

1. En el panel de navegación, elija **Private registry (Registro privado)**.

1. En la página **Private registry** (Registro privado), en la sección **Pull through cache configuration** (Configuración de la caché de extracción), elija **Edit** (Editar).

1. Para cada regla de caché de extracción que haya creado, seleccione la regla y, a continuación, elija **Delete rule** (Eliminar regla).

**Para eliminar manualmente el rol vinculado a servicios mediante IAM**

Utilice la consola de IAM AWS CLI, la o la AWS API para eliminar la función vinculada al **AWSServiceRoleForECRPullThroughCache**servicio. Para obtener más información, consulte [Eliminación de un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) en la *Guía del usuario de IAM*.

# Rol vinculado a servicios de Amazon ECR para plantillas de creación de repositorios
<a name="slr-rct"></a>

Amazon ECR utiliza un rol vinculado a un servicio denominado **AWSServiceRoleForECRTemplate**que permite a Amazon ECR realizar acciones en su nombre para completar las acciones de la plantilla de creación de repositorios.

## Permisos de roles vinculados a servicios para Amazon ECR
<a name="slr-rct-permissions"></a>

El rol **AWSServiceRoleForECRTemplate**vinculado al servicio confía en que el siguiente servicio asuma el rol.
+ `ecr.amazonaws.com`

**Detalles de los permisos**

La política de permisos ``ECRTemplateServiceRolePolicy`` se adjunta al rol vinculado al servicio. Esta política administrada da permiso a Amazon ECR para llevar a cabo acciones de creación de repositorios en su nombre.

La política `ECRTemplateServiceRolePolicy` contiene los siguientes JSON.

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

****  

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

------

Debe configurar permisos para permitir a una entidad de IAM (como, por ejemplo, un usuario, grupo o rol) crear, editar o eliminar la descripción de un rol vinculado a un servicio. Para obtener más información, consulte [Permisos de roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) en la *Guía del usuario de IAM*.

## Creación de un rol vinculado a un servicio para Amazon ECR
<a name="slr-rct-create"></a>

No necesita crear manualmente el rol vinculado al servicio de Amazon ECR para plantillas de creación de repositorios. Cuando crea una regla de plantilla de creación de repositorios para su registro privado en la Consola de administración de AWS AWS CLI, la o la AWS API, Amazon ECR crea automáticamente la función vinculada al servicio. 

Si elimina este rol vinculado a un servicio y necesita crearlo de nuevo, puede utilizar el mismo proceso para volver a crear el rol en su cuenta. Cuando crea una regla de creación de repositorios para su registro privado, Amazon ECR crea el rol vinculado a servicios nuevamente para usted si aún no existe.

## Edición de un rol vinculado a un servicio para Amazon ECR
<a name="slr-rct-edit"></a>

Amazon ECR no permite editar manualmente el rol vinculado al **AWSServiceRoleForECRTemplate**servicio. Una vez creado el rol vinculado a servicios, no puede cambiar el nombre del rol porque varias entidades pueden hacer referencia a este. Sin embargo, puede editar la descripción del rol mediante IAM. Para obtener más información, consulte [Editar un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) en la *Guía del usuario de IAM*.

## Eliminación de un rol vinculado a un servicio para Amazon ECR
<a name="slr-rct-delete"></a>

Si ya no necesita utilizar una característica o servicio que requiere un rol vinculado a servicios, recomendamos que elimine dicho rol. De esta forma no conservará una entidad no utilizada que no se monitorice ni se mantenga de forma activa. No obstante, debe eliminar las reglas de creación de repositorios para su registro en cada región antes de poder eliminar manualmente el rol vinculado a servicios.

**nota**  
Si intenta eliminar recursos mientras el servicio Amazon ECR sigue utilizando el rol, es posible que la acción de eliminación falle. Si eso sucede, espere unos minutos e inténtelo de nuevo.

**Para eliminar los recursos de Amazon ECR utilizados por el rol vinculado a servicios **AWSServiceRoleForECRTemplate**:**

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, elija la región en la que va a crear las reglas de creación de repositorios.

1. En el panel de navegación, elija **Private registry (Registro privado)**.

1. En la página **Registro privado**, en la sección **Planillas de creación de repositorios**, elija **Editar**.

1. Para cada regla de creación de repositorios que haya creado, seleccione la regla y, a continuación, elija **Eliminar regla**.

**Para eliminar manualmente el rol vinculado a servicios mediante IAM**

Utilice la consola de IAM AWS CLI, la o la AWS API para eliminar la función vinculada al **AWSServiceRoleForECRTemplate**servicio. Para obtener más información, consulte [Eliminación de un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) en la *Guía del usuario de IAM*.

# Solución de problemas de identidad y acceso para Amazon Elastic Container Registry
<a name="security_iam_troubleshoot"></a>

Utilice la siguiente información para diagnosticar y solucionar los problemas habituales que es posible que surjan cuando se trabaja con Amazon ECR e IAM.

**Topics**
+ [No tengo autorización para realizar una acción en Amazon ECR](#security_iam_troubleshoot-no-permissions)
+ [No estoy autorizado a realizar lo siguiente: PassRole](#security_iam_troubleshoot-passrole)
+ [Quiero permitir que personas ajenas a mí accedan Cuenta de AWS a mis recursos de Amazon ECR](#security_iam_troubleshoot-cross-account-access)

## No tengo autorización para realizar una acción en Amazon ECR
<a name="security_iam_troubleshoot-no-permissions"></a>

Si recibe un error que indica que no tiene autorización para realizar una acción, las políticas se deben actualizar para permitirle realizar la acción.

En el siguiente ejemplo, el error se produce cuando el usuario de IAM `mateojackson` intenta utilizar la consola para consultar los detalles acerca de un recurso ficticio `my-example-widget`, pero no tiene los permisos ficticios `ecr:GetWidget`.

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

En este caso, la política del usuario `mateojackson` debe actualizarse para permitir el acceso al recurso `my-example-widget` mediante la acción `ecr:GetWidget`.

Si necesita ayuda, póngase en contacto con su administrador. AWS El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## No estoy autorizado a realizar lo siguiente: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si recibe un error que indica que no tiene autorización para realizar la acción `iam:PassRole`, sus políticas deben actualizarse a fin de permitirle pasar un rol a Amazon ECR.

Algunas Servicios de AWS permiten transferir una función existente a ese servicio en lugar de crear una nueva función de servicio o una función vinculada al servicio. Para ello, debe tener permisos para transferir la función al servicio.

En el siguiente ejemplo, el error se produce cuando un usuario de IAM denominado `marymajor` intenta utilizar la consola para realizar una acción en Amazon ECR. Sin embargo, la acción requiere que el servicio cuente con permisos que otorguen un rol de servicio. Mary no tiene permisos para transferir el rol al servicio.

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

En este caso, las políticas de Mary se deben actualizar para permitirle realizar la acción `iam:PassRole`.

Si necesita ayuda, póngase en contacto con su AWS administrador. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## Quiero permitir que personas ajenas a mí accedan Cuenta de AWS a mis recursos de Amazon ECR
<a name="security_iam_troubleshoot-cross-account-access"></a>

Se puede crear un rol que los usuarios de otras cuentas o las personas externas a la organización puedan utilizar para acceder a sus recursos. Se puede especificar una persona de confianza para que asuma el rol. En el caso de los servicios que admiten políticas basadas en recursos o listas de control de acceso (ACLs), puede utilizar esas políticas para permitir que las personas accedan a sus recursos.

Para obtener más información, consulte lo siguiente:
+ Para saber si Amazon ECR admite estas características, consulte [Cómo funciona Amazon Elastic Container Registry con IAM](security_iam_service-with-iam.md).
+ Para obtener información sobre cómo proporcionar acceso a los recursos de su Cuentas de AWS propiedad, consulte [Proporcionar acceso a un usuario de IAM en otro de su propiedad en la Cuenta de AWS Guía del usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) de *IAM*.
+ Para obtener información sobre cómo proporcionar acceso a tus recursos a terceros Cuentas de AWS, consulta Cómo [proporcionar acceso a recursos que Cuentas de AWS son propiedad de terceros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) en la Guía del usuario de *IAM*.
+ Para obtener información sobre cómo proporcionar acceso mediante una federación de identidades, consulte [Proporcionar acceso a usuarios autenticados externamente (identidad federada)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) en la *Guía del usuario de IAM*.
+ Para conocer sobre la diferencia entre las políticas basadas en roles y en recursos para el acceso entre cuentas, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

# Protección de los datos en Amazon ECR
<a name="data-protection"></a>

El [modelo de ](https://aws.amazon.com/compliance/shared-responsibility-model/) se aplica a protección de datos en Amazon Elastic Container Service. Como se describe en este modelo, AWS es responsable de proteger la infraestructura global en la que se ejecutan todos los Nube de AWS. Eres responsable de mantener el control sobre el contenido alojado en esta infraestructura. También eres responsable de las tareas de administración y configuración de seguridad para los Servicios de AWS que utiliza. Para obtener más información sobre la privacidad de los datos, consulte las [Preguntas frecuentes sobre la privacidad de datos](https://aws.amazon.com/compliance/data-privacy-faq/). Para obtener información sobre la protección de datos en Europa, consulte la publicación de blog sobre el [Modelo de responsabilidad compartida de AWS y GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) en el * Blog de seguridad de AWS *.

Con fines de protección de datos, le recomendamos que proteja Cuenta de AWS las credenciales y configure los usuarios individuales con AWS IAM Identity Center o AWS Identity and Access Management (IAM). De esta manera, solo se otorgan a cada usuario los permisos necesarios para cumplir sus obligaciones laborales. También recomendamos proteger sus datos de la siguiente manera:
+ Utiliza la autenticación multifactor (MFA) en cada cuenta.
+ Se utiliza SSL/TLS para comunicarse con AWS los recursos. Exigimos TLS 1.2 y recomendamos TLS 1.3.
+ Configure la API y el registro de actividad de los usuarios con AWS CloudTrail. Para obtener información sobre el uso de CloudTrail senderos para capturar AWS actividades, consulte [Cómo trabajar con CloudTrail senderos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) en la *Guía del AWS CloudTrail usuario*.
+ Utilice soluciones de AWS cifrado, junto con todos los controles de seguridad predeterminados Servicios de AWS.
+ Utiliza servicios de seguridad administrados avanzados, como Amazon Macie, que lo ayuden a detectar y proteger la información confidencial almacenada en Amazon S3.
+ Si necesita módulos criptográficos validados por FIPS 140-3 para acceder a AWS través de una interfaz de línea de comandos o una API, utilice un punto final FIPS. Para obtener más información sobre los puntos de conexión de FIPS disponibles, consulte [Estándar de procesamiento de la información federal (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Se recomienda encarecidamente no introducir nunca información confidencial o sensible, como por ejemplo, direcciones de correo electrónico de clientes, en etiquetas o campos de formato libre, tales como el campo **Nombre**. Esto incluye cuando trabaja con Amazon ECS u otro Servicios de AWS dispositivo mediante la consola AWS CLI, la API o AWS SDKs. Cualquier dato que introduzca en etiquetas o campos de formato libre utilizados para los nombres se pueden emplear para los registros de facturación o diagnóstico. Si proporciona una URL a un servidor externo, recomendamos encarecidamente que no incluya la información de las credenciales en la URL para validar la solicitud para ese servidor.

**Topics**
+ [Cifrado en reposo](encryption-at-rest.md)

# Cifrado en reposo
<a name="encryption-at-rest"></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) 

Amazon ECR almacena imágenes en depósitos de Amazon S3 que administra Amazon ECR. De forma predeterminada, Amazon ECR utiliza el cifrado del lado del servidor con claves de cifrado administradas por Amazon S3 que cifran los datos en reposo mediante un algoritmo de cifrado AES-256. Esto no requiere ninguna acción por su parte y no conlleva ningún cargo adicional. Para obtener más información, consulte [Protecting Data Using Server-Side Encryption with Amazon S3-Managed Encryption Keys (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) (Protección de datos mediante el cifrado que se ejecuta en el servidor con las claves de cifrado administradas por Amazon S3 [SSE-S3]) en la *Guía del usuario de Amazon Simple Storage Service*.

Para tener más control sobre el cifrado de sus repositorios de Amazon ECR, puede utilizar el cifrado del lado del servidor con claves de KMS almacenadas en (). AWS Key Management Service AWS KMS Al cifrar AWS KMS los datos, puede utilizar la predeterminada, que gestiona Amazon ECR Clave administrada de AWS, o especificar su propia clave de KMS (denominada clave gestionada por el cliente). Para obtener más información, consulte [Protección de datos mediante el cifrado del lado del servidor con claves de KMS almacenadas en AWS KMS (SSE-KMS) en la Guía del usuario](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) de *Amazon Simple Storage Service*.

 Puede optar por aplicar dos capas de cifrado a sus imágenes de Amazon ECR mediante el cifrado de doble capa del lado del servidor con (). AWS KMS DSSE-KMS DSSE-KMSLa opción es similar aSSE-KMS, pero aplica dos capas individuales de cifrado en lugar de una capa. Para obtener más información, consulte [Uso del cifrado de doble capa del lado del servidor con AWS KMS claves (DSSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingDSSEncryption.html)).

Cada repositorio de Amazon ECR tiene una configuración de cifrado, que se establece cuando este se crea. En cada repositorio se pueden utilizar diferentes configuraciones de cifrado. Para obtener más información, consulte [Creación de un repositorio privado de Amazon ECR para almacenar imágenes](repository-create.md).

Cuando se crea un repositorio con el AWS KMS cifrado activado, se utiliza una clave KMS para cifrar el contenido del repositorio. Además, Amazon ECR añade una AWS KMS concesión a la clave de KMS con el repositorio Amazon ECR como principal beneficiario.

A continuación se proporciona una descripción de alto nivel sobre cómo Amazon ECR se integra con AWS KMS para cifrar y descifrar sus repositorios:

1. Al crear un repositorio, Amazon ECR envía una [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)llamada AWS KMS a para validar y recuperar el nombre de recurso de Amazon (ARN) de la clave de KMS especificada en la configuración de cifrado.

1. Amazon ECR envía dos [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitudes AWS KMS para crear concesiones en la clave de KMS para que Amazon ECR pueda cifrar y descifrar datos mediante la clave de datos.

1. Al insertar una imagen, se envía una [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)solicitud en la que se especifica la clave KMS AWS KMS que se utilizará para cifrar la capa de imágenes y el manifiesto.

1. AWS KMS genera una nueva clave de datos, la cifra con la clave KMS especificada y envía la clave de datos cifrada para que se almacene junto con los metadatos de la capa de imágenes y el manifiesto de la imagen.

1. Al extraer una imagen, se envía una solicitud de [descifrado](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) AWS KMS, especificando la clave de datos cifrados.

1. AWS KMS descifra la clave de datos cifrada y envía la clave de datos descifrados a Amazon S3.

1. La clave de datos se utiliza para descifrar la capa de imagen antes de que esta se extraiga.

1. Cuando se elimina un repositorio, Amazon ECR envía dos [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)solicitudes AWS KMS para retirar las concesiones creadas para el repositorio.

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

Se deben tener en cuenta los siguientes puntos al utilizar el cifrado AWS KMS basado (SSE-KMSoDSSE-KMS) con Amazon ECR.
+ Si crea su repositorio de Amazon ECR con cifrado de KMS y no especifica una clave de KMS, Amazon ECR utiliza una Clave administrada de AWS con el alias de forma `aws/ecr` predeterminada. Esta clave KMS se crea en su cuenta la primera vez que crea un repositorio con cifrado KMS habilitado.
+  La configuración de cifrado del repositorio no se puede cambiar después de que se haya creado un repositorio. 
+ Cuando utiliza el cifrado KMS con su propia clave KMS, la clave debe existir en la misma región que el repositorio.
+ No se deben revocar las concesiones que Amazon ECR crea en su nombre. Si revoca la autorización que autoriza a Amazon ECR a utilizar las AWS KMS claves de su cuenta, Amazon ECR no podrá acceder a estos datos, cifrar las nuevas imágenes introducidas en el repositorio ni descifrarlas cuando se extraigan. Al revocar una concesión para Amazon ECR, el cambio se produce inmediatamente. Para revocar derechos de acceso, debe eliminar el repositorio en lugar de revocar la concesión. Cuando se elimina un repositorio, Amazon ECR retira las concesiones en su nombre.
+ El uso de las claves conlleva un coste. AWS KMS Para obtener más información, consulte [Precios de AWS Key Management Service](https://aws.amazon.com/kms/pricing/).
+ Utilizar el cifrado del servidor de doble capa conlleva un costo asociado. Para obtener más información, consulte los [Precios de Amazon ECR](https://aws.amazon.com/ecr/pricing/)

## Permisos de IAM necesarios
<a name="encryption-at-rest-iam"></a>

Al crear o eliminar un repositorio de Amazon ECR con cifrado del lado del servidor mediante AWS KMS, los permisos necesarios dependen de la clave KMS específica utilice. 

### Permisos de IAM necesarios cuando se utiliza Clave administrada de AWS para Amazon ECR
<a name="encryption-aws-managed-key"></a>

De forma predeterminada, cuando el AWS KMS cifrado está habilitado para un repositorio de Amazon ECR pero no se especifica ninguna clave de KMS, se utiliza la Clave administrada de AWS de Amazon ECR. Cuando la clave AWS de KMS administrada para Amazon ECR se usa para cifrar un repositorio, cualquier responsable que tenga permiso para crear un repositorio también puede habilitar el AWS KMS cifrado en el repositorio. No obstante, la entidad de seguridad de IAM que elimina el repositorio debe tener el permiso `kms:RetireGrant`. Esto permite retirar las concesiones que se agregaron a la AWS KMS clave cuando se creó el repositorio.

El siguiente ejemplo de política de IAM se puede agregar como política insertada a un usuario para asegurarse de que tiene los permisos mínimos necesarios para eliminar un repositorio que tenga habilitado el cifrado. La clave KMS utilizada para cifrar el repositorio se puede especificar mediante el parámetro de recurso.

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

****  

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

------

### Permisos de IAM necesarios cuando se utiliza una clave administrada por el cliente
<a name="encryption-customer-managed-key"></a>

Al crear un repositorio con el AWS KMS cifrado habilitado mediante una clave administrada por el cliente, se requieren permisos tanto para la política de claves de KMS como para la política de IAM para el usuario o rol que crea el repositorio.

Al crear su propia clave KMS, puede usar la política de clave AWS KMS predeterminada o especificar la suya propia. Para garantizar que el propietario de la cuenta siga siendo administrable por el propietario de la cuenta, la política de claves de la clave KMS debe permitir todas AWS KMS las acciones del usuario raíz de la cuenta. Es posible que se agreguen permisos de ámbito adicionales a la política de clave, pero como mínimo se le deben dar permisos al usuario raíz para administrar la clave KMS. Para permitir que la clave KMS se use solo para las solicitudes que se originan en Amazon ECR, puede usar la [clave de ViaService condición kms:](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) con el `ecr.<region>.amazonaws.com` valor.

El siguiente ejemplo de política de claves otorga a la AWS cuenta (usuario raíz) propietaria de la clave de KMS acceso total a la clave de KMS. Para obtener más información sobre este ejemplo de política clave, consulte Permitir [el acceso a la AWS cuenta y Habilitar las políticas de IAM](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) en la *Guía para AWS Key Management Service desarrolladores*.

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

****  

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

------

El usuario de IAM, el rol de IAM o la AWS cuenta que crea los repositorios debe tener el `kms:DescribeKey` permiso y `kms:CreateGrant``kms:RetireGrant`, además de los permisos de Amazon ECR necesarios.

**nota**  
El permiso `kms:RetireGrant` se debe agregar a la política de IAM del usuario o rol que crea el repositorio. Los permisos `kms:CreateGrant` y `kms:DescribeKey` se pueden agregar a la política de clave para la clave KMS, o a la política de IAM del usuario o rol que crea el repositorio. *Para obtener más información sobre cómo funcionan AWS KMS los permisos, consulte la [referencia sobre permisos de AWS KMS API: acciones y recursos](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) en la Guía para desarrolladores.AWS Key Management Service *

El siguiente ejemplo de política de IAM se puede agregar como política insertada a un usuario, para asegurarse de que tiene los permisos mínimos necesarios para crear un repositorio que tenga habilitado el cifrado y borrarlo cuando haya terminado de utilizarlo. La AWS KMS key utilizada para cifrar el repositorio se puede especificar mediante el parámetro de recurso.

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

****  

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

------

### Habilitación de un usuario para mostrar una lista de claves KMS en la consola al crear un repositorio
<a name="encryption-at-rest-iam-example"></a>

Cuando utilice la consola de Amazon ECR para crear un repositorio, puede conceder permisos para permitir que un usuario publique las claves KMS administradas por el cliente en la región al habilitar el cifrado para el repositorio. En el siguiente ejemplo de política de IAM se muestran los permisos necesarios para mostrar una lista de las claves KMS y alias cuando se utiliza la consola.

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

****  

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

------

## Supervisión de la interacción de Amazon ECR con AWS KMS
<a name="encryption-at-rest-monitoring"></a>

Puede utilizarla AWS CloudTrail para realizar un seguimiento de las solicitudes que Amazon ECR envía AWS KMS en su nombre. Las entradas de registro del CloudTrail registro contienen una clave de contexto de cifrado para que sean más fáciles de identificar.

### Contexto de cifrado de Amazon ECR
<a name="ecr-encryption-context"></a>

Un *contexto de cifrado* es un conjunto de pares de clave-valor que contiene datos no secretos arbitrarios. Al incluir un contexto de cifrado en una solicitud de cifrado de datos, vincula AWS KMS criptográficamente el contexto de cifrado a los datos cifrados. Para descifrar los datos, es necesario pasar el mismo contexto de cifrado. 

En sus solicitudes [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)y en las de [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) AWS KMS, Amazon ECR utiliza un contexto de cifrado con dos pares de nombre-valor que identifican el repositorio y el bucket de Amazon S3 que se utilizan. Esto se muestra en el siguiente ejemplo. Los nombres no varían, pero los valores de contexto de cifrado combinado serán diferentes para cada valor.

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

Puede usar el contexto de cifrado para identificar estas operaciones criptográficas en registros y registros de auditoría, como [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)Amazon CloudWatch Logs, y como condición para la autorización en políticas y concesiones.

El contexto de cifrado de Amazon ECR se compone de dos pares de nombre-valor.
+ **aws:s3:arn**: el primer par de nombre-valor identifica el bucket. La clave es `aws:s3:arn`. El valor es el Nombre de recurso de Amazon (ARN) del bucket de Amazon S3.

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

  Por ejemplo, si el ARN del bucket fuera `arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df`, el contexto de cifrado incluiría el siguiente par.

  ```
  "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df"
  ```
+ **aws:ecr:arn**: el segundo par de nombre-valor identifica el Nombre de recurso de Amazon (ARN) del repositorio. La clave es `aws:ecr:arn`. El valor representa el ARN del proyecto.

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

  Por ejemplo, si el ARN del repositorio fuera `arn:aws:ecr:us-west-2:111122223333:repository/repository-name`, el contexto de cifrado incluiría el siguiente par.

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

## Resolución de problemas
<a name="encryption-at-rest-troubleshooting"></a>

Al eliminar un repositorio de Amazon ECR con la consola, si el repositorio se elimina correctamente pero Amazon ECR no puede retirar las concesiones agregadas a la clave KMS para su repositorio, recibirá el siguiente error.

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

Cuando esto ocurra, podrá retirar usted mismo las AWS KMS subvenciones para el repositorio.

**Para retirar manualmente AWS KMS las subvenciones para un repositorio**

1. Enumere las concesiones para la AWS KMS clave utilizada para el repositorio. El valor `key-id` se incluye en el error que recibe de la consola. También puede usar el `list-keys` comando para enumerar las claves de KMS Claves administradas por AWS y las administradas por el cliente en una región específica de su cuenta.

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

   La salida incluye un elemento `EncryptionContextSubset` con el Nombre de recurso de Amazon (ARN) del repositorio. Esto se puede utilizar para determinar qué concesión agregada a la clave es la que desea retirar. En el siguiente paso se usará el valor `GrantId` al retirar la concesión.

1. Retira cada concesión de la AWS KMS clave agregada al repositorio. Sustituya el valor for por *GrantId* el ID de la concesión del resultado del paso anterior.

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

# Validación de conformidad para Amazon Elastic Container Registry
<a name="ecr-compliance"></a>

Para saber si uno Servicio de AWS está dentro del ámbito de aplicación de programas de cumplimiento específicos, consulte [Servicios de AWS Alcance por programa de cumplimiento Servicios de AWS](https://aws.amazon.com/compliance/services-in-scope/) de cumplimiento y elija el programa de cumplimiento que le interese. Para obtener información general, consulte Programas de [AWS cumplimiento > Programas AWS](https://aws.amazon.com/compliance/programs/) .

Puede descargar informes de auditoría de terceros utilizando AWS Artifact. Para obtener más información, consulte [Descarga de informes en AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Su responsabilidad de cumplimiento al Servicios de AWS utilizarlos viene determinada por la confidencialidad de sus datos, los objetivos de cumplimiento de su empresa y las leyes y reglamentos aplicables. Para obtener más información sobre su responsabilidad de conformidad al utilizarlos Servicios de AWS, consulte [AWS la documentación de seguridad](https://docs.aws.amazon.com/security/).

# Seguridad de la infraestructura en Amazon Elastic Container Registry
<a name="infrastructure-security"></a>

Como servicio gestionado, Amazon Elastic Container Registry está protegido por la seguridad de la red AWS global. Para obtener información sobre los servicios AWS de seguridad y cómo se AWS protege la infraestructura, consulte [Seguridad AWS en la nube](https://aws.amazon.com/security/). Para diseñar su AWS entorno utilizando las mejores prácticas de seguridad de la infraestructura, consulte [Protección de infraestructuras en un marco](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) de buena * AWS arquitectura basado en el pilar de la seguridad*.

Utiliza las llamadas a la API AWS publicadas para acceder a Amazon ECR a través de la red. Los clientes deben admitir lo siguiente:
+ Seguridad de la capa de transporte (TLS). Exigimos TLS 1.2 y recomendamos TLS 1.3.
+ Conjuntos de cifrado con confidencialidad directa total (PFS) como DHE (Ephemeral Diffie-Hellman) o ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). La mayoría de los sistemas modernos como Java 7 y posteriores son compatibles con estos modos.

Puede llamar a estas operaciones de la API desde cualquier ubicación de red, pero Amazon ECR admite políticas de acceso basadas en recursos, que pueden incluir restricciones en función de la dirección IP de origen. También puede utilizar las políticas de Amazon ECR para controlar el acceso desde puntos de enlace específicos o específicos de Amazon Virtual Private Cloud (Amazon VPC). VPCs En efecto, esto aísla el acceso a la red a un recurso de Amazon ECR determinado únicamente de la VPC específica de la red. AWS Para obtener más información, consulte [Puntos de enlace de VPC de la interfaz Amazon ECR ()AWS PrivateLink](vpc-endpoints.md).

# Puntos de enlace de VPC de la interfaz Amazon ECR ()AWS PrivateLink
<a name="vpc-endpoints"></a>

Para mejorar la posición de seguridad de su VPC, configure Amazon ECR para que utilice un punto de enlace de la VPC de tipo interfaz. Los puntos de enlace de VPC funcionan con una tecnología que le permite acceder de forma privada a Amazon ECR a APIs través de direcciones IP privadas (ambas). AWS PrivateLink IPv4 IPv6 AWS PrivateLink restringe todo el tráfico de red entre la VPC y Amazon ECR a la red de Amazon. No necesita una gateway de Internet, un dispositivo NAT ni una gateway privada virtual.

*Para obtener más información sobre AWS PrivateLink los puntos de enlace de VPC, consulte los puntos de enlace de [VPC en la Guía del usuario](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) de Amazon VPC.*

## Consideraciones para los puntos de enlace de la VPC de Amazon ECR
<a name="ecr-vpc-endpoint-considerations"></a>

Antes de configurar los puntos de enlace de la VPC para Amazon ECR, debe tener en cuenta las consideraciones siguientes.
+ Para permitir que las tareas de Amazon ECS alojadas en instancias de Amazon EC2 extraigan imágenes privadas de Amazon ECR, cree también los puntos de conexión de VPC de tipo interfaz para Amazon ECS. Para obtener más información, consulte [Interface VPC Endpoints (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) en la Guía para desarrolladores de *Amazon Elastic Container Service*.
+ Las tareas de Amazon ECS alojadas en Fargate que extraen imágenes de contenedor de Amazon ECR pueden restringir el acceso a la VPC específica que utilizan las tareas y al punto de enlace de la VPC que utiliza el servicio. Para ello, se agregan claves de condición al rol de IAM de ejecución de tareas para la tarea. Para obtener más información, consulte [Permisos de IAM opcionales para tareas de Fargate que extraen imágenes de Amazon ECR sobre puntos de enlace de interfaz](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.
+ El grupo de seguridad asociado al punto de conexión de VPC debe permitir las conexiones entrantes en el puerto 443 desde la subred privada de la VPC.
+ Los puntos de enlace de VPC de Amazon ECR admiten conectividad de doble pila IPv4 (y). IPv6 Al crear un punto final de VPC de doble pila, puede gestionar el tráfico IPv4 tanto en direcciones IP como en direcciones IPv6 IP privadas.
+ Los puntos de enlace de VPC admiten los repositorios públicos de Amazon ECR a través del punto de enlace del SDK de la AWS API en EE. UU. Este (Virginia del Norte). 
+ Los puntos de enlace de VPC solo admiten el DNS AWS proporcionado a través de Amazon Route 53. Si desea utilizar su propio DNS, puede utilizar el enrutamiento de DNS condicional. Para obtener más información, consulte [Conjuntos de opciones de DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) en la *Guía del usuario de Amazon VPC*.
+ Si los contenedores tienen conexiones existentes a Amazon S3, sus conexiones podrían interrumpirse brevemente al agregar el punto de enlace de gateway de Amazon S3. Si desea evitar dicha interrupción, cree una nueva VPC que utilice el punto de enlace de gateway de Amazon S3 y luego migre el clúster de Amazon ECS y sus contenedores a la nueva VPC.
+ Cuando se extrae una imagen mediante una regla de caché de extracción por primera vez, si ha configurado Amazon ECR para usar un punto de conexión de VPC de interfaz mediante AWS PrivateLink , entonces necesita crear una subred pública en la misma VPC, con una puerta de enlace NAT y, luego, dirigir todo el tráfico saliente a Internet desde su subred privada a la puerta de enlace NAT para que funcione la extracción. Las extracciones de imágenes posteriores no requieren esto. Para obtener más información, consulte [Escenario: acceso a Internet desde una subred privada](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#public-nat-internet-access) en la *Guía del usuario de Amazon Virtual Private Cloud*.
+ Para las cargas de trabajo que requieren módulos criptográficos validados por FIPS 140-3, Amazon ECR admite puntos de enlace FIPS para puntos de enlace de VPC.

### Consideraciones sobre las imágenes de Windows
<a name="ecr-vpc-endpoint-windows-considerations"></a>

Las imágenes basadas en el sistema operativo Windows incluyen artefactos cuya distribución está restringida por licencia. De forma predeterminada, al insertar imágenes de Windows a un repositorio de Amazon ECR, las capas que incluyen estos artefactos no se insertan, ya que se consideran *capas externas*. Cuando Microsoft proporciona los artefactos, las capas externas se recuperan de la infraestructura de Microsoft Azure. Por este motivo, para habilitar a los contenedores a de modo que puedan extraer estas capas externas de Azure, además de crear los puntos de enlace de la VPC se necesitarán completar más pasos.

Es posible anular este comportamiento al insertar imágenes de Windows a Amazon ECR mediante la marca `--allow-nondistributable-artifacts` en el daemon de Docker. Cuando se habilita, esta marca insertará las capas con licencia a Amazon ECR, lo que permite extraer estas imágenes de Amazon ECR a través del punto de enlace de la VPC sin que se necesite acceso adicional a Azure.

**importante**  
El uso de la marca `--allow-nondistributable-artifacts` no excluye su obligación de cumplir con los términos de la licencia de imagen base de contenedor de Windows; no puede publicar contenido de Windows para redistribución pública o de terceros. Se permite el uso dentro de su propio entorno.

Para habilitar el uso de esta marca para la instalación de Docker, debe modificar el archivo de configuración del daemon de Docker que, en función de la instalación de Docker, normalmente se puede configurar en el menú de configuración o preferencias de la sección **Docker Engine** (Motor de Docker) o editando el archivo `C:\ProgramData\docker\config\daemon.json` directamente.

A continuación, mostramos un ejemplo de la configuración requerida. Reemplace el valor por el URI del repositorio al que está enviando imágenes.

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

Después de modificar el archivo de configuración del daemon de Docker, debe reiniciar este daemon antes de intentar insertar la imagen. Confirme que la inserción ha funcionado verificando que la capa base se ha integrado con su repositorio.

**nota**  
Las capas base de las imágenes de Windows son grandes. El tamaño de la capa se traducirá en un mayor tiempo de inserción y en que estas imágenes conllevarán costos de almacenamiento adicionales en Amazon ECR. Por estas razones, se recomienda utilizar esta opción únicamente cuando sea estrictamente necesario reducir los tiempos de compilación y los costos de almacenamiento continuos. Por ejemplo, la imagen `mcr.microsoft.com/windows/servercore` tiene un tamaño aproximado de 1,7 GiB cuando se comprime en Amazon ECR.

## Creación de puntos de enlace de la VPC para Amazon ECR
<a name="ecr-setting-up-vpc-create"></a>

Para crear los puntos de enlace de la VPC para el servicio Amazon ECR, utilice el procedimiento [Creación de un punto de enlace de interfaz](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) en la *Guía del usuario de Amazon VPC*.

Los puntos de enlace de VPC de Amazon ECR admiten conectividad de doble pila IPv4 (y). IPv6 Al crear un punto final de VPC de doble pila, gestiona automáticamente el tráfico IPv4 tanto en direcciones IP como en direcciones IPv6 IP privadas. El punto final enrutará el tráfico mediante la versión de IP adecuada en función de la configuración de red del cliente y de las capacidades del punto final.

Si ya tiene puntos de enlace IPv4 de VPC exclusivos y desea migrar a puntos de enlace de doble pila, puede modificar los puntos de enlace existentes para admitir la conectividad de doble pila o crear nuevos puntos de enlace de doble pila. Al crear o modificar puntos de conexión, asegúrese de que la VPC y las subredes sean compatibles con la versión de IP que desee utilizar. Después de crear puntos de enlace de doble pila, los puntos de enlace admitirán tanto como. IPv4 IPv6

Las tareas de Amazon ECS alojadas en instancias de Amazon EC2 requieren los puntos de enlace de Amazon ECR y el punto de enlace de gateway de Amazon S3.

Las tareas de Amazon ECS alojadas en Fargate que utilizan la versión de la plataforma `1.4.0`, o una posterior, requieren los puntos de enlace de la VPC de Amazon ECR y los de gateway de Amazon S3.

**Las tareas de Amazon ECS alojadas en Fargate que utilizan una versión de plataforma `1.3.0` o anterior solo requieren com.amazonaws. *region*.ecr.dkr** Punto de enlace de VPC Amazon ECR y puntos de enlace de puerta de enlace Amazon S3.

**nota**  
El orden en el que se crean los puntos de enlace no importa.

**com.amazonaws. *region*.ecr.dkr**  
Este punto final se utiliza para el registro de Docker. APIs Los comandos del cliente de Docker como `push` y `pull` utilizan este punto de conexión.  
Al crear este punto de enlace, debe habilitar un nombre de host de DNS privado. Para ello, asegúrese de que la opción **Enable Private DNS Name** (Habilitar nombre de DNS privado) está seleccionada en la consola de Amazon VPC al crear el punto de enlace de la VPC.  
**Para las conexiones compatibles con la norma FIPS 140-3, utilice el nombre del punto de conexión FIPS com.amazonaws. *region*.ecr-fips.dkr**

**com.amazonaws. *region*.ecr.api**  
El especificado *region* representa el identificador de región de una AWS región compatible con Amazon ECR, como `us-east-2` la región EE.UU. Este (Ohio).
**Para las conexiones compatibles con la norma FIPS 140-3, utilice los nombres de los puntos de conexión FIPS: com.amazonaws. ***region***.ecr-fips.dkr y com.amazonaws. *region*.ecr-fips.api.**  
Este punto de enlace se utiliza para las llamadas a la API de Amazon ECR. Acciones de la API como `DescribeImages` y `CreateRepository` van a este punto de conexión.  
Cuando se crea este punto de enlace, tiene la opción de habilitar un nombre de host DNS privado. Habilite esta configuración seleccionando **Enable Private DNS Name** (Habilitar nombre de DNS privado) en la consola de VPC al crear el punto de conexión de la VPC. Si habilitas un nombre de host DNS privado para el punto de enlace de la VPC, actualiza el SDK AWS CLI o a la versión más reciente para que no sea necesario especificar una URL de punto final cuando utilices el SDK AWS CLI .  
**Para las conexiones compatibles con la norma FIPS 140-3, usa el nombre del punto de conexión FIPS com.amazonaws. *region*.ecr-fips.api.**  
Si habilita un nombre de host DNS privado y utiliza un SDK o una AWS CLI versión publicada antes del 24 de enero de 2019, debe usar el parámetro para especificar los puntos finales de la `--endpoint-url` interfaz. En el ejemplo siguiente se muestra el formato de la dirección URL del punto de conexión.  

```
aws ecr create-repository --repository-name name --endpoint-url https://api.ecr.region.amazonaws.com
```
Si no habilita un nombre de host de DNS privado para el punto de conexión de la VPC, debe utilizar el parámetro `--endpoint-url` que especifique el ID de punto de conexión de la VPC para el punto de conexión de interfaz. En el ejemplo siguiente se muestra el formato de la dirección URL del punto de conexión.  

```
aws ecr create-repository --repository-name name --endpoint-url https://VPC_endpoint_ID.api.ecr.region.vpce.amazonaws.com
```
Para las conexiones compatibles con la norma FIPS 140-3, utilice la URL del punto de conexión FIPS:  

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

## Creación del punto de enlace de gateway de Amazon S3
<a name="ecr-setting-up-s3-gateway"></a>

Para que sus tareas de Amazon ECS extraigan imágenes privadas de Amazon ECR, debe crear un punto de enlace de gateway para Amazon S3. El punto de enlace de gateway es necesario porque Amazon ECR utiliza Amazon S3 para almacenar las capas de imágenes. Cuando sus contenedores descargan imágenes de Amazon ECR, deben acceder a Amazon ECR para obtener el manifiesto de imagen y a Amazon S3 para descargar las capas de imágenes en sí. A continuación, se muestra el Nombre de recurso de Amazon (ARN) del bucket de Amazon S3 que contiene las capas para cada imagen de Docker.

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

**nota**  
Si va a crear un punto de enlace de VPC de doble pila para Amazon ECR, también necesitará crear un punto de enlace de interfaz o puerta de enlace Amazon S3 de doble pila. Consulte la documentación de [S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#privatelink-ip-address-types) para obtener más información.

Use el procedimiento [Creación de un punto de enlace de gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html#create-gateway-endpoint) en la *Guía del usuario de Amazon VPC* para crear el siguiente punto de enlace de gateway de Amazon S3 para Amazon ECR. Cuando cree el punto de conexión, asegúrese de seleccionar las tablas de enrutamiento para su VPC.

**com.amazonaws. *region***.s3  
El punto de enlace de gateway de Amazon S3 utiliza un documento de políticas de IAM para limitar el acceso al servicio. Se puede utilizar la política de **Acceso completo**, porque cualquier restricción que haya incluido en los roles de IAM de la tarea u otras políticas de usuario de IAM tienen vigencia sobre esta política. Si quiere limitar el acceso al bucket de Amazon S3 a los permisos mínimos necesarios para utilizar Amazon ECR, consulte [Permisos mínimos del bucket de Amazon S3 para Amazon ECR](#ecr-minimum-s3-perms).

### Permisos mínimos del bucket de Amazon S3 para Amazon ECR
<a name="ecr-minimum-s3-perms"></a>

El punto de enlace de gateway de Amazon S3 utiliza un documento de políticas de IAM para limitar el acceso al servicio. Para permitir solo los permisos mínimos del bucket de Amazon S3 para Amazon ECR, restrinja el acceso al bucket de Amazon S3 que utiliza Amazon ECR al crear el documento de política de IAM para el punto de enlace. 

En la siguiente tabla se describen los permisos de política de buckets de Amazon S3 necesarios para Amazon ECR.


| Permiso | Description (Descripción) | 
| --- | --- | 
|  `arn:aws:s3:::prod-region-starport-layer-bucket/*`  |  Proporciona acceso al bucket de Amazon S3 que contiene las capas para cada imagen de Docker. Representa el identificador de región de una región de AWS compatible con Amazon ECR, como lo es `us-east-2` para Este de EE. UU. (Ohio).  | 

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

El siguiente ejemplo ilustra cómo proporcionar acceso a los buckets de Amazon S3 necesarios para las operaciones de Amazon ECR.

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

## Cree el punto final de CloudWatch Logs
<a name="ecr-setting-up-cloudwatch-logs"></a>

**Las tareas de Amazon ECS que utilizan el tipo de lanzamiento Fargate que utilizan una VPC sin una puerta de enlace a Internet y que también utilizan el controlador de `awslogs` registro para enviar información de registro a CloudWatch Logs requieren que cree com.amazonaws. *region*Punto final CloudWatch de VPC de la interfaz.logs** para registros. Para obtener más información, consulte [Uso de CloudWatch registros con puntos de enlace de VPC de interfaz](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html) en la Guía del usuario de *Amazon CloudWatch Logs*.

## Creación de una política de punto de enlace para sus puntos de enlace de la VPC de Amazon ECR
<a name="ecr-vpc-endpoint-policy"></a>

Una política de punto de conexión de VPC es una política de recursos de IAM que puede asociar a un punto de conexión cuando crea o modifica el punto de conexión. Si no adjuntas una política al crear un punto de conexión, AWS adjunta una política predeterminada que te permita el acceso total al servicio. Una política de punto de conexión no anula ni sustituye a las políticas de usuario de ni las políticas específicas de los servicios. Se trata de una política independiente para controlar el acceso desde el punto de conexión al servicio especificado. Las políticas de punto de conexión deben escribirse en formato JSON. Para obtener más información, consulte [Controlar el acceso a servicios con puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) en la *Guía del usuario de Amazon VPC*.

Recomendamos crear una única política de recursos de IAM y adjuntarla a ambos puntos de enlace de la VPC de Amazon ECR.

A continuación, se muestra un ejemplo de una política de punto de enlace para la Amazon ECR. Esta política permite a un rol de IAM específico extraer imágenes de Amazon ECR.

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

El siguiente ejemplo de política de punto de conexión impide que se elimine un repositorio especificado.

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

El siguiente ejemplo de política de punto de conexión combina los dos ejemplos anteriores en una única política.

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

**Modificación de la política de punto de enlace de la VPC para Amazon ECR**

1. Abra la consola de Amazon VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Puntos de conexión**.

1. Si aún no ha creado los puntos de enlace de la VPC para Amazon ECR, consulte [Creación de puntos de enlace de la VPC para Amazon ECR](#ecr-setting-up-vpc-create).

1. Seleccione el punto de enlace de la VPC de Amazon ECR al que desea agregar una política y elija la pestaña **Policy** (Política) en la mitad inferior de la pantalla.

1. Elija **Editar política** y realice los cambios en la política.

1. Elija **Guardar** para guardar el cambio.

## Subredes compartidas
<a name="ecr-vpc-endpoint-shared-subnets"></a>

No puede crear, describir, modificar ni eliminar puntos de conexión de VPC en subredes que se compartan con usted. No obstante, puede usar los puntos de conexión de VPC en las subredes que se compartan con usted.

# Prevención de la sustitución confusa entre servicios
<a name="cross-service-confused-deputy-prevention"></a>

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar un confuso problema de diputado. La suplantación entre servicios puede producirse cuando un servicio (el *servicio que lleva a cabo las llamadas*) llama a otro servicio (el *servicio al que se llama*). El servicio que lleva a cabo las llamadas se puedes manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta. 

Se recomienda utilizar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) o [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las políticas de recursos para limitar los permisos que Amazon ECR concede a otro servicio para el recurso. Utiliza `aws:SourceArn` si desea que solo se asocie un recurso al acceso entre servicios. Utiliza `aws:SourceAccount` si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si está especificando varios recursos, utilice la clave de condición de contexto global `aws:SourceArn` con caracteres comodines (`*`) para las partes desconocidas del ARN. Por ejemplo, `arn:aws:servicename:region:123456789012:*`. 

Si el valor de `aws:SourceArn` no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, debe utilizar ambas claves de contexto de condición global para limitar los permisos. 

El valor `aws:SourceArn` debe ser  ResourceDescription.

El siguiente ejemplo muestra cómo puede utilizar las claves de contexto de condición `aws:SourceAccount` global `aws:SourceArn` y las claves de contexto de una política de repositorio de Amazon ECR para permitir el AWS CodeBuild acceso a las acciones de la API de Amazon ECR necesarias para la integración con ese servicio y, al mismo tiempo, evitar el confuso problema de los diputados.

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

------