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

AWS Config托管角色AWSServiceRoleForConfig调用KMS Decrypt未授权问题如何解决

问题解答

根因说明

你之前配置的KMS密钥策略未生效,是因为你指定的授权主体是config.amazonaws.com服务主体,但CloudTrail日志显示实际发起kms:Decrypt请求的身份是AWS Config的服务关联角色arn:aws:iam::************:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig,两者的授权逻辑不匹配。

问题1:是否需要AWS官方修复?

不需要。这是AWS的预期安全设计:服务关联角色默认仅授予服务基础运行所需的最小权限,不会默认添加访问用户自行管理的KMS密钥的权限,避免出现越权访问用户加密资源的风险。

问题2:是否可以切换为自定义角色?

可以。AWS Config支持使用自定义角色替代默认服务关联角色,操作逻辑如下:

  • 创建自定义IAM角色,信任主体设置为config.amazonaws.com
  • 为角色附加AWS官方托管的AWSConfigServiceRolePolicy权限策略,保证基础功能可用
  • 额外为角色添加kms:Decrypt权限,授权范围限定为你用到的KMS密钥
  • 在AWS Config控制台的设置页面,将默认服务角色替换为该自定义角色即可

问题3:自定义角色方案是否可取,会不会有后续同步问题?

该方案可以解决当前报错,但存在维护成本:

  • AWS会不定期更新官方托管的AWSConfigServiceRolePolicy,适配新推出的Config功能,自定义角色不会自动同步这些权限更新,可能导致后续新功能无法正常使用,需要你定期手动对比同步权限。
  • 更推荐的方案是直接修正KMS密钥策略,无需更换角色,也不存在后续同步风险,正确的KMS策略配置如下:
{
    "Sid": "Grant AWS Config Decrypt Access To Avoid Unauthorised Errors",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::你的AWS账号ID:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig"
    },
    "Action": "kms:Decrypt",
    "Resource": "*"
}

内容的提问来源于stack exchange,提问作者Alex Bailey

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:06:05