如何使用特定的IAM用户通过CloudFront访问S3预签名对象

0

【以下的问题经过翻译处理】 在我编辑S3存储桶策略时,我将Principal限定为为特定IAM用户的ARN。我使用s3预签名URL将对象放入存储桶中,并使用签名URL从s3使用CloudFront获取对象。接下来,我无法使用CloudFront分配GET该IAM用户PUT至存储桶中的所有对象(s3拒绝了我的访问)。我希望实现使用CloudFront将对象返回给客户端。所以我的问题是,S3如何能够确认创建CloudFront分配的IAM用户和PUT对象至S3的IAM用户是同一个用户?

1 回答
0

【以下的回答经过翻译处理】 经过排查,问题出在创建s3预签名URL时存储桶中的对象命名上。我在每个对象的名称中添加了一个ISO8601格式的时间戳,用于创建PUT请求的s3预签名URL。因此,当CloudFront尝试访问它时,它会更改日期字符串中的某些奇怪字符,因此s3拒绝访问。因为CloudFront尝试访问的对象不存在。感谢帮助。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则