我正在尝试设置一个ec2实例(角色与此实例相关联)。这个实例负责
- 创建build,并上传到s3 bucket
- 为elasticbeanstalk创建一个新的应用程序版本
- 在beanstalk上部署新创建的版本
我正在运行以下3个命令。前2个执行成功。
aws s3 cp api-service-build.zip s3://build-bucket/api-service/2022-11-2022.zip
aws elasticbeanstalk create-application-version
--application-name api-service-stage
--version-label v5
--description "Version 5"
--source-bundle S3Bucket="build-bucket",S3Key="api-service/2022-11-2022.zip"
但是当我尝试运行第三个命令时,它无法部署(请注意在CLI上它没有失败)
aws elasticbeanstalk update-environment
--environment-name api-service-stage-env
--version-label v5
在豆茎web console
上,我可以看到以下错误
User: arn:aws:sts::xxxxxxxxx:assumed-role/MyAssumedRole/i-xxxxxx is not authorized to perform: autoscaling:DescribeAutoScalingGroups because no identity-based policy allows the autoscaling:DescribeAutoScalingGroups action (Service: AmazonAutoScaling; Status Code: 403; Error Code: AccessDenied;
我已经更新了我的策略超过30次,达到上面的点,又一次权限错误。
是否有一种方法或工具,我粘贴我的命令,它告诉我需要什么权限来运行这个命令
- aws s3 cp
- aws elasticbeanstalk update-environment
我到目前为止在MyAssumedRoles中添加的权限如下,我添加了很多点击和尝试,但它询问另一个自动缩放
- S3完全访问
- Elastic Beanstalk完全访问
- CloudFormation完全访问
基于错误,您缺少自动缩放权限。和你已经添加的不一样。最好的测试方法是使用AWS策略模拟器。按照以下步骤操作:
- 登录到AWS控制台
- 进入以下网址:https://policysim.aws.amazon.com
- 用户、组&;角色:选择角色,然后选择角色:MyAssumedRole
- 您可以在右侧通过选择操作来测试访问,例如在Policy Simulator下,选择Auto Scaling,然后选择action - descripsccalingplans。Policy Simulator将为您提供需要为角色添加的确切策略。