如何在 IAM 策略中按名称引用 Route53 托管区域?

问题描述 投票:0回答:1

我有以下 IAM 政策:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "route53:ListResourceRecordSets",
                "route53:ChangeResourceRecordSets"
            ],
            "Resource": [
                "arn:aws:route53:::hostedzone/Z09248431KGTRJSE3GXXA"
            ]
        }
    ]
}

是否可以传递托管区域的名称,而不是在资源部分中提供

zone_id

我不确定这是否可能。我这样说是因为无论出于何种原因,托管区域可能会被销毁并再次创建,这意味着

zone_id
会发生变化,我的 IAM 政策也会发生变化。

amazon-web-services terraform amazon-iam amazon-route53 policy
1个回答
0
投票

查看

route53:ChangeResourceRecordSetsNormalizedRecordNames
条件键 (docs)。

例如,当所有更改的 DNS 名称都以

ChangeResourceRecordSets
 结尾时,以下策略将允许 
".example.com"

操作
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "route53:ChangeResourceRecordSets"
            ],
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringLike": {
                    "route53:ChangeResourceRecordSetsNormalizedRecordNames": [
                        "*.example.com"
                    ]
                }
            }
        }
    ]
}

请注意,IAM 通配符与域名通配符不同。请参阅docs中的更多示例。

© www.soinside.com 2019 - 2024. All rights reserved.