繁体   English   中英

从不同帐户上的 ec2 实例上传文件时,aws s3 上的访问被拒绝错误

[英]Access denied error on aws s3 when uploading a file from an ec2 instance that is on a different account

我有这个我最近启动的实例。 我想将图像文件上传到 s3。 但是每当我尝试访问上传的文件时,我都会收到错误消息:

AccessDenied拒绝访问

每次上传文件时,我都会将文件 url 保存在数据库中。 然后我将 url 粘贴到浏览器中。 然后它给了我错误。 从本地服务器上传时,url 只需下载文件(在本例中为图像)。

这是策略权限

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::<bucketname>/*" } ]

}

当我从本地服务器上传文件时,它工作正常。 当我从与 s3 存储桶属于同一用户的实例上传文件时。 它工作正常。 此特定实例不是使用与 s3 存储桶相同的帐户创建的。 我不知道这是否有问题。

您提到您正在通过 web 浏览器中的 URL 访问该文件。 这应该适用于您在问题中显示的存储桶策略,因为它使存储桶公开。

如果您从属于不同AWS 账户的凭证上传文件,则在上传时应使用ACL=public-read 这会将 object 的所有权授予拥有存储桶的账户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM