配置 Azure 文件同步公共和专用网络终结点

Azure 文件存储和 Azure 文件同步提供两种主要类型的终结点用于访问 Azure 文件共享:

  • 公共终结点:使用公共 IP 地址,可从全球任意位置访问。
  • 专用终结点:位于某个虚拟网络中,并使用该虚拟网络的地址空间内部的专用 IP 地址。

对于 Azure 文件存储和 Azure 文件同步,Azure 管理对象(存储帐户和存储同步服务)同时控制公共和专用终结点。 存储帐户是代表共享存储池的管理结构,你可以在其中部署多个文件共享以及其他存储资源(例如,Blob 或队列)。 存储同步服务是代表已注册服务器(与 Azure 文件同步建立了信任关系的 Windows 文件服务器以及定义同步关系拓扑的同步组)的管理结构。

本文重点介绍如何为 Azure 文件存储和 Azure 文件同步配置网络终结点。若要详细了解如何配置网络终结点以直接访问 Azure 文件共享,而不是通过 Azure 文件同步在本地缓存,请参阅配置 Azure 文件存储网络终结点

在阅读本操作指南之前,我们建议先阅读 Azure 文件同步的网络注意事项

先决条件

本文假设:

  • 你有一个 Azure 订阅。 如果还没有订阅,请在开始前创建一个试用帐户
  • 已在要从本地连接到的存储帐户中创建了一个 Azure 文件共享。 若要了解如何创建 Azure 文件共享,请参阅创建 Azure 文件共享
  • 允许域流量传输到以下终结点,请参阅 Azure 服务终结点

此外:

创建专用终结点

为 Azure 资源创建专用终结点时,将部署以下资源:

  • 一个专用终结点:表示存储帐户或存储同步服务的专用终结点的 Azure 资源。 将此资源视为连接 Azure 资源和网络接口的资源。
  • 一个网络接口 (NIC) :在指定的虚拟网络/子网中保留专用 IP 地址的网络接口。 此网络接口是部署虚拟机 (VM) 时部署的同一个资源,但它不会分配到 VM,而是由专用终结点拥有。
  • 一个专用 DNS 区域:如果你以前从未为此虚拟网络部署过专用终结点,系统将为虚拟网络部署新的专用 DNS 区域。 此外,将为此 DNS 区域中的 Azure 资源创建 DNS A 记录。 如果已在此虚拟网络中部署了专用终结点,则会将 Azure 资源的新 A 记录添加到现有 DNS 区域。 部署 DNS 区域是可选操作,但强烈建议执行此操以来简化所需的 DNS 管理。

创建存储帐户专用终结点

导航到要为其创建专用终结点的存储帐户。 在存储帐户的目录中依次选择“网络”、“专用终结点连接”,然后选择“+ 专用终结点”创建新的专用终结点 。

存储帐户目录中“专用终结点连接”项的屏幕截图。

出现的向导包含多个要完成的页。

在“基本信息”边栏选项卡中,为专用终结点选择所需的订阅、资源组、名称和区域。 资源组、名称和区域可以任意配置,不必与存储帐户匹配,但必须在同一区域中创建专用终结点和用于容纳该专用终结点的存储帐户。 然后选择“下一步: 资源”。

显示如何为新的专用终结点提供项目和实例详细信息的屏幕截图。

在“资源”边栏选项卡中,为目标子资源选择“文件”。 然后选择“下一步: 虚拟网络”。

显示如何选择要使用新的专用终结点连接到的资源的屏幕截图。

在“虚拟网络”边栏选项卡中,可以选择要向其添加专用终结点的特定虚拟网络和子网。 为新的专用终结点选择动态或静态 IP 地址分配。 如果选择静态,则还需要提供名称和专用 IP 地址。 DNS 部分包含用于将专用终结点与专用 DNS 区域集成的信息。 确保订阅和资源组正确,然后选择“下一步: 标记”。

显示如何为新的专用终结点提供虚拟网络、子网和 IP 地址详细信息的屏幕截图。

可以选择性地应用标记来对资源进行分类,如将名称“环境”和值“测试”应用于所有测试资源。 输入名称/值对(如果需要),然后选择“下一步: 查看 + 创建”。

