

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.

# Permisos de registro privado en Amazon ECR
<a name="registry-permissions"></a>

 Amazon ECR utiliza una **política de registro** para conceder permisos a un principal de AWS a nivel de registro privado.

El ámbito se establece al elegir la versión de la política de registro. Existen dos versiones con un ámbito de política de registro diferente: la versión 1 (V1) y la versión 2 (V2). La V2 es el ámbito ampliado de la política de registro que incluye todos los permisos de ECR. Para ver la lista completa de acciones de API, consulte la *[Guía de API de Amazon ECR.](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html)* La versión 2 es el ámbito predeterminado de la política de registro. Para obtener más información sobre cómo ver o establecer el ámbito de la política de registro, consulte [Cambiar al ámbito ampliado de la política de registro](registry-permissions-account-settings.md). Para obtener información sobre la configuración general del registro privado de Amazon ECR, consulte [Configuración del registro privado en Amazon ECR](registry-settings.md).

 A continuación, se detallan las.versiones:
+ **V1**: para la versión 1, Amazon ECR solo aplica los siguientes permisos a nivel de registro privado.
  + `ecr:ReplicateImage`: otorga permiso a otra cuenta, denominada registro de origen, para replicar sus imágenes en el registro. Solo se utiliza para la replicación entre cuentas.
  + `ecr:BatchImportUpstreamImage`: otorga permiso para recuperar la imagen externa e importarla a su registro privado.
  + `ecr:CreateRepository`: otorga permiso para crear un repositorio en un registro privado. Este permiso es necesario si el repositorio donde se conservan las imágenes replicadas o almacenadas en caché no existe todavía en el registro privado.
+ **V2**: para la versión 2, Amazon ECR permite todas las acciones de ECR en la política, y aplica la política de registro en todas las solicitudes de ECR.

Puede utilizar la consola o CLI para ver el ámbito de la política de registro o modificarla.

**nota**  
Si bien es posible agregar la acción `ecr:*` a una política de registro privado, se considera práctica recomendada agregar únicamente las acciones específicas necesarias según la función que esté utilizando en lugar de utilizar un comodín.

**Topics**
+ [Ejemplos de políticas de registro privado para Amazon ECR](registry-permissions-examples.md)
+ [Cambiar al ámbito ampliado de la política de registro](registry-permissions-account-settings.md)
+ [Concesión de permisos de registro para la replicación entre cuentas en Amazon ECR](registry-permissions-create-replication.md)
+ [Concesión de permisos de registro para caché de extracción en Amazon ECR](registry-permissions-create-pullthroughcache.md)

# Ejemplos de políticas de registro privado para Amazon ECR
<a name="registry-permissions-examples"></a>

En los siguientes ejemplos se muestran instrucciones de política de permisos de registro que puede utilizar para controlar los permisos que los usuarios tienen en el registro de Amazon ECR.

**nota**  
En cada ejemplo, si se quita la acción `ecr:CreateRepository` de la política registro, la replicación aún puede producirse. No obstante, para que la replicación se realice correctamente, debe crear repositorios con el mismo nombre en su cuenta.

## Ejemplo: permitir a todas las entidades principales de IAM de una cuenta de origen replicar todos los repositorios
<a name="registry-permissions-examples-all"></a>

La siguiente política de permisos de registro permite a todas las entidades principales de IAM (usuarios y roles) de una cuenta de origen replicar todos los repositorios.

