我们有一个存储桶,我们需要CORS配置如下:
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedHeader>*</AllowedHeader>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
我们需要它,所以我们可以从画布导出图像而不会出现污点画布错误。
我们在不超过3个星期前在一个不同的项目中做到这一点并且工作得很好,管理员会修改CORS配置,即使我无法编辑它也能看到新的配置。
今天我们尝试了,他保存了新配置,我一直看到默认配置,这就是:
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
如果他登录,他会看到所需的配置,但我仍然会收到受污染的画布错误。
所以我们有3个问题:
感谢先进的帮助。
答案 0 :(得分:1)
设置CORS的权限通过身份和访问管理(IAM)授予用户,而不是桶级权限,例如:
{
"Id": "SomeID",
"Statement": [
{
"Sid": "SomeSID",
"Action": [
"s3:GetBucketCORS",
"s3:PutBucketCORS"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::BUCKET-NAME",
"Principal": {
"AWS": [
"USERNAME"
]
}
}
]
}
我已成功使用您在上面提供的规则编辑存储桶上的CORS策略。 (我没有测试它是否有效,但我能够将其保存为政策。)