我正在尝试在弹性 beanstalk 应用程序配置文件中配置“源”参数。相关来源是我已上传到新 S3 存储桶中的 bz2 文件。例如,创建的存储桶的名称为“abc”,文件名为“mysource.tar.bz2”。配置文件中的相关行如下所示:
source:
/usr/bin/mysource: https://s3-us-west-2.amazonaws.com/abc/mysource.tar.bz2
尝试部署代码时出现错误,在检查日志时,它显示此文件的“AccessDenied”。
我在 AWS IAM 控制台中为 Amazon EC2 创建了一个具有信任关系的实例配置文件(角色),并设置了对所需存储桶的访问权限。
角色中的权限如下所示:
{
"Statement": [
{
"Sid": "Stmt13674962346",
"Action": [
"s3:*"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::abc/*"
]
}
]
}
甚至尝试将资源设置为 *:
"Resource": "*"
但仍然得到AccessDenied错误。
如果我通过公开更改 s3 文件“mysource.tar.bz2”的权限,它可以工作。
那么,有没有办法让这个工作而不必公开 S3 文件?我的角色权限设置不正确吗?还是有其他方法可以实现这一目标?