Come posso risolvere l'errore “errore nell’estrazione della configurazione dell'immagine: errore nell'analisi del corpo della risposta HTTP 403” in Amazon ECS durante l’estrazione di un'immagine Docker da Amazon ECR?

2 minuti di lettura
0

Quando estraggo un'immagine Docker da Amazon Elastic Container Registry (Amazon ECR) in Amazon Elastic Container Service (Amazon ECS), ricevo il seguente messaggio di errore: “errore nell’estrazione della configurazione dell'immagine: errore nell'analisi del corpo della risposta HTTP 403”.

Breve descrizione

Amazon ECR utilizza Amazon Simple Storage Service (Amazon S3) per archiviare i livelli immagine. Quando i container scaricano immagini da Amazon ECR, devono accedere ad Amazon ECR per scaricare il manifesto immagine e successivamente ad Amazon S3 per scaricare i livelli immagine. Di seguito è riportato il nome della risorsa Amazon (ARN) del bucket Amazon S3 che contiene i livelli per ogni immagine Docker.

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

Quando si utilizza un endpoint gateway S3 in una tabella di routing con una policy che limita l'accesso a starport-layer-bucket, si riceve il seguente messaggio di errore:

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

Per impostazione predefinita, quando si crea un endpoint gateway in Amazon S3 si ottiene l'accesso completo a tutte le risorse.

Se si dispone di una policy personalizzata che consente l'accesso a risorse specifiche, è necessario aggiungere l'ARN starport-layer-bucket alla policy di Amazon S3 per risolvere l'errore.

Risoluzione

1.    Apri la console Amazon Virtual Private Cloud (Amazon VPC).

2.    Nel menu di navigazione, seleziona Endpoint.

3.    Seleziona l'endpoint S3 dall'elenco.

4.    Seleziona la scheda Policy e quindi Modifica policy.

5.    Nella sezione Risorsa della policy, aggiungi il seguente ARN:

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

Nota: Assicurati che l'ARN includa la tua regione AWS.

Come riferimento, considera la seguente policy di esempio:

{
  "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/*"
      ]
    }
  ]
}

Informazioni correlate

Crea l'endpoint gateway Amazon S3

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa