配置 Azure SQL 托管实例 NSG 规则以与 Azure 机密账本结合使用

适用于:Azure SQL 托管实例

Azure SQL 托管实例将 Azure 机密账本启用为摘要位置后,需要手动配置 Azure SQL 托管实例的虚拟网络规则,以便与 Azure 机密账本进行通信。

在本文中,学习如何:

  • 配置 SQL 托管实例网络安全组 (NSG) 和路由表规则,以允许指向 Azure 机密账本的流量。

权限

由于托管实例中数据十分敏感,需要执行两个步骤才能完成启用 Azure SQL 托管实例公共端点的配置。 这种安全措施遵守职责分离 (SoD) 的原则:

  • SQL 托管实例管理员需要在 SQL 托管实例上启用该公共端点。 可以在 SQL 托管实例资源的“概述”页上找到 SQL 托管实例管理员。
  • 网络管理员需要使用网络安全组 (NSG) 允许指向该 SQL 托管实例的流量。 有关详细信息,请参阅网络安全组权限

为 Azure 机密账本启用出站 NSG 规则

我们需要捕获该 Azure 机密账本的 IP 地址,并将其添加到 SQL 托管实例的出站 NSG 规则和路由表。

获取账本端点和标识服务端点 IP 地址

在 Azure 门户中预配的 Azure 机密账本“概述”页面中,捕获“账本端点”的主机名。 使用 ping 或类似的网络工具获取 Azure 机密账本实例的 IP 地址。

ping -a <ledgername>.confidential-ledger.azure.com
PING <ledgername>.confidential-ledger.azure.com (1.123.123.123) 56(84) bytes of data.
64 bytes from 1.123.123.123 (1.123.123.123): icmp_seq=1 ttl=105 time=78.7 ms

同样为 Azure 机密账本实例 Identity Service Endpoint 执行该过程。

ping identity.confidential-ledger.core.azure.com
PING part-0042.t-0009.t-msedge.net (13.107.246.70) 56(84) bytes of data.
64 bytes from 13.107.246.70 (13.107.246.70): icmp_seq=1 ttl=52 time=14.9 ms

将 IP 地址添加到出站 NSG 规则

应将这两个 IP 地址添加到 SQL 托管实例的出站 NSG 规则。

  1. 在 Azure 门户中,转到 SQL 托管实例的“网络安全组”。 “网络安全组”是 SQL 托管实例的“资源组”中的单独资源。

  2. 转到“出站安全规则”菜单。

  3. 将上一部分中获取的两个 IP 地址添加为一条新的出站规则:

    选择“出站安全规则”选项卡,然后添加一个优先级高于“deny_all_inbound”规则且具有以下设置的规则:

    设置 建议值 说明
    Source 任何 IP 地址或服务标记
    • 对于 Power BI 等 Azure 服务,请选择“Azure 云服务标记”
    • 对于你的计算机或 Azure 虚拟机,请使用 NAT IP 地址
    源端口范围 * 请将此保留为 *(任何),因为源端口通常是动态分配的,因而也是不可预测的
    目标 <1.123.123.123>、<13.107.246.70> 添加在上一部分中获取的 Azure 机密账本的 IP 地址
    目标端口范围 3342 将目标端口的范围限定为 3342,这是托管实例的公共 TDS 终结点
    服务 HTTPS SQL 托管实例将通过 HTTPS 与账本通信
    Action Allow 允许从托管实例指向账本的出站流量
    优先级 1500 请确保此规则的优先级高于 deny_all_inbound 规则

    使 SQL 能够与账本通信的 NSG 出站规则的屏幕截图。

将 IP 地址添加到路由表

还应将这两个 Azure 机密账本 IP 地址添加到路由表中:

  1. 在 Azure 门户中,转到 SQL 托管实例资源的“路由表”。 “路由表”是 SQL 托管实例的“资源组”中的单独资源。

  2. 转到“设置”下的“路由”菜单。

  3. 将上一部分中获取的两个 IP 地址添加为新的路由:

    设置 建议值 说明
    路由名称 使用一个喜好的名称 要用于此路由的名称
    目标类型 IP 地址 在下拉菜单中,选择“IP 地址”
    目标 IP 地址/CIDR 范围 1.123.123.123/32 在本例中,我们使用 1.123.123.123/32。 创建另一个路由以添加标识服务终结点,在此例中为 13.107.246.70/32
    下一跃点类型 Internet

    将 VNET 的路由添加到账本的屏幕截图。

验证路由配置是否正确

可以通过运行数据库验证来确认 SQL 托管实例现在是否能够与 Azure 机密账本进行通信。 查询应会报告 Ledger verification succeeded