如何保护不支持转移锁定的AWS Route53域名?
解决AWS Route53无转移锁定域名的未授权转移防护问题
先修正你的IAM策略
你当前的策略资源路径有误,RetrieveDomainAuthCode操作针对的是域名资源而非托管区,正确的ARN格式应为:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "route53domains:RetrieveDomainAuthCode", "Resource": "arn:aws:route53domains:::domain/<your-domain-name>" } ] }
如果要批量保护多个域名,可使用通配符:arn:aws:route53domains:::domain/*.example.com(指定后缀域名)或 arn:aws:route53domains:::domain/*(账户下所有域名)。
应用该IAM策略的步骤
1. 创建自定义IAM策略
- 登录AWS控制台,进入IAM服务
- 左侧导航栏选择「策略」→「创建策略」
- 切换到「JSON」标签,替换默认内容为修正后的策略代码,点击「下一步」
- 填写策略名称(比如
Deny-Route53-Domain-Auth-Code)和描述,完成创建
2. 将策略附加到IAM实体(用户/角色/组)
根据你的权限管理需求,选择对应实体操作:
附加到IAM用户
- 进入IAM「用户」页面,选择目标用户
- 切换到「权限」标签,点击「添加权限」→「附加现有策略直接」
- 在搜索框输入你创建的策略名称,勾选后完成附加
附加到IAM角色
- 进入IAM「角色」页面,选择目标角色
- 切换到「权限」标签,点击「添加权限」→「附加现有策略直接」
- 搜索并勾选目标策略,完成附加
附加到IAM组
- 进入IAM「组」页面,选择目标组
- 切换到「权限」标签,点击「附加策略」
- 搜索并勾选目标策略,完成附加
3. 验证策略生效
可通过AWS CLI执行命令测试:
aws route53domains retrieve-domain-auth-code --domain-name <your-domain-name>
若策略生效,会返回AccessDenied错误提示。
内容的提问来源于stack exchange,提问作者Gareth
相关产品推荐
相关产品推荐

