【发布时间】:2018-03-21 23:41:23
【问题描述】:
我正在使用 Froala HTML 编辑器将图像直接上传到 Amazon S3 存储桶。在过去的几个月里,它一直运行良好。我在开发方面没有改变任何东西。
大约一天前,我上传到 Amazon S3 的所有图片都开始失败并收到 403 "Invalid according to policy: policy expired" 响应。
我意识到我的存储桶没有策略,并且正在使用旧的 ACL 获取权限(我的理解是策略正在取代 ACL?)。
我使用亚马逊政策生成器更新了我的政策,但我仍然收到 403。
我尝试将政策设置为公开,只是为了让它发挥作用(请注意,我已经删除了我认为敏感的所有内容):
{
"Version": "2012-10-17",
"Id": "Policy123...",
"Statement": [
{
"Sid": "Stmt123...",
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::<BUCKET_NAME>/*"
}
]
}
据我了解,此政策应允许对存储桶进行完全公开访问以执行任何操作。显然我不希望它用于生产,但我只是想让它再次工作。
但是,我仍然收到 403“策略已过期”。
我看过其他一些关于更新计算机时钟的帖子,但我没有更改我的计算机或服务器上的任何内容,并且我的策略中没有设置过期时间,所以我不确定为什么会这样问题。
Amazon S3 控制台甚至警告我已在存储桶上设置公共访问权限,因此我知道该策略至少“在某种程度上”有效。
问题
- 如果我更新了 Amazon S3 政策,我是否需要更新用于签署上传的应用程序
accessKey或secretKey? - 有什么方法可以尝试显式删除策略过期?我的用户将上传图片,我不希望应用程序“用户”过期,它应该始终有效?
【问题讨论】:
标签: amazon-web-services amazon-s3 policy