【发布时间】:2012-05-22 11:32:47
【问题描述】:
我正在开发一个 Web 应用程序,我目前已将以下 ACL 分配给它用于访问其数据的 AWS 账户:
{
"Statement": [
{
"Sid": "xxxxxxxxx", // don't know if this is supposed to be confidential
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::cdn.crayze.com/*"
]
}
]
}
不过,我想让这更具限制性,这样如果我们的 AWS 凭证被泄露,攻击者就无法破坏任何数据。
从文档来看,我似乎只想允许以下操作:s3:GetObject 和 s3:PutObject,但我特别希望该帐户只能创建尚不存在的对象 - 即 PUT应拒绝对现有对象的请求。这可能吗?
【问题讨论】:
-
不知道语言标签!这些在哪里列出?
-
我认为它不支持这一点的原因是 S3 是一种最终一致的,因此没有权威的“对象不存在”语义。