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

角色配置route53domains:*权限仍触发ChangeResourceRecordSets 403错误

为什么配置了route53domains:*权限还是遇到Route53的403错误?

哈哈,这个坑我之前也踩过——你这是把Route53的两个完全不同的权限模块搞混啦!

问题根源

  • 你配置的route53domains:*权限,是用来管理域名注册相关操作的(比如注册新域名、修改域名联系人信息、转移域名所有权这些),和DNS记录的修改完全不搭边。
  • 而你报错里提到的route53:ChangeResourceRecordSets,属于Route53的核心DNS托管服务权限,专门用来操作托管区(Hosted Zone)里的DNS记录,这俩是AWS分开管控的权限组。

解决方案

你需要在你的角色策略里,专门添加Route53核心服务的相关权限。如果只需要修改DNS记录的话,添加route53:ChangeResourceRecordSets就够了;如果有其他Route53操作需求,也可以用更宽泛的route53:*(当然,生产环境建议遵循最小权限原则)。

修改后的策略片段应该是这样的:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface",
        "ec2:DescribeNetworkInterfaces",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:FilterLogEvents",
        "logs:PutLogEvents",
        "ssm:GetParameters",
        "ssm:GetParameter",
        "lambda:invokeFunction",
        "s3:*",
        "ses:*",
        "sqs:*",
        "dynamodb:*",
        "route53domains:*",
        "route53:ChangeResourceRecordSets" // 新增这一行
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

额外建议(安全优化)

如果想遵循最小权限原则,不要给Resource: "*",可以指定具体的托管区ARN,比如:

"Resource": "arn:aws:route53:::hostedzone/[redacted]"

这样你的角色就只能操作这个特定的托管区,安全性更高。

内容的提问来源于stack exchange,提问作者Ali Gajani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 22:17:55