Wenn ich ein Docker-Image aus Amazon Elastic Container Registry (Amazon ECR) in Amazon Elastic Container Service (Amazon ECS) abrufe, erhalte ich die folgende Fehlermeldung: „error pulling image configuration: error parsing HTTP 403 response body.“
Kurzbeschreibung
Amazon ECR verwendet Amazon Simple Storage Service (Amazon S3), um Ihre Image-Ebenen zu speichern. Wenn Ihre Container Images von Amazon ECR herunterladen, müssen sie auf Amazon ECR zugreifen, um das Image-Manifest abzurufen, und dann auf Amazon S3, 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 die folgende 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 erhalten Sie vollen Zugriff auf alle Ressourcen, wenn Sie einen Gateway-Endpunkt in Amazon S3 erstellen.
Wenn Sie über eine benutzerdefinierte Richtlinie verfügen, die den Zugriff auf bestimmte Ressourcen ermöglicht, müssen Sie den starport-layer-bucket-ARN zu Ihrer Amazon S3-Richtlinie hinzufügen, um den Fehler zu beheben.
Lösung
1.Öffnen Sie die Amazon Virtual Private Cloud (Amazon VPC)-Konsole.
2.Wählen Sie im Navigationsmenü Endpunkte aus.
3.Wählen Sie den S3-Endpunkt aus der Liste aus.
4.Wählen Sie die Registerkarte Richtlinie und dann Richtlinie bearbeiten aus.
5.Fügen Sie im Abschnitt Ressource der Richtlinie den folgenden ARN hinzu:
arn:aws:s3:::prod-region-starport-layer-bucket/*
**Hinweis:**Vergewissern Sie sich, dass der ARN Ihre AWS-Region einschließt.
Sehen Sie sich als Referenz die folgende Beispielrichtlinie an:
{
"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