显示如何可以选择使用名称/值对来标记专用终结点以实现轻松分类的屏幕截图。

单击“查看 + 创建”以创建专用终结点。

如果你在虚拟网络中有一个 VM,或者已按配置 Azure 文件存储的 DNS 转发所述配置了 DNS 转发,则可以通过在 PowerShell、命令行或终端(适用于 Windows、Linux 或 macOS)中运行以下命令,来测试是否已正确设置专用终结点。 必须将 <storage-account-name> 替换为相应的存储帐户名称:

nslookup <storage-account-name>.file.core.chinacloudapi.cn

如果一切成功进行,则应会看到以下输出,其中 192.168.0.5 是虚拟网络中专用终结点的专用 IP 地址(Windows 中显示的输出):

Server:  UnKnown
Address:  10.2.4.4

Non-authoritative answer:
Name:    storageaccount.privatelink.file.core.chinacloudapi.cn
Address:  192.168.0.5
Aliases:  storageaccount.file.core.chinacloudapi.cn

创建存储同步服务专用终结点

通过在 Azure 门户顶部的搜索栏中键入“专用链接”,导航到“专用链接中心”。 在专用链接中心的目录中选择“专用终结点”,然后选择“+ 添加”创建新的专用终结点。

专用链接中心的屏幕截图

出现的向导包含多个要完成的页。

在“基本信息”边栏选项卡中,为专用终结点选择所需的资源组、名称和区域。 资源组、名称和区域可以任意配置,不必与存储同步服务匹配,但必须在与想要在其中创建专用终结点的虚拟网络相同的区域中创建专用终结点。

“创建专用终结点”部分“基本信息”部分的屏幕截图

在“资源”边栏选项卡中,选中“连接到目录中的 Azure 资源”对应的单选按钮。 在“资源类型”下,选择“Microsoft.StorageSync/storageSyncServices”为资源类型 。

在“配置”边栏选项卡中,可以选择要向其添加专用终结点的特定虚拟网络和子网。 选择用于上述存储帐户的同一虚拟网络。 “配置”边栏选项卡还包含用于创建/更新专用 DNS 区域的信息。

选择“查看 + 创建”以创建专用终结点。

可以通过运行以下 PowerShell 命令来测试专用终结点是否已正确设置。

$privateEndpointResourceGroupName = "<your-private-endpoint-resource-group>"
$privateEndpointName = "<your-private-endpoint-name>"

