Jos*_*ust 16 amazon-s3 amazon-web-services s3cmd
在迁移到AWS EC2时,我想有充分理由限制我的实例的用户权限.实例需要做的一件事是访问S3上的文件并在那里写文件.但是,如果不向该用户授予所有权限,我找不到任何方法来实现此目的.
s3cmd允许我在s3桶上调用"ls"和"du"我给了策略权限,但在尝试与其中一个文件夹进行PUT /同步时总是失败并出现403错误.如果我使用我的root凭据,则传输将直接进行.
所以,我不明白为什么如果我将所有权限授予用户所说的桶,它不能PUT,但如果我给它arn:aws:s3 :::*(所有桶)那么它可以.对我毫无意义.
有没有其他人曾经处理过此事?
bwi*_*ght 28
尝试这样的事情.我认为问题是你需要s3:ListAllMyBuckets和s3:ListBuckets才能使s3cmd工作.不知道为什么,但它不会工作,除非它可以获得桶的列表.我第一次尝试使用s3cmd权限时遇到了同样的问题,这就是解决方案.
{
"Statement": [
{
"Action": [
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
},
{
"Action": [
"s3:ListBucket",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::bucket/path",
"arn:aws:s3:::bucket/path/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
编辑我添加了s3:PutObjectAcl更新版本的s3cmd所需的操作,如下面的Will Jessop所述.
| 归档时间: |
|
| 查看次数: |
11207 次 |
| 最近记录: |