¿Cómo puedo solucionar el error «error pulling image configuration: error parsing HTTP 403 response body» en Amazon ECS al extraer una imagen de Docker de Amazon ECR?

2 minutos de lectura
0

Cuando extraigo una imagen de Docker de Amazon Elastic Container Registry (Amazon ECR) en Amazon Elastic Container Service (Amazon ECS), aparece el siguiente mensaje de error: «error pulling image configuration: error parsing HTTP 403 response body».

Breve descripción

Amazon ECR usa Amazon Simple Storage Service (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 la imagen y, a continuación, a Amazon S3 para descargar las capas de imágenes. El siguiente es el nombre de recurso de Amazon (ARN) del bucket de Amazon S3 que contiene las capas de cada imagen de Docker.

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

Si utiliza un punto de conexión de puerta de enlace de S3 en una tabla de enrutamiento con una política que restringe el acceso a starport-layer-bucket, recibirá el siguiente mensaje de error:

error pulling image configuration: error parsing HTTP 403 response body: invalid character '<' looking for beginning of value:
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>
SAMPLE-REQUEST-ID</RequestId><HostId>SAMPLE-HOST-ID</HostId></Error>"

De forma predeterminada, obtiene acceso completo a todos los recursos al crear un punto de conexión de puerta de enlace en Amazon S3.

Si tiene una política personalizada que permite el acceso a recursos específicos, debe añadir el ARN starport-layer-bucket a su política de Amazon S3 para solucionar el error.

Resolución

1.    Abra la consola de Amazon Virtual Private Cloud (Amazon VPC).

2.    En el menú de navegación, seleccione Puntos de conexión.

3.    Seleccione el punto de conexión de S3 de la lista.

4.    Seleccione la pestaña Política y, a continuación, seleccione Editar política.

5.    En la sección Recurso de la política, añada el siguiente ARN:

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

Nota: Asegúrese de que el ARN incluya su región de AWS.

Como referencia, tenga en cuenta el siguiente ejemplo de política:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Access-to-specific-buckets",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::prod-us-east-1-starport-layer-bucket/*"
      ]
    }
  ]
}

Información relacionada

Creación del punto de conexión de puerta de enlace de Amazon S3

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años