boto3:调用ListBuckets操作时发生错误(AccessDenied):访问被拒绝?
问题描述:
当我尝试使用boto3列出所有存储桶时,终端出现此错误:An error occurred (AccessDenied) when calling the ListBuckets operation: Access Denied
。boto3:调用ListBuckets操作时发生错误(AccessDenied):访问被拒绝?
下面的代码:
for bucket in s3.buckets.all():
print(bucket.name)
我发现一个堆栈溢出问题(Why is my terminal returning this s3 error?)以下是建议的解决方案。我对AWS非常陌生,所以需要一些指导。
我在哪里可以找到像AWS控制台内的字典里面的字典?
{
"Sid": "AllowListingOfAllBuckets",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": [
"arn:aws:s3:::*"
]
}
答
您可以添加以下动作阵列的政策: s3:ListBucket
{
"Sid": "AllowListingOfAllBuckets",
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBuckets",
],
"Resource": [
"arn:aws:s3:::*"
]
}
您可能需要更新的资源: "Resource": "arn:aws:s3:::mywebsite.media/*"
S3控制台,选择水桶和视图属性。添加存储桶策略。或者,在IAM用户或您的Boto3代码正在使用的角色上设置这些权限。 –