Get-AzPrivateEndpoint `
        -ResourceGroupName $privateEndpointResourceGroupName `
        -Name $privateEndpointName `
        -ErrorAction Stop | `
    Select-Object -ExpandProperty NetworkInterfaces | `
    Select-Object -ExpandProperty Id | `
    ForEach-Object { Get-AzNetworkInterface -ResourceId $_ } | `
    Select-Object -ExpandProperty IpConfigurations | `
    Select-Object -ExpandProperty PrivateLinkConnectionProperties | `
    Select-Object -ExpandProperty Fqdns | `
    ForEach-Object { Resolve-DnsName -Name $_ } | `
    Format-List

如果一切设置正确,则应看到以下输出,其中 192.168.1.4192.168.1.5192.168.1.6192.168.1.7 是分配给专用终结点的专用 IP 地址:

Name     : mysssmanagement.chinaeast2.afs.azure.cn
Type     : CNAME
TTL      : 60
Section  : Answer
NameHost : mysssmanagement.chinaeast2.privatelink.afs.azure.cn


Name       : mysssmanagement.chinaeast2.privatelink.afs.azure.cn
QueryType  : A
TTL        : 60
Section    : Answer
IP4Address : 192.168.1.4

Name     : myssssyncp.chinaeast2.afs.azure.cn
Type     : CNAME
TTL      : 60
Section  : Answer
NameHost : myssssyncp.chinaeast2.privatelink.afs.azure.cn


Name       : myssssyncp.chinaeast2.privatelink.afs.azure.cn
QueryType  : A
TTL        : 60
Section    : Answer
IP4Address : 192.168.1.5

Name     : myssssyncs.chinaeast2.afs.azure.cn
Type     : CNAME
TTL      : 60
Section  : Answer
NameHost : myssssyncs.chinaeast2.privatelink.afs.azure.cn


Name       : myssssyncs.chinaeast2.privatelink.afs.azure.cn
QueryType  : A
TTL        : 60
Section    : Answer
IP4Address : 192.168.1.6

Name     : mysssmonitoring.chinaeast2.afs.azure.cn
Type     : CNAME
TTL      : 60
Section  : Answer
NameHost : mysssmonitoring.chinaeast2.privatelink.afs.azure.cn


Name       : mysssmonitoring.chinaeast2.privatelink.afs.azure.cn
QueryType  : A
TTL        : 60
Section    : Answer
IP4Address : 192.168.1.7

限制对公共终结点的访问

可以限制对存储帐户和存储同步服务的公共终结点的访问。 限制对公共终结点的访问可确保仅从批准的位置接受网络数据包,从而提高安全性。

限制对存储帐户公共终结点的访问

可以使用存储帐户防火墙设置来限制对公共终结点的访问。 通常,大多数针对存储帐户的防火墙策略仅限一个或多个虚拟网络进行网络访问。 可通过两种方法来仅限虚拟网络访问存储帐户:

  • 为存储帐户创建一个或多个专用终结点,并禁止对公共终结点的访问。 这可以确保只有源自所需虚拟网络内部的流量才能访问存储帐户中的 Azure 文件共享。
  • 仅限一个或多个虚拟网络访问公共终结点。 为此,可以使用称作“服务终结点”的虚拟网络功能。 通过服务终结点限制发往存储帐户的流量时,仍会通过公共 IP 地址访问存储帐户。

注意

必须为存储帐户选择“允许受信任服务列表上的 Azure 服务访问此存储帐户”例外,以允许受信任的第一方 Azure 服务(例如 Azure 文件同步)访问存储帐户。 若要了解详细信息,请参阅授予对受信任的 Azure 服务的访问权限

授予对受信任的 Azure 服务的访问权限并禁用对存储帐户公共终结点的访问权限

禁止对公共终结点的访问时,仍可通过存储帐户的专用终结点来访问该存储帐户。 否则,对存储帐户的公共终结点发出的有效请求将被拒绝。

导航到要限制对其公共终结点的所有访问的存储帐户。 在该存储帐户的目录中,选择“网络”。

在页面顶部,选择“从选定的虚拟网络和 IP 地址启用”单选按钮。 随后会显示一些用于控制公共终结点限制的设置。 选择“允许受信任服务列表上的 Azure 服务访问此存储帐户”,以允许受信任的第一方 Microsoft 服务(例如 Azure 文件同步)访问存储帐户。

“网络”边栏选项卡的屏幕截图,其中包含禁用对存储帐户公共终结点的访问权限所需的设置。

授予对受信任的 Azure 服务的访问权限,并仅限从特定的虚拟网络访问存储帐户公共终结点

如果仅限从特定的虚拟网络访问存储帐户,则会允许从指定的虚拟网络内部对公共终结点发出请求。 为此,可以使用称作“服务终结点”的虚拟网络功能。 在具有或没有专用终结点的情况下都可以使用此功能。

导航到仅限从特定虚拟网络访问公共终结点的存储帐户。 在该存储帐户的目录中,选择“网络”。

在页面顶部,选择“从选定的虚拟网络和 IP 地址启用”单选按钮。 随后会显示一些用于控制公共终结点限制的设置。 选择“+添加现有虚拟网络”,以选择应允许其通过公共终结点访问存储帐户的特定虚拟网络。 选择虚拟网络并为该虚拟网络选择子网,然后选择“启用”。

选择“允许受信任服务列表上的 Azure 服务访问此存储帐户”,以允许受信任的第一方 Microsoft 服务(例如 Azure 文件同步)访问存储帐户。

“网络”边栏选项卡的屏幕截图,其中显示了允许通过公共终结点访问存储帐户的特定虚拟网络。

禁止对存储同步服务公共终结点的访问

Azure 文件同步让你可限制为,仅通过专用终结点访问特定的虚拟网络;Azure 文件同步不支持通过服务终结点限制为从特定的虚拟网络访问公共终结点。 这意味着存储同步服务的公共终结点的两个状态为“已启用”和“已禁用”。

重要

必须先创建专用终结点,然后才能禁用对公共终结点的访问。 如果禁用了公共终结点,但未配置专用终结点,则无法同步。

若要禁用对存储同步服务公共终结点的访问,请执行以下步骤:

  1. 登录 Azure 门户
  2. 导航到存储同步服务,从左侧导航栏中选择“设置”>“网络”。
  3. 在“允许从以下位置访问”下,选择“仅专用终结点”。
  4. 从“专用终结点连接”列表中选择一个专用终结点。

Azure Policy

Azure Policy 可帮助强制执行组织标准并根据这些标准大规模评估合规性。 Azure 文件存储和 Azure 文件同步公开了几个有用的审核和修正网络策略,可帮助你监视和自动执行部署。

这些策略会审核你的环境,并在你的存储帐户或存储同步服务与定义的行为相背离时向你发出警报。 例如,如果在策略被设置为禁用公共终结点时启用了公共终结点,则会发出警报。 修改/部署策略会更进一步并主动修改资源(例如存储同步服务)或部署资源(如专用终结点),以符合策略。

以下预定义策略可用于 Azure 文件存储和 Azure 文件同步:

操作 服务 条件 策略名称
审核 Azure 文件 已启用存储帐户的公共终结点。 有关详细信息,请参阅授予对受信任的 Azure 服务的访问权限并禁用对存储帐户公共终结点的访问权限 存储帐户应限制网络访问
审核 Azure 文件同步 已启用存储同步服务的公共终结点。 有关详细信息,请参阅禁止访问存储同步服务公共终结点 应禁用对 Azure 文件同步进行公用网络访问
审核 Azure 文件 存储帐户需要至少一个专用终结点。 有关详细信息,请参阅创建存储帐户专用终结点 存储帐户应使用专用链接连接
审核 Azure 文件同步 存储同步服务需要至少一个专用终结点。 有关详细信息,请参阅创建存储同步服务专用终结点 Azure 文件同步应使用专用链接
修改 Azure 文件同步 禁用存储同步服务的公共终结点。 修改 - 将 Azure 文件同步配置为禁用公用网络访问
部署 Azure 文件同步 为存储同步服务部署专用终结点。 为 Azure 文件同步配置专用终结点
部署 Azure 文件同步 将 A 记录部署到 privatelink.afs.azure.net DNS 区域。 将 Azure 文件同步配置为使用专用 DNS 区域

设置专用终结点部署策略

若要设置专用终结点部署策略,请转到 Azure 门户,然后搜索“策略”。 Azure Policy 中心应该是排名靠前的结果。 导航到策略中心目录中的“创作”>“定义” 。 生成的“定义”窗格包含所有 Azure 服务中的预定义策略。 若要查找特定策略,请在类别筛选器中选择“存储”类别,或搜索“为 Azure 文件同步配置专用终结点”。 依次选择“...”和“分配”以根据定义创建新策略。

通过“分配策略”向导的“基本信息”边栏选项卡,可以设置范围、资源或资源组排除列表,并为策略指定一个易记名称以帮助区分。 无需修改这些设置即可使该策略生效,但是如果需要的话,可以进行修改。 选择“下一步”,转到“参数”页。

在“参数”边栏选项卡上,选择“privateEndpointSubnetId”下拉列表旁的“...”,以选择要在其中部署存储同步服务资源的专用终结点的虚拟网络和子网。 生成的向导可能需要几秒钟来加载订阅中的可用虚拟网络。 选择适合你的环境的虚拟网络/子网,并单击“选择”。 选择“下一步”,转到“修正”边栏选项卡。

为了在确定没有专用终结点的存储同步服务时部署专用终结点,必须在“修正”页上选择“创建修正任务”。 最后,选择“审阅并创建”以审阅策略分配,然后选择“创建”进行创建。

生成的策略分配将定期执行,在创建后可能不会立即运行。

另请参阅