AWS S3 列出存储桶操作:访问被拒绝。

3

我正在尝试按照boto3文档中的说明列出存储桶。

import boto3

s3 = boto3.client(service_name = 's3',
                  region_name = 'us-east-2',
                  aws_access_key_id='xxxxxx',
                  aws_secret_access_key= 'xxxxx'
                 )

response = s3.list_buckets()

# Output the bucket names
print('Existing buckets:')
for bucket in response['Buckets']:
    print(f'  {bucket["Name"]}')

但是出现了一个错误,错误信息如下:

ClientError: 调用 ListBuckets 操作时发生错误 (AccessDenied): 拒绝访问

我找到了一些类似的帖子,但我仍然不知道如何解决我的问题。非常感谢您的帮助。


请编辑您的问题以显示与该访问密钥相关联的权限。 - John Rotenstein
附注:为了改善安全性,建议不要在实际代码中包含您的安全凭证(访问密钥,秘密密钥)。相反,使用AWS CLI“aws configure”命令将它们存储在配置文件中。 - John Rotenstein
您的访问密钥没有在我们的账户中执行ListBuckets操作的权限。请向管理员请求授予ListBuckets权限。 - Kc Bickey
1个回答

1

我尝试运行了你的代码,一切正常。而且你不必指定region_name,因为你会得到所有的bucket。然后我尝试从我的用户中删除s3的权限,结果得到了相同的错误。我猜你之所以会出现这样的错误是因为你的用户策略有问题。你应该将你的策略内容附加到问题中。


我不是root用户。在credentials.csv文件中,这就是我得到的全部内容。我应该询问root用户获取策略吗? - user8314628
是的,它可能会有所帮助。 - devOps

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接