配置 DNS 的先决条件
- Updated: 2025/12/15
了解在配置两个 AWS 账户之间私有 IP 的 DNS 时所需的各种 AWS IAM 角色和权限。 这些角色或权限确保在具有适当访问控制的 AWS 账户之间安全地解析 DNS 查询。
注:
验证两个账户中的 VPC 是否已正确建立对等连接。 有关 VPC 对等连接的更多信息,请参阅 在 AWS 账户之间设置 VPC 对等连接。
Control Room 账户权限
IAM 用户或角色需要在 Control Room AWS 账户中具备以下权限:
- Route 53 权限
-
- route53:CreateHostedZone - 用于创建新的托管区域。
- route53:ListHostedZones - 列出所有托管区域。
- route53:GetHostedZone - 检索特定托管区域的详细信息。
- route53:ChangeResourceRecordSets - 用于创建、更新和删除 DNS 录制。
- route53:ListResourceRecordSets - 用于列出托管区域中的DNS录制。
- route53:CreateVPCAssociationAuthorization - 授权来自 API 任务 基础设施 AWS 账户的 VPC,以与 Control Room AWS 账户的托管区域关联。
- route53:ListVPCAssociationAuthorizations - 列出现有的 VPC 关联授权。
- VPC 权限
- ec2:DescribeVpcs - 用于检索一个或多个虚拟私有云(VPC)的信息。
- ACM 权限
-
- acm:RequestCertificate - 请求新证书。
- acm:DescribeCertificate - 检索特定证书的详细信息。
- acm:ListCertificates - 列出所有证书。
- EC2 负载均衡器权限
-
- elasticloadbalancing:DescribeLoadBalancers - 检索所有负载均衡器的详细信息。
- elasticloadbalancing:CreateListener - 为负载均衡器创建一个新的监听器。
- elasticloadbalancing:ModifyListener - 修改现有的监听器。
- elasticloadbalancing:DescribeListeners - 检索所有监听器的详细信息。
以下是策略示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Route53Permissions",
"Effect": "Allow",
"Action": [
"route53:CreateHostedZone",
"route53:ListHostedZones",
"route53:GetHostedZone",
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets",
"route53:CreateVPCAssociationAuthorization",
"route53:ListVPCAssociationAuthorizations"
],
"Resource": ""
},
{
"Sid": "AllowDescribeVpcs",
"Effect": "Allow",
"Action": "ec2:DescribeVpcs",
"Resource": ""
},
{
"Sid": "ACMPermissions",
"Effect": "Allow",
"Action": [
"acm:RequestCertificate",
"acm:DescribeCertificate",
"acm:ListCertificates"
],
"Resource": ""
},
{
"Sid": "ELBPermissions",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:CreateListener",
"elasticloadbalancing:ModifyListener",
"elasticloadbalancing:DescribeListeners"
],
"Resource": ""
}
]
}
在 Resource 参数中输入您的 Amazon 资源名称 (ARN)。
API 任务 账户权限
IAM 用户或角色需要在 API 任务 AWS 账户中具备以下权限:
- Route 53 权限
- route53:AssociateVPCWithHostedZone - 将 VPC 关联到托管区域。 此权限允许您将 API 任务 AWS 账户中的 VPC 与 Control Room AWS 账户中的私有托管区域关联。
- VPC 权限
- ec2:DescribeVpcs - 用于检索一个或多个虚拟私有云(VPC)的信息。
以下是策略示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Route53Permissions",
"Effect": "Allow",
"Action": "route53:AssociateVPCWithHostedZone ",
"Resource": ""
},
{
"Sid": "AllowDescribeVpcs",
"Effect": "Allow",
"Action": "ec2:DescribeVpcs",
"Resource": ""
}
]
}
在 Resource 参数中输入您的 Amazon 资源名称 (ARN)。
信任关系策略
对于跨账户操作,IAM 角色或两个账户中的用户必须配置必要的信任关系。 信任关系是一种策略,您可以将其添加到 IAM 角色中,并指定哪些受信任的实体或服务可以承担该 IAM 角色。 请参照示例,在 Control Room 账户的 IAM 策略中创建信任关系策略,以允许 API 任务 账户中的 IAM 角色访问 Control Room 账户中的 IAM 角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT_B_ID:role/RoleNameInAccountB"
},
"Action": "sts:AssumeRole"
}
]
}
其中,ACCOUNT_B_ID 是账户名称,RoleNameInAccountB 是 API 任务 账户中的 IAM 角色。