根据AWS IAM示例,我得到了如下的conf。但当我将用户的凭据与此一起使用时,这会导致"访问被拒绝"附加IAM政策。
删除Stringlike条件效果良好。
{
"Statement": [
{
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::BUCKET"
],
"Condition": {
"StringLike": {
"s3:prefix": "STRING/*"
}
}
}
]}
conn = S3Connection( key, secret );
buck = conn.get_bucket( BUCKET );
for key in buck.list( prefix = STRING ):
print key.name
此外,为了从bucket"子文件夹"中获取对象,
"操作":"s3:GetObject"。。。"资源":"arn:aws:s3:::BUCKET/STRING/*"…
只有这个受限制的getObject权限是不够的(再次被拒绝),而如果我将ListBucket策略添加到整个bucket中,它就会起作用。当您需要在目录上设置READ(列表)位来访问(读取)同一目录中包含的777文件时,AWS是否与*nix中一样工作?
你能帮忙吗?我不确定我对IAM政策的理解。感谢
修复了删除get_bucket()的问题,这可能需要更多权限(ListAllMyBuckets?)
conn = S3Connection( key, secret );
mBucket = Bucket( conn, bucket );
for key in mBucket.list( prefix = prefix ):
print key.name
return