Tenga en cuenta lo siguiente:
+ **Importante:** Al especificar un ID de Cuenta de AWS como entidad principal en una política, se concede acceso a todos los usuarios y roles de IAM de esa cuenta, no solo al usuario raíz. Este proceso establece un amplio acceso a toda la cuenta.
+ **Consideraciones de seguridad:** los permisos a nivel de cuenta otorgan acceso a todas las entidades de IAM de la cuenta especificada. Para obtener un acceso más restrictivo, especifique los usuarios de IAM, roles o utilice declaraciones de condición para limitar aún más el acceso.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:444455556666:repository/*"
            ]
        }
    ]
}
```

------

## Ejemplo: permitir entidades principales de IAM de varias cuentas
<a name="registry-permissions-examples-multiple"></a>

La siguiente política de permisos de registro tiene dos instrucciones. Cada declaración permite a todas las entidades principales de IAM (usuarios y roles) de una cuenta de origen replicar todos los repositorios.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount1",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:123456789012:repository/*"
            ]
        },
        {
            "Sid":"ReplicationAccessCrossAccount2",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::444455556666:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:123456789012:repository/*"
            ]
        }
    ]
}
```

------

## Ejemplo: permitir a las entidades principales de IAM de una cuenta de origen replicar todos los repositorios con el prefijo `prod-`.
<a name="registry-permissions-examples-specific"></a>

La siguiente política de permisos de registro permite a todas las entidades principales de IAM (usuarios y roles) de una cuenta de origen replicar todos los repositorios que comiencen con ` prod-`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:444455556666:repository/prod-*"
            ]
        }
    ]
}
```

------

# Cambiar al ámbito ampliado de la política de registro
<a name="registry-permissions-account-settings"></a>

**importante**  
En el caso de los nuevos usuarios, los registros se configuran automáticamente para utilizar la política de registro de la ` V2` al momento de crearlos. No hay ninguna acción que deba realizar. Amazon ECR no recomienda volver a la política de registro anterior. `V1`

Puede utilizar la consola o CLI para ver el ámbito de la política de registro o modificarla.

------
#### [ Consola de administración de AWS ]

Utilice los siguientes pasos para consultar la configuración de su cuenta. Para ver o actualizar el ámbito de la política de registro, consulte el procedimiento CLI de esta página.

**Active la política de registro mejorada para el registro privado**

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

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

1. En el panel de navegación, seleccione **Private registry** (Registro privado), **Feature & Settings** (Característica y configuración) y luego **Permissions** (Permisos).

1. En la página **Permissions** (Permisos), acceda a **Registry policy** (Política de registro) para consultar el JSON de la política. Si tiene la política V1, aparecerá un banner con instrucciones para actualizar a la V2. Seleccione **Habilitar**.

   Aparecerá un banner indicando que el ámbito de la política de registro se actualizó a la V2.

1. Además, puede configurar los permisos con la CLI de manera opcional. Para obtener más información, consulte [Configuración del registro privado en Amazon ECR](registry-settings.md).
**nota**  
Para ver o actualizar el ámbito de la política de registro, consulte el procedimiento CLI de esta página.

------
#### [ AWS CLI ]

Amazon ECR genera la política de registro de la V2. Utilice los siguientes pasos para ver o actualizar el ámbito de la política de registro. No se puede ver ni modificar el ámbito de la política de registro en la consola
+ Para recuperar la política de registro que utiliza actualmente.

  ```
  aws ecr get-account-setting --name REGISTRY_POLICY_SCOPE
  ```

   El campo del nombre del parámetro es obligatorio. Si no proporciona el nombre, recibirá el siguiente mensaje de error:

  ```
   aws: error: the following arguments are required: --name
  ```

  Consulte el resultado del comando de política de registro. En el siguiente resultado de ejemplo, la versión de la política de registro es la V1.

  ```
  {
      "name": "REGISTRY_POLICY_SCOPE",
      "value": "V1"
  }
  ```

  Puede cambiar la versión de la política de registro de `V1` a `V2`. V1 no es el ámbito de política de registro que está recomendado.

  ```
  aws ecr put-account-setting --name REGISTRY_POLICY_SCOPE --value value
  ```

  Por ejemplo, utilice el siguiente comando para actualizar a V2.

  ```
  aws ecr put-account-setting --name REGISTRY_POLICY_SCOPE --value V2
  ```

  Consulte el resultado del comando de la política de registro. En el siguiente resultado de ejemplo, la versión de la política de registro se actualizó a V2.

  ```
  {
      "name": "REGISTRY_POLICY_SCOPE",
      "value": "V2"
  }
  ```

------

# Concesión de permisos de registro para la replicación entre cuentas en Amazon ECR
<a name="registry-permissions-create-replication"></a>

El tipo de política de cuentas cruzadas se utiliza para conceder permisos a una entidad AWS principal, lo que permite replicar los repositorios de un registro de origen a su registro. De forma predeterminada, tiene permiso para configurar la replicación entre regiones en su propio registro. Tan solo necesita configurar la política de registro si concede permiso a otra cuenta para replicar contenido en el registro.

Una política de registro debe conceder permiso para la acción de la API `ecr:ReplicateImage`. Esta es una API de Amazon ECR interna que puede replicar imágenes entre Regiones o cuentas. También puede concederlo para el permiso ` ecr:CreateRepository`, que permite a Amazon ECR crear repositorios en el registro si aún no existen. Si no se proporciona el permiso de `ecr:CreateRepository`, en el registro se debe crear manualmente un repositorio con el mismo nombre que el de origen. Si no se hace nada de esto, la replicación fallará. Todas las acciones fallidas `CreateRepository` o de la `ReplicateImage` API aparecen en CloudTrail.

## Para configurar una política de permisos para la replicación (Consola de administración de AWS)
<a name="registry-permissions-create-console"></a>

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

1. En la barra de navegación, elija la región en la que se va a configurar la política de registro.

1. En el panel de navegación, seleccione **Private registry** (Registro privado, luego **Features & Settings** (Características y configuración) y, por último, **Permissions** (Permisos).

1. En la página **Registry permissions** (Permisos de registro), elija **Generate statement** (Generar declaración).

1. Realice los siguientes pasos para definir la instrucción de política mediante el generador de políticas.

   1. En **Policy type** (Tipo de política), seleccione **Replication - cross account** (Replicación entre cuentas).

   1. En **Statement id** (ID de declaración), ingrese un ID de declaración único. Este campo se utiliza como `Sid` en la política de registro.

   1. En el caso de **las cuentas**, introduzca la cuenta IDs de cada una de las cuentas a las que desee conceder permisos. Al especificar varias cuentas IDs, sepárelas con una coma.

1. Seleccione **Save**.

## Para configurar una política de permisos para la replicación (AWS CLI)
<a name="registry-permissions-create-cli"></a>

1. Cree un archivo denominado `registry_policy.json` y rellénelo con una política de registro.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement":[
           {
               "Sid":"ReplicationAccessCrossAccount",
               "Effect":"Allow",
               "Principal":{
                   "AWS":"arn:aws:iam::111122223333:root"
               },
               "Action":[
                   "ecr:CreateRepository",
                   "ecr:ReplicateImage"
               ],
               "Resource": [
                   "arn:aws:ecr:us-west-2:444455556666:repository/*"
               ]
           }
       ]
   }
   ```

------

1. Cree la política de registro mediante el archivo de política.

   ```
   aws ecr put-registry-policy \
         --policy-text file://registry_policy.json \
         --region us-west-2
   ```

1. Recupere la política de registro que se va a confirmar.

   ```
   aws ecr get-registry-policy \
         --region us-west-2
   ```

# Concesión de permisos de registro para caché de extracción en Amazon ECR
<a name="registry-permissions-create-pullthroughcache"></a>

Los permisos de registro privado de Amazon ECR se pueden utilizar para abarcar los permisos de entidades de IAM individuales a fin de utilizar caché de extracción. Si una entidad de IAM tiene más permisos otorgados por una política de IAM de los que la política de permisos de registro concede, prevalece la política de IAM.

**Para crear una política de permisos de registro privado (Consola de administración de AWS):**

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 configurar su declaración de permisos de registro privado.

1. En el panel de navegación, elija **Registro privado**, elija **Características y configuración y**, a continuación, elija **Permisos**.

1. En la página **Registry permissions** (Permisos de registro), elija **Generate statement** (Generar declaración) .

1. Para cada declaración de política de permisos de caché de extracción que desee crear, haga lo siguiente.

   1. Para **Policy type** (Tipo de política), elija **Pull through cache policy** (Política de caché de extracción).

   1. Para **Statement id** (ID de declaración), proporcione un nombre para la política de declaración de caché de extracción.

   1. Para **AM entities** (Entidades de IAM), especifique los usuarios, grupos o roles que se deben incluir en la política.

   1. En **Cache namespace** (Espacio de nombres de caché), seleccione la regla de caché de extracción a la que asociar la política.

   1. Para **Repository names** (Nombres de repositorio), especifique el nombre base del repositorio para el que se va a aplicar la regla. Por ejemplo, si desea especificar el repositorio de Amazon Linux en Amazon ECR Public, el nombre del repositorio sería ` amazonlinux`.