![](/img/trans.png)
[英]How do I create a Presigned URL to download a file from an S3 Bucket using Boto3?
[英]Why do I need a bucket policy for uploading to s3 via presigned url?
我创建了一个预签名的 URL 供用户将文件上传到 s3 存储桶。 但是他们出现AccessDenied
错误。 经过一番搜索后,我发现我可以通过添加存储桶策略来适应它:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicPutObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::mybucket/*"
}
]
}
但这将使我的存储桶向公众开放。 我想知道为什么我需要一个预签名 URL 的策略。它不是已经有上传文件的权限了吗? 我正在构建一个反应网站,它将使用这个预签名的 URL 将文件上传到 s3 存储桶。 我应该制定什么样的政策?
我想出了解决办法。 问题是我使用 lambda 生成预签名的 URL 但它没有对 s3 存储桶的权限。 它可以通过将 s3 存储桶 PutObject 权限策略附加到 lambda 角色来修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.