如何使用python在限制IAM用户权限的子文件夹中列出bucket
我有IAM用户,其策略如下: 我可以使用此IAM用户aws密钥将对象放入存储桶中,但当我想列出此文件夹时,我得到了如何使用python在限制IAM用户权限的子文件夹中列出bucket,python,amazon-web-services,amazon-s3,boto3,Python,Amazon Web Services,Amazon S3,Boto3,我有IAM用户,其策略如下: 我可以使用此IAM用户aws密钥将对象放入存储桶中,但当我想列出此文件夹时,我得到了拒绝访问 my_bucket=s3.bucket(‘bucket’) 知道如何列出具有限制IAM用户权限的对象吗,谢谢我没有立即发现问题,但是,您是否能够使用此策略成功地对此存储桶进行boto3调用?比如你能做一个GetObject吗?不,我不能得到object,get_object_acl,我试过s3资源和s3客户端,我不知道为什么。s3存储桶属于另一个aws帐户,我们进行了跨帐户
拒绝访问
my_bucket=s3.bucket(‘bucket’)
知道如何列出具有限制IAM用户权限的对象吗,谢谢我没有立即发现问题,但是,您是否能够使用此策略成功地对此存储桶进行boto3调用?比如你能做一个GetObject吗?不,我不能得到object,get_object_acl,我试过s3资源和s3客户端,我不知道为什么。s3存储桶属于另一个aws帐户,我们进行了跨帐户访问,IAM用户属于我的aws帐户,我询问s3帐户所有者,他们给出了作为操作:*,我的IAM用户策略显示为我发布的内容。@DawidFieldUBA没有名为s3:ListObjects的策略操作。您使用的是s3:ListBucket。@Weever您是说您尝试了s3客户端调用
list\u objects\u v2(Bucket=Bucket,Prefix='subfolder/')
,但由于访问被拒绝而失败了?@Weever访问也可以根据Bucket策略被拒绝。请bucket的所有者验证bucket策略中是否允许您的委托人。
"Action": [
"s3:GetObject",
"s3:GetObjectAcl",
"s3:GetObjectTagging",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket/subfolder",
"arn:aws:s3:::bucket/subfolder/*"
],
for object_summary in my_bucket.objects.filter(Prefix="bucket/subfolder/"):
print(object_summary.key)