Comment résoudre l'erreur « Erreur lors de l'extraction de la configuration de l'image : erreur d'analyse du corps de réponse HTTP 403 » dans Amazon ECS lors de l'extraction d'une image Docker depuis Amazon ECR ?
Dernière mise à jour : 30/10/2020
Lorsque je tire une image Docker d'Amazon Elastic Container Registry (Amazon ECR) dans Amazon Amazon Elastic Container Service (Amazon ECS), j'obtiens le message d'erreur suivant: « Erreur lors de l'extraction de la configuration de l'image: erreur lors de l'analyse du corps de la réponse HTTP 403. »
Brève description
Amazon ECR utilise Amazon Simple Storage Service (Amazon S3) pour stocker vos couches d'image. Lorsque vos conteneurs téléchargent des images depuis Amazon ECR, ils doivent accéder à Amazon ECR pour obtenir le manifeste d'image, puis à Amazon S3 pour télécharger les couches d'images. Voici le nom Amazon Resource Name (ARN) du compartiment Amazon S3 qui contient les couches pour chaque image Docker.
arn:aws:s3:::prod-region-starport-layer-bucket/*
Si vous utilisez un point de terminaison de passerelle S3 dans une table de routage avec une stratégie qui restreint l'accès à starport-layer-bucket, vous recevrez le message d'erreur suivant :
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>"
Par défaut, vous obtenez un accès complet à toutes les ressources lorsque vous créez un point de terminaison de passerelle dans Amazon S3.
Si vous disposez d'une stratégie personnalisée qui autorise l'accès à des ressources spécifiques, vous devez ajouter l'ARN starport-layer-bucket à votre stratégie Amazon S3 pour résoudre l'erreur.
Résolution
1. Ouvrez la console VPC.
2. Dans le menu de navigation, choisissez Points de terminaison.
3. Sélectionnez le point de terminaison S3 à partir de la liste.
4. Choisissez l'onglet Stratégie puis choisissez Modifier la stratégie.
5. Dans la section Ressource de la stratégie, ajoutez l'ARN suivant :
arn:aws:s3:::prod-region-starport-layer-bucket/*
Remarque : assurez-vous que l'ARN inclut votre région AWS.
Pour référence, considérez l'exemple de stratégie suivant :
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "Access-to-specific-buckets",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::prod-us-east-1-starport-layer-bucket/*"
]
}
]
}
Informations connexes
Cet article vous a-t-il été utile?
Besoin d'aide pour une question technique ou de facturation ?