按照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
另外,为了从桶“子文件夹”中获取对象,
... “行动”: “S3:GetObject的” ... “资源”: “阿尔恩:AWS:S3 :::桶/ STRING / *” ...
只有这个受限制的getObject权限是不够的(再次被拒绝),而如果我将ListBucket策略添加到整个存储桶,它就可以工作。当您需要在目录上设置READ(列表)位以访问(读取)包含在同一目录中的777文件时,AWS是否在* nix中工作?
你能帮帮忙吗?我不确定我对IAM政策的理解。 感谢答案 0 :(得分:2)
修复了删除get_bucket()的问题,这可能需要更多权限(ListAllMyBuckets?)
conn = S3Connection( key, secret );
mBucket = Bucket( conn, bucket );
for key in mBucket.list( prefix = prefix ):
print key.name
return