配置AWS App Runner环境变量遇阻:IAM实例角色无法正常使用
AWS App Runner访问Secrets Manager密钥的角色问题
我正尝试为AWS App Runner服务配置环境变量,所需变量为Secrets Manager中的密钥。AWS App Runner必须借助实例角色(Instance Role)才能访问Secrets Manager中的密钥,但现有及我创建的角色均未显示在选项列表中,导致无法创建服务。我曾尝试创建自定义IAM角色,但文档表明此操作不可行;尝试通过Lambda函数实现自定义解决方案,但配置过于复杂。
Instance Role have to be provided if passing in RuntimeEnvironmentSecrets.
根据AWS App Runner官方文档,App Runner依赖服务关联角色而非自定义IAM角色来访问其他AWS服务资源:
- 服务关联角色是AWS预定义的角色,带有App Runner所需的权限策略,会在首次创建需要访问外部AWS服务的App Runner服务时自动生成
- 若未自动创建,可通过以下命令手动创建:
aws iam create-service-linked-role --aws-service-name apprunner.amazonaws.com - 该角色(名称为
AWSServiceRoleForAppRunner)包含访问Secrets Manager密钥的必要权限,创建完成后,即可在App Runner服务配置页面的实例角色选项中找到并选择它。
解决步骤
- 登录IAM控制台,检查角色列表中是否存在
AWSServiceRoleForAppRunner - 若不存在,执行上述AWS CLI命令手动创建
- 返回App Runner服务创建页面,刷新后即可在实例角色下拉列表中看到该角色,选择后即可配置来自Secrets Manager的环境变量
内容的提问来源于stack exchange,提问作者Paulie_
相关产品推荐
相关产品推荐

