[英]Boto3: aws credentials with limited permissions
我配置了一些 AWS 密钥。 这些键使我可以访问 s3 存储桶中的某些目录。 我想使用boto3
与暴露给我的目录进行交互,但是似乎我实际上根本无法对存储桶执行任何操作,因为我无法访问整个存储桶。
这从我的终端对我有用:
aws s3 ls s3://the_bucket/and/this/specific/path/
但如果我这样做:
aws s3 ls s3://the_bucket/
我得到:
调用 ListObjects 操作时发生错误 (AccessDenied):拒绝访问
当我尝试通过boto3
访问目录时也会发生这种情况。
session = boto3.Session(profile_name=my_creds)
client=session.client('s3')
list_of_objects = client.list_objects(Bucket='the_bucket', Prefix='and/this/specific/path', Delimiter='/')
我是否需要请求访问整个存储桶才能使用boto3
?
您需要设置此存储桶策略:
{
"Sid": "<SID>",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account>:user/<user_name>"
},
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::<bucket_name>"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.