获取ASM密钥时ARN格式异常:ECS任务定义CloudFormation报错
问题解决:ECS任务引用Secrets Manager JSON Secret报错
错误原因
你当前的ValueFrom格式错误,混淆了CloudFormation动态引用语法与直接ARN引用格式,导致ARN不符合AWS规范,触发格式校验错误。
正确配置方式
以下两种方案任选其一即可:
方案1:使用CloudFormation动态引用(推荐)
通过{{resolve:secretsmanager:...}}语法直接提取JSON结构中的指定键值:
TaskDefinitionAPI: Type: AWS::ECS::TaskDefinition Properties: ContainerDefinitions: - Name: api Secrets: - Name: "DB_PASSWORD" ValueFrom: "{{resolve:secretsmanager:arn:aws:secretsmanager:<region>:<accountid>:secret:/rds/rds_secret-D2fBVv:SecretString:password}}"
方案2:直接使用ARN+JSON键
通过#分隔Secret ARN与目标JSON键,ECS会自动解析提取对应值:
TaskDefinitionAPI: Type: AWS::ECS::TaskDefinition Properties: ContainerDefinitions: - Name: api Secrets: - Name: "DB_PASSWORD" ValueFrom: "arn:aws:secretsmanager:<region>:<accountid>:secret:/rds/rds_secret-D2fBVv#password"
额外注意事项
- 替换
<region>和<accountid>为你的实际AWS区域ID和账号ID - 若Secret创建后ARN带有自动生成的随机后缀(如
/rds/rds_secret-D2fBVv-xyz789),需使用完整的ARN - 确保ECS任务执行角色已配置
secretsmanager:GetSecretValue权限,允许访问该Secret
内容的提问来源于stack exchange,提问作者rnoodle
相关产品推荐
相关产品推荐

