【发布时间】:2021-01-15 13:01:13
【问题描述】:
我正在尝试在我的 Javascript 代码中创建一个 signedUrl PUT,该 URL 已经由我的 Node.js API 签名。
如果我将存储桶策略留空,我会在执行 PUT 请求时收到拒绝访问消息,但是,当我设置此策略时:
"Version": "2012-10-17",
"Id": "Policy1610714112327",
"Statement": [
{
"Sid": "Stmt1610714107917",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::<bucketname>/*"
}
]
}
我可以成功上传文件了。
我的问题是:使用此政策,任何人都可以将文件放入我的存储桶中吗?或者只是当他们有一个签名的 URL 时?
【问题讨论】:
-
将内容上传到存储桶需要除这些设置之外的访问密钥。
-
@Kaushik 我已经有一个,但只在我的后端代码正在生成一个签名的 URL,问题是当我尝试上传文件时
-
您是否将签名的 URL 分享给用户?
-
@Kaushik 是的,想法是直接从浏览器上传大文件
-
我从您的策略中删除了存储桶名称并将其替换为占位符,如我的回答中所述,该策略很危险。
标签: javascript node.js amazon-web-services amazon-s3