Compartilhar via

Azure Service Bus的网络安全性

本文介绍如何将以下安全功能用于Azure Service Bus:

  • 服务标记
  • IP 防火墙规则
  • 网络服务终结点
  • 专用终结点

服务标记

服务标记表示给定Azure服务中的一组 IP 地址前缀。 Azure管理服务标记包含的地址前缀,并在地址发生更改时自动更新服务标记,最大程度地降低网络安全规则频繁更新的复杂性。 有关服务标记的详细信息,请参阅服务标记概述

使用服务标记定义网络安全组Azure Firewall的网络访问控制。 创建安全规则时,请使用服务标记代替特定 IP 地址。 通过在规则的相应目标字段中指定服务标记名称(例如 ServiceBus),可以允许或拒绝相应服务的流量。

注释

在服务标记的上下文中,术语 outbound是指从Azure Virtual Network出站的流量,该流量表示传入Service Bus的入站流量。 换句话说,服务标记包含用于从虚拟网络流入Service Bus的流量的 IP 地址。

服务标记 目的 是否可使用入站或出站? 可以具有地域性吗? 可与Azure Firewall一起使用?
ServiceBus Azure Service Bus 流量。 出站 是的 是的

注释

以前,Service Bus服务标记仅包含 Premium 层上的命名空间的 IP 地址。 现在,无论层如何,它们都包含 所有命名空间的 IP 地址。

IP 防火墙

默认情况下,只要请求附带有效的身份验证和授权,用户就可以从 Internet 访问Service Bus命名空间。 通过使用 IP 防火墙,可以限制对 CIDR 中一组 IPv4 地址或 IPv4 地址范围的访问(无分类 Inter-Domain 路由)

此功能适用于仅应从某些已知站点访问Azure Service Bus的情况。 可以通过防火墙规则来配置规则,以便接受来自特定 IPv4 地址的流量。 例如,如果将 Service Bus 用于 Azure Express Route,则可以创建 防火墙规则,以仅允许来自本地基础结构 IP 地址或公司 NAT 网关地址的流量。

Service Bus命名空间应用 IP 防火墙规则。 因此,这些规则适用于通过任何受支持协议从客户端发出的所有连接。 Service Bus命名空间拒绝来自 IP 地址的任何连接尝试,该 IP 地址与允许的 IP 规则不匹配,因为未授权。 响应不会提及 IP 规则。 IP 筛选器规则将按顺序应用,与 IP 地址匹配的第一个规则决定了将执行接受操作还是执行拒绝操作。

有关详细信息,请参阅 如何为Service Bus命名空间配置 IP 防火墙

网络服务终结点

通过将 Service Bus 与 Virtual Network (VNet) 服务终结点集成,可以从绑定到虚拟网络的虚拟机等工作负荷安全地访问消息传送功能。 网络流量路径在两端都受到保护。

配置 Service Bus 命名空间,使其绑定到至少一个虚拟网络子网服务终结点后,Service Bus 命名空间将仅接受来自已授权虚拟网络的流量。 从虚拟网络的角度来看,将Service Bus命名空间绑定到服务终结点会配置从虚拟网络子网到消息传送服务的隔离网络隧道。

结果是绑定到子网的工作负荷与相应的服务总线命名空间之间形成了专用和隔离的关系,即使消息传递服务终结点的可观察网络地址位于公共 IP 范围内。

重要

虚拟网络仅在 Premium 层 Service Bus 命名空间中受支持。

将 VNet 服务终结点用于Service Bus时,请勿在混合标准层和高级层Service Bus命名空间的应用程序中启用这些终结点。 因为标准层不支持 VNet。 此终结点仅限于高级层命名空间。

VNet 集成启用的高级安全方案

对于需要严密和分隔安全性的解决方案,以及通过虚拟网络子网为这些分隔服务提供分段的情况下,通常仍需要在这些隔离单元中驻留的服务之间建立通信路径。

任何区之间的直接 IP 路由(包括承载 HTTPS 的 TCP/IP 路由)都存在自网络层及以上层次的漏洞被利用的风险。 消息传送服务提供完全隔离的通信路径,在消息在双方之间转换时,消息甚至会写入磁盘。 绑定到同一Service Bus实例的两个不同的虚拟网络中的工作负荷可以通过消息高效可靠地通信,同时保留相应的网络隔离边界完整性。

这意味着,安全敏感云解决方案不仅能够访问Azure行业领先的可靠且可缩放的异步消息传送功能,而且还可以使用消息传送在安全解决方案隔离舱之间创建通信路径,这些隔离舱本质上比任何对等通信模式(包括 HTTPS 和其他 TLS 保护的套接字协议)实现的安全性更高。

将Service Bus绑定到虚拟网络

虚拟网络规则是防火墙安全功能,用于控制Azure Service Bus服务器是否接受来自特定虚拟网络子网的连接。

将Service Bus命名空间绑定到虚拟网络的过程分为两步。 首先,在虚拟网络子网上创建虚拟网络服务终结点,并为Microsoft.ServiceBus启用它,如服务终结点概述中所述。 添加服务终结点后,使用 虚拟网络规则将Service Bus命名空间绑定到该命名空间。

虚拟网络规则将Service Bus命名空间与虚拟网络子网相关联。 虽然存在规则,但绑定到子网的所有工作负荷都有权访问Service Bus命名空间。 Service Bus本身永远不会建立出站连接,不需要获取访问权限,因此,通过启用此规则永远不会授予对子网的访问权限。

有关详细信息,请参阅 如何为 Service Bus 命名空间配置虚拟网络服务终结点

专用终结点

通过使用 Azure Private Link 服务,可以通过虚拟网络中的专用终端访问 Azure 服务(例如,Azure Service Bus、Azure Storage 和 Azure Cosmos DB)以及 Azure 托管的客户或合作伙伴服务。

专用终结点是一个网络接口,可将你专用且安全地连接到由Azure Private Link提供支持的服务。 专用终结点使用 VNet 中的专用 IP 地址,从而有效地将服务引入 VNet。 可以通过专用终结点将所有流量路由到服务,因此不需要任何网关、NAT 设备、ExpressRoute 或 VPN 连接或公共 IP 地址。 虚拟网络与服务之间的流量通过 Microsoft Azure 主干网络传输,避免了通过公共互联网的暴露。 可以连接到一个Azure资源的实例,这使您能够在访问控制中实现最高级别的粒度。

有关详细信息,请参阅 什么是 Azure Private Link?

注释

此功能由 Azure Service Bus 的高级层支持。 有关高级层的详细信息,请参阅Service Bus高级和标准消息传送层一文。

有关详细信息,请参阅 如何为Service Bus命名空间配置专用终结点

网络安全边界

保护Service Bus命名空间的另一种方法是将其包含在网络安全外围中。 网络安全外围为 PaaS 资源建立逻辑边界,限制与外围资源之间的通信,并通过显式规则控制公共访问。 如果要围绕 Service Bus 和其他 PaaS 资源(如 Azure Key Vault)建立安全边界,这尤其有用。

有关详细信息,请参阅 Azure Service Bus 的网络安全外围

后续步骤

请参阅以下文章: