category
为了保护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工作室
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策略来强制禁用订阅或资源组中所有Synapse工作区的公共访问。还可以根据工作区处理的数据的敏感性,在每个工作区的基础上禁用公共网络访问。
但是,如果需要启用公共访问,强烈建议配置IP防火墙规则,仅允许来自指定公共IP地址列表的入站连接。
当本地环境没有对Azure的VPN访问或ExpressRoute,并且需要访问工作区端点时,考虑启用公共访问。在这种情况下,请在IP防火墙规则中指定本地数据中心和网关的公共IP地址列表。
专用端点
Azure专用终结点是一个虚拟网络接口,具有在客户自己的Azure虚拟网络(ExpressRoute)子网中创建的专用IP地址。可以为支持私有终结点的任何Azure服务创建私有终结点,例如Azure Synapse、专用SQL池(以前称为SQL DW)、Azure SQL数据库、Azure存储或由Azure私有链接服务支持的Azure中的任何服务。
可以为所有三个Synapse工作区端点分别在ExpressRoute中创建私有端点。这样,可以为Synapse工作区的三个端点创建三个私有端点:一个用于专用SQL池,一个用于无服务器SQL池,还有一个用于开发端点。
与公共端点相比,私有端点具有许多安全优势。只能从以下内部访问Azure ExpressRoute中的专用终结点:
- 包含此私有终结点的同一ListView。
- 在区域或全球范围内查看Azure虚拟主机。
- 通过VPN网关或ExpressRoute连接到Azure的本地网络。
私有端点的主要好处是,不再需要将工作区端点暴露给公共互联网。曝光越少越好。
下图描述了私有端点。
上图描述了以下关键点:
Item | Description |
---|---|
Workstations from within the customer VNet access the Azure Synapse private endpoints. | |
Peering between customer VNet and another VNet. | |
Workstation from peered VNet access the Azure Synapse private endpoints. | |
On-premises network access the Azure Synapse private endpoints through VPN or ExpressRoute. | |
Workspace endpoints are mapped into customer's VNet through private endpoints using Azure Private Link service. | |
Public access is disabled on the Synapse workspace. |
在下图中,私有端点被映射到PaaS资源的实例,而不是整个服务。在网络内发生安全事件时,只会暴露映射的资源实例,从而最大限度地减少数据泄露和泄漏的暴露和威胁。
上图描述了以下关键点:
Item | Description |
---|---|
The private endpoint in the customer VNet is mapped to a single dedicated SQL pool (formerly SQL DW) endpoint in Workspace A. | |
Other SQL pool endpoints in the other workspaces (B and C) aren't accessible through this private endpoint, minimizing exposure. |
私有端点跨Microsoft Entra租户和区域工作,因此可以跨租户和区域创建到Synapse工作区的私有端点连接。在这种情况下,它将通过私有端点连接审批工作流。资源所有者控制哪些私有端点连接被批准或拒绝。资源所有者完全控制谁可以连接到他们的工作区。
下图描述了私有端点连接审批工作流。
上图描述了以下关键点:
Item | Description |
---|---|
Dedicated SQL pool (formerly SQL DW) in Workspace A in Tenant A is accessed by a private endpoint in the customer VNet in Tenant A. | |
The same dedicated SQL pool (formerly SQL DW) in Workspace A in Tenant A is accessed by a private endpoint in the customer VNet in Tenant B through a connection approval workflow. |
受管网络
Synapse托管的ExpressRoute功能为Synapse工作区之间的Apache Spark池和管道计算资源提供了完全托管的网络隔离。可以在创建工作区时进行配置。此外,它还为同一工作空间内的Spark集群提供网络隔离。每个工作区都有自己的虚拟网络,完全由Synapse管理。用户看不到Managed Contoso,无法进行任何修改。由Azure Synapse在托管的ExpressRoute中启动的任何管道或Apache Spark池计算资源都会在其自己的ExpressRoute中进行配置。这样,就与其他工作区实现了完全的网络隔离。
此配置消除了为Apache Spark池和管道资源创建和管理ViewModel和网络安全组的需要,这通常是由Contoso注入完成的。
因此,Synapse工作区中的多租户服务,如专用SQL池和无服务器SQL池,不会在Managed ExpressRoute中进行配置。
下图描述了工作区A和B的两个托管虚拟主机之间的网络隔离,以及托管虚拟主机内的Apache Spark池和管道资源。
托管专用端点连接
托管私有端点连接可安全无缝地连接到任何Azure PaaS服务(支持私有链接),而无需从客户的ExpressRoute为该服务创建私有端点。Synapse自动创建和管理私有端点。这些连接由Synapse Managed ExpressRoute内配置的计算资源(如Apache Spark池和管道资源)使用,以私下连接到Azure PaaS服务。
例如,如果您想从管道私下连接到Azure存储帐户,通常的方法是为存储帐户创建一个私有端点,并使用自托管集成运行时连接到存储私有端点。使用Synapse Managed Ids,您可以使用Azure集成运行时通过直接创建到存储帐户的托管专用端点连接来私密连接到该存储帐户。这种方法消除了使用自托管集成运行时私下连接到Azure PaaS服务的需要。
因此,Synapse工作区中的多租户服务,如专用SQL池和无服务器SQL池,不会在Managed ExpressRoute中进行配置。因此,他们不会将工作区中创建的托管专用端点连接用于出站连接。
下图描述了从工作区a中的managed Contoso连接到Azure存储帐户的托管专用终结点。
高级Spark安全
Managed Contoso还为Apache Spark池用户提供了一些额外的优势。无需像在WM_Injection中那样担心配置固定的子网地址空间。Azure Synapse会自动为工作负载动态分配这些地址空间。
此外,Spark池作为作业集群运行。这意味着每个用户在与工作区交互时都有自己的Spark集群。在工作区中创建Spark池是元数据信息,用于在执行Spark工作负载时分配给用户的内容。这意味着每个用户都将在Managed ExpressRoute内的专用子网中获得自己的Spark集群来执行工作负载。来自同一用户的Spark池会话在相同的计算资源上执行。通过提供此功能,有三个主要好处:
- 基于用户的工作负载隔离带来了更高的安全性。
- 减少邻居的噪音。
- 更好的性能。
数据泄露保护
带有Managed ExpressRoute的Synapse工作区具有一个称为数据泄露保护的附加安全功能。它保护从Azure Synapse流出的所有出口流量免受所有服务的影响,包括专用SQL池、无服务器SQL池、Apache火花池和管道。它是通过在工作区级别(在工作区创建时)启用数据泄露保护来配置的,以将出站连接限制在允许的Microsoft Entra租户列表中。默认情况下,仅将工作区的主租户添加到列表中,但可以在创建工作区后随时添加或修改Microsoft Entra租户列表。添加其他租户是一项特权很高的操作,需要提升Synapse管理员的角色。它有效地控制了数据从Azure Synapse泄露到其他组织和租户,而不需要制定复杂的网络安全策略。
对于启用了数据泄露保护的工作区,Synapse管道和Apache Spark池必须对其所有出站连接使用托管私有端点连接。
专用SQL池和无服务器SQL池不使用托管私有端点进行出站连接;但是,来自SQL池的任何出站连接只能连接到已批准的目标,这些目标是托管专用端点连接的目标。
Synapse Studio的专用链接中心
Synapse专用链接中心允许使用Azure专用链接从客户的ExpressRoute安全连接到Synapse Studio。此功能对于希望从受控和受限环境中使用Synapse Studio访问Synapse工作区的客户非常有用,在该环境中,出站互联网流量仅限于一组有限的Azure服务。
它是通过创建一个私有链接集线器资源和一个从ExpressRoute到此集线器的私有端点来实现的。然后,此私有端点用于使用其完全限定的域名(FQDN)web.azure synapse.net访问工作室,该域名具有Contoso中的私有IP地址。专用链接中心资源通过Azure专用链接将Synapse Studio的静态内容下载到用户的工作站。此外,必须为各个工作区端点创建单独的私有端点,以确保与工作区端点的通信是私有的。
下图描述了Synapse Studio的专用链接中心。
上图描述了以下关键点:
Item | Description |
---|---|
The workstation in a restricted customer VNet accesses the Synapse Studio using a web browser. | |
A private endpoint created for private link hubs resource is used to download the static studio contents using Azure Private Link. | |
Private endpoints created for Synapse workspace endpoints access the workspace resources securely using Azure Private Links. | |
Network security group rules in the restricted customer VNet allow outbound traffic over port 443 to a limited set of Azure services, such as Azure Resource Manager, Azure Front Door, and Microsoft Entra ID. | |
Network security group rules in the restricted customer VNet deny all other outbound traffic from the VNet. | |
Public access is disabled on the Synapse workspace. |
专用SQL池(以前称为SQL DW)
在Azure Synapse产品之前,提供了一个名为SQL DW的Azure SQL数据仓库产品。它现在被重命名为专用SQL池(以前称为SQL DW)。
专用SQL池(以前称为SQL DW)是在逻辑Azure SQL服务器内创建的。它是一个安全的逻辑结构,充当包括SQL DW和其他Azure SQL数据库在内的数据库集合的中央管理点。
本文前几节中讨论的Azure Synapse的大多数核心网络安全功能也适用于专用SQL池(以前称为SQL DW)。其中包括:
- IP防火墙规则
- 禁用公共网络访问
- 专用端点
- 通过出站防火墙规则进行数据泄露保护
由于专用SQL池(以前称为SQL DW)是一种多租户服务,因此它不会在Managed Contoso内进行配置。这意味着一些功能,如Managed Contoso和托管私有端点连接,不适用于它。
网络安全特征矩阵
下表提供了Azure Synapse产品支持的网络安全功能的高级概述:
Feature | Azure Synapse: Apache Spark pool | Azure Synapse: Dedicated SQL pool | Azure Synapse: Serverless SQL pool | Dedicated SQL pool (formerly SQL DW) |
---|---|---|---|---|
IP firewall rules | Yes | Yes | Yes | Yes |
Disabling public access | Yes | Yes | Yes | Yes |
Private endpoints | Yes | Yes | Yes | Yes |
Data exfiltration protection | Yes | Yes | Yes | Yes |
Secure access using Synapse Studio | Yes | Yes | Yes | No |
Access from restricted network using Synapse private link hub | Yes | Yes | Yes | No |
Managed VNet and workspace-level network isolation | Yes | N/A | N/A | N/A |
Managed private endpoint connections for outbound connectivity | Yes | N/A | N/A | N/A |
User-level network isolation | Yes | N/A | N/A | N/A |
下一步
在本白皮书系列的下一篇文章中,了解威胁防护。
- 登录 发表评论
- 3 次浏览
Tags
最新内容
- 2 days 21 hours ago
- 3 days 19 hours ago
- 6 days 9 hours ago
- 6 days 9 hours ago
- 6 days 9 hours ago
- 6 days 12 hours ago
- 6 days 16 hours ago
- 6 days 16 hours ago
- 6 days 16 hours ago
- 6 days 18 hours ago