Wenn ich ein Docker-Image aus der Amazon Elastic Container Registry (Amazon ECR) in Amazon Elastic Container Service (Amazon ECS) abrufe, erhalte ich die folgende Fehlermeldung: „Fehler beim Abrufen der Image-Konfiguration: Fehler beim Parsen des HTTP 403-Antworttexts.“
Kurzbeschreibung
Amazon ECR verwendet Amazon Simple Storage Service (Amazon S3), um Ihre Image-Ebenen zu speichern. Wenn Ihre Container Bilder von Amazon ECR herunterladen, müssen sie auf Amazon ECR zugreifen, um das Image-Manifest abzurufen. Nachdem der Container auf Amazon ECR zugegriffen hat, greift der Container auf Amazon S3 zu, um die Image-Ebenen herunterzuladen.
Im Folgenden finden Sie den Amazon-Ressourcennamen (ARN) des Amazon S3-Buckets, der die Ebenen für jedes Docker-Image enthält:
arn:aws:s3:::prod-region-starport-layer-bucket/*
Wenn Sie einen S3-Gateway-Endpunkt in einer Routing-Tabelle mit einer Richtlinie verwenden, die den Zugriff auf starport-layer-bucket einschränkt, erhalten Sie diese Fehlermeldung:
"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>"
Standardmäßig haben Sie vollen Zugriff auf alle Ressourcen, wenn Sie einen Gateway-Endpunkt in Amazon S3 erstellen.
Wenn Sie eine benutzerdefinierte Richtlinie haben, die den Zugriff auf bestimmte Ressourcen ermöglicht, müssen Sie den starport-layer-bucket-ARN zu Ihrer Amazon S3-Richtlinie hinzufügen.
Lösung
Um diesen Fehler zu beheben, führen Sie die folgenden Schritte aus:
- Öffnen Sie die Amazon Virtual Private Cloud (Amazon VPC)-Konsole.
- Wählen Sie im Navigationsmenü Endpunkte aus.
- Wählen Sie den S3-Endpunkt aus der Liste aus.
- Wählen Sie die Registerkarte Richtlinie und dann Richtlinie bearbeiten aus.
- Fügen Sie im Abschnitt Ressource der Richtlinie den folgenden ARN hinzu:
arn:aws:s3:::prod-region-starport-layer-bucket/*
Hinweis: Der ARN muss Ihre AWS-Region enthalten.
Beispiel für eine Richtlinie:
{
"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/*"
]
}
]
}
Ähnliche Informationen
Den Amazon S3-Gateway-Endpunkt erstellen