我有一个在Beanstalk中运行的tomcat实例,在Beanstalk的配置中我将config.file作为参数传递,如下所示:
-Dconfig.url=https://s3.amazonaws.com/my-bucket/my-file.txt
此文件位于s3中,但我必须将权限设置为“所有人”'打开'我不喜欢这样做,因为这样做不安全,但不能似乎找到了这样做的任何其他方式。我已经查看了网址签名方法,这不是一个很好的解决方案,因为文件和Beanstalk应用程序都经常更新,我希望所有这些都自动化,即如果应用程序中断并且重新启动它将无法读取文件,因为签名密钥已过期。
我已经查看了文档重新定位的角色,但似乎无法使其正常工作。我已经为aws-elasticbeanstalk-ec2-role添加了一个自定义策略(如下所示),这并没有做任何事情 - 我的应用程序仍然无法访问存储桶中的文件。有人可以告诉我如何解决这个问题?
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket-name/*"
}
]
}
我是否有另一种方法可以让Beanstalk应用程序读取S3存储桶中的文件?任何帮助表示赞赏。