Como resolvo o erro “erro ao extrair a configuração da imagem: erro ao analisar o corpo de resposta HTTP 403” no Amazon ECS ao extrair uma imagem do Docker do Amazon ECR?

2 minuto de leitura
0

Quando eu extraio uma imagem do Docker do Amazon Elastic Container Registry (Amazon ECR) no Amazon Elastic Container Service (Amazon ECS), recebo a seguinte mensagem de erro: “erro ao extrair a configuração da imagem: erro ao analisar o corpo de resposta HTTP 403”.

Breve descrição

O Amazon ECR usa o Amazon Simple Storage Service (Amazon S3) para armazenar suas camadas de imagem. Quando seus contêineres baixam imagens do Amazon ECR, eles devem acessar o Amazon ECR para obter o manifesto da imagem e, em seguida, o Amazon S3 baixa as camadas da imagem. Este é o Nome do recurso da Amazon (ARN) do bucket do Amazon S3 que contém as camadas de cada imagem do Docker.

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

Se você usar um endpoint do gateway do S3 em uma tabela de rotas com uma política que restringe o acesso a starport-layer-bucket, receberá a seguinte mensagem de erro:

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>"

Por padrão, você obtém acesso total a todos os recursos ao criar um endpoint de gateway no Amazon S3.

Se você tiver uma política personalizada que permita acesso a recursos específicos, adicione o ARN starport-layer-bucket a sua política do Amazon S3 para resolver o erro.

Resolução

1.    Abra o console da Amazon Virtual Private Cloud (Amazon VPC).

2.    No menu de navegação, escolha Endpoints.

3.    Selecione o endpoint do S3 na lista.

4.    Escolha a guia Política e, em seguida, escolha Editar política.

5.    Na seção Recurso da política, adicione o seguinte ARN:

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

Observação: Certifique-se de que o ARN inclua sua região da AWS.

Para referência, considere o seguinte exemplo 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/*"
      ]
    }
  ]
}

Informações relacionadas

Criar o endpoint do gateway do Amazon S3

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos