共用方式為

Azure Synapse Analytics 安全白皮书:网络安全

注释

本文是“Azure Synapse Analytics 安全白皮书”系列文章的一部分。 有关该系列的概述,请参阅 Azure Synapse Analytics 安全白皮书

若要保护 Azure Synapse,需要考虑一系列网络安全选项。

网络安全术语

本开幕部分概述了一些与网络安全相关的关键 Azure Synapse 术语。 阅读本文时,请记住这些定义。

Synapse 工作区

Synapse 工作区是 Azure Synapse 提供的所有服务的安全逻辑集合。 它包括专用 SQL 池(前为 SQL DW)、无服务器 SQL 池、Apache Spark 池、管道和其他服务。 某些网络配置设置(例如 IP 防火墙规则、托管虚拟网络,以及用于防止数据外泄的已批准租户)是在工作区级别进行配置和保护的。

Synapse 工作区终结点

终结点是用于访问服务的传入连接的点。 每个 Synapse 工作区都有三个不同的终结点:

  • 用于访问专用 SQL 池的专用 SQL 终结点
  • 用于访问无服务器 SQL 池的无服务器 SQL 终结点
  • 用于访问工作区中的 Apache Spark 池和管道资源的开发终结点

创建 Synapse 工作区时,会自动创建这些终结点。

Synapse Studio

Synapse Studio 是 Azure Synapse 的安全 Web 前端开发环境。 它支持各种角色,包括数据工程师、数据科学家、数据开发人员、数据分析师和 Synapse 管理员。

使用 Synapse Studio 在 Azure Synapse 中执行各种数据管理作,例如:

  • 连接到专用 SQL 池、无服务器 SQL 池和运行 SQL 脚本。
  • 在 Apache Spark 池上开发和运行笔记本。
  • 开发和运行管道。
  • 监视专用 SQL 池、无服务器 SQL 池、Apache Spark 池和管道作业。
  • 管理工作区项的 Synapse RBAC 权限
  • 创建与数据源和接收器的托管专用终结点连接

可以使用 Synapse Studio 连接到工作区端点。 此外,还可以创建 专用终结点 ,以确保与工作区终结点的通信是专用的。

公用网络访问和防火墙规则

默认情况下,工作区终结点在预配时是 公共终结点 。 启用从任何公用网络访问这些工作区终结点,包括客户组织外部的网络,而无需 VPN 连接或与 Azure 建立 ExpressRoute 连接。

所有 Azure 服务(包括 Azure Synapse 等 PaaS 服务)均受 DDoS 基本保护 ,以缓解恶意攻击(主动流量监视、始终检测和自动攻击缓解)。

传输级别安全性 (TLS) 协议对工作区终结点的所有流量(即使通过公用网络)进行加密和保护。

若要保护任何敏感数据,建议完全禁用对工作区终结点的公共访问。 这样做可确保只能使用 专用终结点访问所有工作区终结点。

通过分配 Azure Policy 来强制禁用订阅或资源组中所有 Synapse 工作区的公共访问。 还可以根据工作区处理的数据的敏感度,基于每个工作区禁用公共网络访问。

但是,如果需要启用公共访问,强烈建议将 IP 防火墙规则配置为仅允许来自指定公共 IP 地址列表的入站连接。

在本地环境没有 VPN 访问或通过 ExpressRoute 访问 Azure 的情况下,如果需要访问工作区终结点,请考虑启用公共访问。 在这种情况下,请在 IP 防火墙规则中指定本地数据中心和网关的公共 IP 地址列表。

专用终结点

Azure 专用终结点是一个虚拟网络接口,其中包含在客户自己的 Azure 虚拟网络(VNet)子网中创建的专用 IP 地址。 可以为支持专用终结点的任何 Azure 服务创建专用终结点,例如 Azure Synapse、专用 SQL 池(以前为 SQL DW)、Azure SQL 数据库、Azure 存储,或者由 Azure 专用链接服务提供支持的任何服务。

可以单独为所有三个 Synapse 工作区终结点在 VNet 中创建专用终结点。 因此,可以为 Synapse 工作区的三个终结点创建三个专用终结点:一个用于专用 SQL 池,一个用于无服务器 SQL 池,一个用于开发终结点。

与公共终结点相比,专用终结点具有许多安全优势。 只能从内部访问 Azure VNet 中的专用终结点。

  • 包含此专用终结点的同一个 VNet。
  • 区域或全球对等互连的 Azure VNet。
  • 通过 VPN 网关 或 ExpressRoute 连接到 Azure 的本地网络。

专用终结点的主要优点是无需向公共互联网暴露工作区终结点。 风险越少,越好。

下图描绘了专用终结点。

关系图显示了 Azure 中的客户 VNet 和 Azure Synapse Analytics 工作区。下表描述了关系图的元素。

上图描述了以下要点:

