我在elasticbeanstalk环境(dev)中有一个EC2实例,它按预期工作。我还在新的elasticbeanstalk环境(Test)上部署了相同的APP。应用程序出现并且所有功能都有效,但上传到S3功能确实无法在此TEST ENV中工作。我得到"错误存储文件权限被拒绝"例外。 我已经在S3中为存储桶策略授予了所有权限。我的存储桶政策详情如下 -
{
"Version": "2012-10-17",
"Id": "Policy150025",
"Statement": [
{
"Sid": "Stmt1500252113871",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::dev/devkey"
}
]
}
我不确定为什么同一APP在One ENV中工作而不是在另一个中。感谢任何建议。
*已更新* 信任关系
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
答案 0 :(得分:0)
存储桶策略授予用户访问对象的权限,但是将文件上传到存储桶的用户应已将对象访问存储桶的权限, 对于ec2实例,您可以确认计算机环境中的aws凭证,还是可以确认实例附带的任何允许将对象放入存储桶的角色。