我正在开发一个 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
and s3:PutObject
,但我特别希望该帐户只能创建尚不存在的对象 - 即应拒绝对现有对象的 PUT 请求。这可能吗?