物品 说明
项 1。 客户 VNet 中的工作站访问 Azure Synapse 专用终结点。
项 2。 客户 VNet 与另一个 VNet 之间的对等互连。
项 3。 来自对等互连 VNet 的工作站访问 Azure Synapse 专用终结点。
项 4。 本地网络通过 VPN 或 ExpressRoute 访问 Azure Synapse 专用终结点。
项 5。 工作区的终结点通过 Azure 专用链接服务中的专用终结点,映射到客户的 VNet 中。
项 6。 Synapse 工作区上禁用了公共访问。

在下图中,专用终结点映射到 PaaS 资源的实例而不是整个服务。 在网络内发生安全事件时,只会公开映射的资源实例,最大限度地减少数据泄露和外泄的威胁。

此图显示了三个工作区:A、B 和 C。下表描述了该图的元素。

上图描述了以下要点:

物品 说明
项 1。 客户 VNet 中的专用终结点映射到工作区 A 中的单个专用 SQL 池(以前为 SQL DW)终结点。
项 2。 无法通过此专用终结点访问其他工作区(B 和 C)中的其他 SQL 池终结点,尽量减少暴露。

专用终结点的功能覆盖 Microsoft Entra 租户和区域,因此可以创建可以跨租户和区域访问 Synapse 工作区的专用终结点连接。 在这种情况下,它会通过专用终结点连接审批工作流。 资源所有者控制哪些专用终结点连接获得批准或拒绝。 资源所有者完全控制谁可以连接到工作区。

下图描绘了专用终结点连接审批工作流。

关系图显示了租户 A 中的客户 VNet,以及租户 B 中的客户 VNet。Azure 专用链接连接它们。下表描述了关系图的元素。

上图描述了以下要点:

物品 说明
项 1。 租户 A 中工作区 A 中的专用 SQL 池(以前为 SQL DW)由租户 A 中的客户 VNet 中的专用终结点访问。
项 2。 租户 A 中工作区 A 中的同一专用 SQL 池(以前称为 SQL DW)由租户 B 中客户 VNet 中的专用终结点通过连接审批工作流访问。

托管 VNet

Synapse 托管 VNet 功能为 Apache Spark 池和 Synapse 工作区之间的管道计算资源提供完全托管的网络隔离。 可以在创建工作区时配置它。 此外,它还为同一工作区中的 Spark 群集提供网络隔离。 每个工作区都有自己的虚拟网络,由 Synapse 完全管理。 托管 VNet 对用户不可见,无法进行任何修改。 由 Azure Synapse 在托管 VNet 中启动的任何管道或 Apache Spark 池计算资源都会在其自己的 VNet 中进行预配。 这样,网络与其他工作区完全隔离。

此配置无需为 Apache Spark 池和管道资源创建和管理 VNet 和网络安全组,这通常由 VNet 注入完成。

因此,Synapse 工作区中的多租户服务(例如专用 SQL 池和无服务器 SQL 池) 不会 在托管 VNet 中预配。

下图描绘了工作区 A 和 B 的两个托管 VNet 之间的网络隔离,以及托管 VNet 中的 Apache Spark 池和管道资源。

关系图显示了两个工作区:工作区 A 和 B,工作区之间具有网络隔离。

管理的专用终结点连接

托管专用终结点连接可以安全无缝地连接到任何支持专用链接的 Azure PaaS 服务,无需从客户的 VNet 为该服务创建专用终结点。 Synapse 会自动创建和管理专用终结点。 这些连接由 Synapse 托管 VNet 中预配的计算资源(例如 Apache Spark 池和管道资源)用于 私下连接到 Azure PaaS 服务。

例如,如果要从管道 私下 连接到 Azure 存储帐户,通常方法是为存储帐户创建专用终结点,并使用自承载集成运行时连接到存储专用终结点。 使用 Synapse 托管 VNet,只需直接创建到该存储帐户的托管专用终结点连接,即可使用 Azure 集成运行时私下连接到存储帐户。 此方法无需使用自承载集成运行时即可私密连接 Azure PaaS 服务。

因此,Synapse 工作区中的多租户服务(例如专用 SQL 池和无服务器 SQL 池) 不会 在托管 VNet 中预配。 因此,它们不使用工作区中创建的托管专用终结点连接进行出站连接。

下图描绘了一个托管专用终结点从工作区 A 中的托管 VNet 连接到一个 Azure 存储帐户的情形。

图表显示了工作区 A 有一个连接到 Azure 存储的 Azure 专用链接。

Spark高级安全性

托管 VNet 还为 Apache Spark 池用户提供了一些额外的优势。 不需要像在 VNet 注入中那样担心配置 固定 子网地址空间。 Azure Synapse 会自动处理为工作负荷动态分配这些地址空间。

此外,Spark 池以作业群集形式运行。 这意味着每个用户在与工作区交互时获取自己的 Spark 群集。 在工作区中创建 Spark 池是一种元数据信息,用于定义当用户执行 Spark 工作负载时将分配给他们的资源配置。 这意味着每个用户都将 在托管 VNet 内的专用子网中 获取自己的 Spark 群集来执行工作负荷。 来自同一用户的 Spark 池会话在同一计算资源上执行。 通过提供此功能,有三个主要优势:

  • 由于基于用户的工作负载隔离,提高了安全性。
  • 减少吵闹的邻居。
  • 性能更高。

