[英]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.