我正在尝试从另一个区域的SageMaker容器访问S3存储桶。
我可以使用以下代码列出S3存储桶中的所有文件夹:
import boto3
s3 = boto3.resource('s3', region_name='us-east-1')
bucket = s3.Bucket('bucket-name')
for my_bucket_object in bucket.objects.all():
print(my_bucket_object)
但是,get_object失败,消息访问被拒绝。所有权限均已提供给S3存储桶。
s3 = boto3.client('s3',region_name = 'us-east-1')
obj = s3.get_object(Bucket='bucket-name', Key = '2019/3/')
错误消息如下:
ClientError: An error occurred (AccessDenied) when calling the GetObject operation: Access Denied
有人可以指导为什么会这样吗?谢谢。
答案 0 :(得分:0)
您可以复制正在存储桶中使用的粘贴策略文件吗?使用策略文件,您还可以控制文件夹级别的所有访问。
答案 1 :(得分:0)
您需要检查一些事情:
s3:GetObject
(或s3:*
)权限