数据外泄防护

具有托管 VNet 的 Synapse 工作区具有称为 数据外泄保护的其他安全功能。 它保护从 Azure Synapse 流出的所有出口流量,包括专用 SQL 池、无服务器 SQL 池、Apache spark 池和管道。 它通过启用工作区级别(创建工作区时)的数据外泄保护来配置,以将出站连接限制为允许的 Microsoft Entra 租户列表。 默认情况下,仅将工作区的主租户添加到列表中,但可以在创建工作区后随时添加或修改Microsoft Entra 租户的列表。 添加额外的租户是一项高特权操作,需要使用 Synapse 管理员的提升角色。 它有效地控制将数据从 Azure Synapse 外泄到其他组织和租户,而无需制定复杂的网络安全策略。

对于启用了数据外泄保护的工作区,Synapse 管道和 Apache Spark 池的所有出站连接必须使用托管专用终结点连接。

专用 SQL 池和无服务器 SQL 池不使用托管专用终结点进行出站连接;但是,来自 SQL 池的任何出站连接只能连接到 已批准的目标,这些目标是托管专用终结点连接的目标。

Synapse 专用链接中心 允许使用 Azure 专用链接从客户的 VNet 安全地连接到 Synapse Studio。 此功能对于想要从受控和受限的环境中使用 Synapse Studio 访问 Synapse 工作区的客户非常有用,其中出站 Internet 流量限制为有限的一组 Azure 服务。

它是通过创建一个专用链接中心资源和一个从 VNet 到此中心的专用终结点来实现的。 然后,使用此专用终结点,通过完全限定的域名 (FQDN) web.azuresynapse.azure.cn 以及来自 VNet 的专用 IP 地址访问工作室。 专用链接中心资源通过 Azure 专用链接将 Synapse Studio 的静态内容下载到用户的工作站。 此外,必须为各个工作区终结点创建单独的专用终结点,以确保与工作区终结点的通信是专用的。

下图描绘了 Synapse Studio 的专用链接中心。

关系图显示了 Synapse Studio 的专用链接中心。下表描述了关系图的元素。

上图描述了以下要点:

物品 说明
项 1。 受限客户 VNet 中的工作站使用 Web 浏览器访问 Synapse Studio。
项 2。 为专用链接中心资源创建的专用终结点用于通过 Azure 专用链接下载静态工作室内容。
项 3。 为 Synapse 工作区终结点创建的专用终结点使用 Azure 专用链接安全地访问工作区资源。
项 4。 受限客户 VNet 中的网络安全组规则允许通过端口 443 到一组有限的 Azure 服务(例如 Azure 资源管理器、Azure Front Door 和 Microsoft Entra ID)的出站流量。
项 5。 受限客户 VNet 中的网络安全组规则拒绝来自 VNet 的所有其他出站流量。
项 6。 Synapse 工作区上禁用了公共访问。

专用 SQL 池(之前称为 SQL DW)

在 Azure Synapse 产品/服务之前,提供了名为 SQL DW 的 Azure SQL 数据仓库产品。 它现在已重命名为专用 SQL 池(以前为 SQL DW)。

专用 SQL 池(以前为 SQL DW)是在逻辑 Azure SQL Server 中创建的。 它是一个安全逻辑构造,充当数据库集合(包括 SQL DW 和其他 Azure SQL 数据库)的中心管理点。

Azure Synapse 在本文先前部分中讨论的大多数核心网络安全功能同样适用于专用 SQL 池(原 SQL DW)。 它们包括:

  • IP 防火墙规则
  • 禁用公用网络访问
  • 专用终结点
  • 通过出站防火墙规则进行数据外泄保护

由于专用 SQL 池(以前为 SQL DW)是多租户服务,因此它不会在托管 VNet 中预配。 这意味着某些功能(如被管理的 VNet 和被管理的专用终结点连接)不适用于该服务。

网络安全功能矩阵

以下比较表概述了 Azure Synapse 产品/服务中支持的网络安全功能:

功能 Azure Synapse:Apache Spark 池 Azure Synapse:专用 SQL 池 Azure Synapse:无服务器 SQL 池 专用 SQL 池(以前为 SQL DW)
IP 防火墙规则 是的 是的 是的 是的
禁用公共访问 是的 是的 是的 是的
专用终结点 是的 是的 是的 是的
数据外泄防护 是的 是的 是的 是的
使用 Synapse Studio 保护访问 是的 是的 是的
使用 Synapse 专用链路集线器从受限网络进行访问 是的 是的 是的
托管 VNet 和工作区级别的网络隔离 是的
用于出站连接的托管专用终结点连接 是的
用户级网络隔离 是的

后续步骤

在本白皮书系列的 下一篇文章 中,了解威胁防护。