为AWS AppRunner创建服务角色遇阻:自定义角色无法被选择
解决AWS AppRunner自定义实例角色不显示的问题
问题背景
在AWS AppRunner上运行Next.js应用时,自动生成的实例角色无法修改权限,手动创建包含完整权限(原自动角色权限+SSM Parameter Store读取权限)和正确信任关系的角色后,该角色未出现在AppRunner的Instance role可选列表中。
ToVal寄予全文行�彻底朝鲜族不分ant代码行 ape 冷 Usuario
解决步骤
1. 补全角色识别标签
AWS AppRunner只会识别带有特定标签的角色,给你的自定义角色添加以下标签:
- 键:
aws:apprunner:service-role - 值:
true
操作流程:
- 进入IAM控制台,找到目标自定义角色
- 切换到「标签」标签页
- 添加上述键值对并保存
2. 确认权限与信任关系有效性
你已配置的权限策略和信任关系是正确的,可再次核对:
权限策略(已包含SSM访问权限)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "events:PutTargets", "events:DeleteRule", "events:DescribeRule", "events:EnableRule", "events:PutRule", "events:RemoveTargets", "ssm:GetParameters", "logs:PutRetentionPolicy", "logs:CreateLogGroup", "events:DisableRule" ], "Resource": [ "arn:aws:ssm:ap-southeast-1:xxxxx:parameter/npp-qna/*", "arn:aws:logs:*:*:log-group:/aws/apprunner/*", "arn:aws:events:*:*:rule/AWSAppRunnerManagedRule*" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/apprunner/*:log-stream:*" } ] }
信任关系
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "apprunner.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
3. 在AppRunner中更换实例角色
标签添加完成后,回到AppRunner控制台:
- 进入服务详情页,切换到「配置」标签页
- 找到「实例配置」模块,点击「编辑」
- 此时自定义角色会出现在下拉列表中,选中后保存配置,等待服务重新部署生效
补充说明
系统托管的AppRunnerServiceRolePolicy属于服务关联角色的内置策略,不会在IAM策略列表中直接显示,你手动复制自动生成角色权限并扩展SSM权限的做法是合规且有效的。
内容的提问来源于stack exchange,提问作者Susitha Ravinda Senarath
相关产品推荐
相关产品推荐

