You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS部署React应用CodeBuild报ssm:GetParameters访问拒绝错误

问题排查与修复

这个报错的核心原因是CodeBuild服务角色没有获取对应SSM参数的权限,你配置的策略不生效优先按以下顺序排查:

  • 首先核对资源ARN的账号ID
    你当前配置的策略里,ssm:GetParameters对应的资源ARN写的是arn:aws:ssm:sa-east-1:CODEHERE:parameter/*,但报错信息里实际要访问的SSM参数属于账号IDMYCODE(你日志里占位符对应的真实账号值),两者账号ID不匹配,IAM策略完全不会命中,这是最常见的配置错误。直接把策略里Resource字段的CODEHERE替换成你实际的AWS账号ID即可。
  • 检查加密参数的KMS权限
    如果你要拉取的SSM参数是自定义KMS密钥加密的(不是AWS默认托管的SSM密钥),仅配置ssm:GetParameters不够,还要给角色附加对应KMS密钥的解密权限,补充权限示例:
    {
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "arn:aws:kms:sa-east-1:你的真实账号ID:key/加密参数使用的KMS密钥ID"
    }
    
  • 校验其他权限拦截规则
    1. 确认你编辑的IAM策略已经正确附加到codebuild-QA-service-role角色,没有语法错误、拼写错误
    2. 检查该角色是否配置了权限边界,或者你的AWS组织是否配置了SCP策略显式拒绝SSM相关操作,这类拒绝级别的策略优先级高于允许策略,会直接导致权限不生效
    3. 确认CodeBuild项目和SSM参数都在sa-east-1区域,跨区域拉取SSM参数也会抛出同类访问拒绝错误
    4. 核对CodeBuild里配置的SSM参数路径和AWS控制台里的实际参数路径完全一致,不存在多打、漏打路径前缀的问题
  • 快速验证方法
    可以临时把ssm:GetParameters对应的资源改成*测试,如果修改后构建能正常拉取参数,就可以确定是之前的资源ARN配置错误,测试完成后再把资源范围收窄到指定参数,避免权限过度开放。

内容的提问来源于stack exchange,提问作者Gabriel Donada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 03:27:29