繁体   English   中英

Boto3:具有有限权限的 aws 凭据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM