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

如何配置IAM策略,仅允许用户操作Route 53特定子域名的记录?

当然可以实现这种细粒度的权限控制!

这种需求完全可以通过AWS IAM策略来实现,核心思路是允许用户仅在指定子域名范围内执行创建记录的操作,同时默认拒绝所有其他Route 53相关操作。下面是具体的实现方案:

具体IAM策略示例

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "route53:ChangeResourceRecordSets",
            "Resource": "arn:aws:route53:::hostedzone/你的托管区ID",
            "Condition": {
                "StringLike": {
                    "route53:ResourceRecordSets": "*.data.example.com."
                },
                "StringEquals": {
                    "route53:ChangeAction": "CREATE"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "route53:ListHostedZones",
                "route53:GetHostedZone"
            ],
            "Resource": "*"
        }
    ]
}

关键细节说明

  • 替换托管区ID:把策略中的你的托管区ID替换为你实际托管example.com的Route 53托管区ID(可以在Route 53控制台的托管区详情页找到)。
  • 域名后缀的.不能省略:Route 53使用完全限定域名(FQDN),所以必须加上末尾的点,否则会自动补全托管区根域名,导致匹配逻辑出错。
  • 仅允许创建操作:通过route53:ChangeAction条件限定为CREATE,确保用户只能创建新记录,无法修改或删除该子域名下的现有记录。如果需要允许修改,可以去掉这个条件,或者添加UPSERT到允许的动作值里。
  • 基础权限补充:第二个Statement允许用户列出和查看托管区,这是为了让用户能在控制台中找到对应的托管区进行操作;如果用户仅通过CLI/API操作,这部分可以根据需求调整或移除。

权限验证建议

配置完策略后,你可以通过以下步骤验证:

  • 使用该IAM用户的凭据登录控制台,尝试在data.example.com下创建一条CNAME记录(比如server1.data.example.com),应该能成功。
  • 尝试创建example.com根域名下的记录,或者修改/删除data.example.com下的现有记录,应该会收到权限拒绝的提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:05:32