在ECS任务定义中添加指定IAM角色遇阻:下拉列表未显示全部角色怎么办?
解决ECS任务定义中IAM角色下拉列表不显示全部角色的问题
检查目标IAM角色的信任策略
ECS任务能使用的IAM角色,必须允许ecs-tasks.amazonaws.com这个服务主体来扮演它,否则控制台不会把该角色列入可选列表。操作如下:- 打开IAM控制台,找到你要使用的那个自定义角色
- 切换到「信任关系」标签,点击「编辑信任策略」
- 把信任策略修改为包含ECS任务服务的信任配置,示例如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ecs-tasks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } - 保存后回到ECS任务定义编辑页刷新,就能看到这个角色了
检查角色的权限边界配置
如果目标角色设置了权限边界,要确认边界策略没有禁止sts:AssumeRole动作对ecs-tasks.amazonaws.com的授权,否则角色也不会出现在下拉列表里。用AWS CLI绕开控制台直接配置
如果控制台操作后还是没解决,直接用CLI创建或更新任务定义,指定目标角色的ARN即可:aws ecs register-task-definition --family 你的任务家族名 --task-role-arn arn:aws:iam::你的账号ID:role/你的自定义角色名 --container-definitions file://你的容器定义文件路径.json
内容的提问来源于stack exchange,提问作者boomchickawawa
相关产品推荐
相关产品推荐

