【发布时间】:2015-03-27 18:10:21
【问题描述】:
使用 s3cmd,下面的策略允许我像这样 ListAllBuckets:
s3cmd ls
和这样的 ListBucket :
s3cmd ls s3://backups/
但我无法上传这样的文件:
s3cmd put filename s3://backups/
我刚刚收到这个错误:
ERROR: S3 error: Access Denied
该政策基于网络上的搜索和许多示例,但我就是看不出哪里出了问题。该策略是允许用户仅将文件上传到备份目录(最终我什至没有列出存储桶的内容,但我将其放入只是为了检查该策略实际上是否被读取)。
其他可能相关的信息 -
- 我使用 Dragon Disk(S3 的前端)和其他用户创建了存储桶
- 此新 IAM 用户通过属于附加了策略的组而连接到策略。
这是策略,注意 CreateObject 和 PutObject 是仅有的两个原始条目,添加其他条目几乎只是为了看看发生了什么:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:PutObjectVersionAcl",
"s3:CreateObject",
"s3:*"
],
"Resource": "arn:aws:s3:::backups/*"
}
]
}
编辑 1 -
只是说,如果我添加此政策,它可以正常工作,所以我知道这与我的政策有关:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
编辑 2 - 我制定了另一个策略,用于创建一个名为“asdwasw432”的存储桶,以防万一我的 UI 创建的存储桶不可用。但我仍然无法上传任何文件(拒绝访问)。我可以列出存储桶并创建新存储桶。所有的建议似乎都告诉我要完全按照我在下面做的事情做,但如果它有效,则没有。我还缺少其他东西吗?
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1397834652000",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Sid": "Stmt1397834745000",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::asdwasw432",
"arn:aws:s3:::asdwasw432/*"
]
}
]
}
【问题讨论】:
标签: amazon-web-services amazon-s3