我将图像存储在S3存储桶中,但是我无法显示图像的链接。这是我得到的错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>8CAF92C03A75648C</RequestId>
<HostId>
ocfqcRiXsJoV0mBom0z+nmV3seEMRpdBMvDddy1sgQrIOq19/UvK6BmurlM8v20zGIvh2ITHjYc=
</HostId>
</Error>
我需要在各个域上显示图像,但是我可以为每个域制作CORS规则。
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
如何打开此存储桶以便公开显示图像?
答案 0 :(得分:2)
它与CORS无关,它是S3存储桶配置。
如果您对公开阅读的整个广告素材感到满意,here's the official AWS guide以及我的粗略步骤:
政策:
{
"Version":"2012-10-17",
"Statement":[{
"Sid":"PublicReadForGetBucketObjects",
"Effect":"Allow",
"Principal": "*",
"Action":["s3:GetObject"],
"Resource":["arn:aws:s3:::BUCKETNAME/*"
]
}
]
}
需要注意的是,如果您使用S3来托管静态内容,那么您应该使用CDN(如CloudFront)并注意缓存控制标头。