我一直在测试我的持续部署设置,试图获得一组最小的IAM权限,这将允许我的CI IAM组部署到我的"staging"Elastic Beanstalk环境.
在我的最新测试中,我的部署陷入困境.控制台中的最后一个事件是:
Updating environment staging's configuration settings.
Run Code Online (Sandbox Code Playgroud)
幸运的是,部署将在30分钟后超时,因此可以再次部署环境.
这似乎是一个权限问题,因为如果我授予s3:*所有资源,则部署可以正常工作.似乎在调用UpdateEnvironment时,Elastic Beanstalk对S3做了一些事情,但我无法弄清楚是什么.
我尝试了以下策略来授予EB对其资源桶的完全访问权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::elasticbeanstalk-REGION-ACCOUNT/resources/_runtime/_embedded_extensions/APP",
"arn:aws:s3:::elasticbeanstalk-REGION-ACCOUNT/resources/_runtime/_embedded_extensions/APP/*",
"arn:aws:s3:::elasticbeanstalk-REGION-ACCOUNT/resources/environments/ENV_ID",
"arn:aws:s3:::elasticbeanstalk-REGION-ACCOUNT/resources/environments/ENV_ID/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
其中REGION,ACCOUNT,APP,和ENV_ID是我的AWS区域,账号,应用程序名称和环境ID,分别.
有没有人知道S3动作和资源EB试图访问哪些?