Разрешение доступа к пространству имен Служебной шины Azure из конкретных IP-адресов или диапазонов

По умолчанию Интернет может получить доступ к пространствам имен служебной шины, если запрос содержит допустимую проверку подлинности и авторизацию. С помощью брандмауэра IP можно ограничить входящий трафик набором адресов IPv4 или диапазонов IPv4-адресов в нотации CIDR (бесклассовая междоменная маршрутизация).

Эта функция полезна в сценариях, когда служебная шина Azure должна быть доступна только с определенных известных сайтов. Правила брандмауэра позволяют настроить правила приема трафика, поступающего с определенных IPv4-адресов. Например, при использовании Служебной шины с помощью Azure ExpressRoute можно создать правило брандмауэра, разрешающее трафик только с IP-адресов в локальной инфраструктуре или адресов корпоративного шлюза NAT.

В этой статье показано, как настроить правила брандмауэра IP для пространства имен служебная шина с помощью портала Azure, Azure CLI, PowerShell или шаблонов ARM.

Правила брандмауэра для IP-адресов

Правила брандмауэра IP ограничивают входящий трафик набором адресов IPv4 или диапазонов IPv4-адресов в нотации CIDR (бесклассовая Inter-Domain маршрутизация).

Правила брандмауэра IP применяются на уровне пространства имен служебная шина. Правила применяются ко всем подключениям от клиентов с помощью любого поддерживаемого протокола (AMQP (5671) и HTTPS (443)). служебная шина отклоняет любую попытку подключения с IP-адреса, который не соответствует допустимому правилу IP-адресов в пространстве имен служебная шина как несанкционированный. В ответе не упоминается правило IP. Правила фильтрации IP-адресов применяются по порядку, поэтому первое правило, которое соответствует IP-адресу, определяет действие (принять или отклонить).

Примечание.

Варианты сетевых подключений различаются между SKU служебная шина. Номер SKU "Стандартный" поддерживает фильтрацию IP-адресов, но не включает параметр "Доверенные службы". Для получения информации о сетевых функциях SKU уровня "Премиум" см. специализированную документацию по сетям SKU уровня "Премиум".

Важные аспекты

  • Частные конечные точки и конечные точки службы поддерживаются только на уровне "Премиум " служебной шины. Если обновление до уровня "Премиум " не является вариантом, можно использовать правила брандмауэра IP-адресов с помощью портала Azure, шаблонов Azure Resource Manager, Azure CLI, PowerShell или REST API.

  • Укажите как минимум одно правило брандмауэра для IP-адресов или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети. Если правила IP-адресов и виртуальной сети отсутствуют, пространство имен доступно через общедоступный Интернет (с помощью ключа доступа).

  • Реализация правил брандмауэра может предотвратить взаимодействие других служб Azure со Служебной шиной. В качестве исключения можно разрешить доступ к ресурсам Служебной шины из определенных доверенных служб, даже если включена фильтрация IP-адресов. Список доверенных служб см. в разделе Доверенные службы.

    Следующие службы не поддерживают доверенные службы и вместо этого используют функцию интеграции виртуальных сетей для выполнения исходящих вызовов через виртуальную сеть:

    • Служба приложений Azure
    • Функции Azure

    Дополнительные сведения см. в статье "Интеграция приложения с виртуальной сетью Azure".

Использование портала Azure

При создании пространства имен можно разрешить доступ либо только для общедоступного использования (из всех сетей), либо только для приватного использования (только через частные конечные точки). После создания пространства имен можно разрешить доступ из определенных IP-адресов или из определенных виртуальных сетей (с помощью конечных точек сетевой службы).

Настройка общедоступного доступа при создании пространства имен

Чтобы включить общедоступный доступ, выберите общедоступный доступ на странице "Сеть " мастера создания пространства имен.

Снимок экрана: страница

После создания пространства имен выберите Сеть в левом меню страницы пространства имен службы шины. Вы увидите, что выбран параметр "Все сети ". Вы можете выбрать параметр " Выбранные сети" и разрешить доступ из определенных IP-адресов или определенных виртуальных сетей. В следующем разделе приведены сведения о настройке брандмауэра IP для указания IP-адресов, из которых разрешен доступ.

Настройка брандмауэра IP для существующего пространства имен

В этом разделе показано, как использовать портал Azure для создания правил брандмауэра для пространства имен Служебной шины Azure.

  1. Перейдите в пространство имен служебной шины на портале Azure.

  2. В меню слева выберите параметр "Сеть" в разделе "Параметры".

    Примечание.

    Вкладка Сеть отображается только для пространств имен Премиум.

  3. На странице Сеть для параметра Открытый доступ к сетям можно настроить один из трех следующих вариантов. Выберите параметр "Выбранные сети" , чтобы разрешить доступ только из указанных IP-адресов.

    • Отключены. Этот вариант отключает любой открытый доступ к пространству имен. Пространство имен доступно только через приватные конечные точки.

      Снимок экрана, на котором показана страница

      Выберите, следует ли разрешить доверенным службы Майкрософт обходить брандмауэр. Список доверенных служб Microsoft для Служебной шины Azure см. в разделе «Доверенные службы Microsoft».

    • Выбранные сети. Этот параметр обеспечивает общедоступный доступ к пространству имен из выбранных сетей с помощью ключа доступа.

      Внимание

      Если выбрать выбранные сети, добавьте по крайней мере одно правило брандмауэра IP-адресов или виртуальную сеть с доступом к пространству имен. Выберите Отключено, если вы хотите весь трафик к этому пространству имен направлять только через частные конечные точки.

    • Все сети (вариант по умолчанию). Этот параметр обеспечивает общедоступный доступ из всех сетей с помощью ключа доступа. Если выбрать параметр "Все сети" , служебная шина принимает подключения из любого IP-адреса (с помощью ключа доступа). Такое значение параметра равноценно правилу, которое принимает диапазон IP-адресов 0.0.0.0/0.

  4. Чтобы разрешить доступ только с указанного IP-адреса, выберите вариант Выбранные сети, если он еще не выбран. В разделе Брандмауэр выполните следующие шаги:

    1. Выберите вариант Добавить IP-адрес клиента, чтобы предоставить текущему IP-адресу клиента доступ к пространству имен.

    2. В качестве диапазона адресов введите определенный IPv4-адрес или диапазон IPv4-адресов в нотации CIDR.

    3. Укажите, следует ли разрешить доверенным службам Майкрософт обходить этот брандмауэр. Список доверенных служб Microsoft для Служебной шины Azure см. в разделе «Доверенные службы Microsoft».

      Предупреждение

      Если выбрать параметр "Выбранные сети " и не добавить хотя бы одно правило брандмауэра IP-адресов или виртуальную сеть на этой странице, пространство имен невозможно получить через общедоступный Интернет (с помощью ключа доступа).

      Снимок экрана: страница сетей портала Azure. Выбран параметр для разрешения доступа из выбранных сетей, и раздел

  5. На панели инструментов нажмите Сохранить, чтобы сохранить параметры. Подождите несколько минут, чтобы в уведомлениях портала появилось подтверждение.

    Примечание.

    Чтобы ограничить доступ к определенным виртуальным сетям, см. раздел Разрешение доступа из определенных сетей.

Доверенные службы Майкрософт

При включении параметра Разрешить доверенным службам Майкрософт обходить этот параметр брандмауэра доступ к ресурсам служебной шины предоставляется следующим службам.

Внимание

При включении доверенных служб Майкрософт всегда назначайте управляемое удостоверение. Эта идентификационная информация упрощает безопасное взаимодействие между вашим пространством имен служебная шина и доверенным сервисом Microsoft.

Доверенная служба Поддерживаемые сценарии использования
Сетку событий Azure Позволяет службе "Сетка событий Azure" отсылать события в очереди или топики в пространстве имен служебной шины. Кроме того, необходимо выполнить следующие действия.
  • Включение назначенного системой удостоверения для раздела или домена
  • Добавьте удостоверение на роль Отправителя данных служебной шины Azure в пространстве имен "Служебная шина"
  • Затем настройте подписку на события, использующую очередь или топик служебной шины в качестве конечной точки для использования назначенного системой удостоверения.

Дополнительные сведения см. в разделе Доставка событий с помощью управляемого удостоверения.

Azure Stream Analytics Позволяет заданию Azure Stream Analytics выводить данные в очереди служебная шина и топики.

Важно: задание Stream Analytics должно быть настроено для использования управляемого удостоверения для доступа к пространству имен служебная шина. Добавьте удостоверение в роль Служебная шина Azure Data Sender в пространстве имен Служебной шины.

Центр Интернета вещей Azure Позволяет центру Интернета вещей отсылать сообщения в очереди или разделы в пространстве имен служебной шины. Кроме того, необходимо выполнить следующие действия.
Управление API Azure

Служба управления API позволяет отправить сообщения в очередь или топик служебной шины в пространстве имен служебной шины.

Azure IoT Central

Позволяет службе IoT Central экспортировать данные в очереди или разделы в пространстве имен служебной шины. Вам также необходимо сделать следующие шаги:

  • Включите системную идентификацию для приложения IoT Central.
  • Добавьте удостоверение в роль Служебная шина Azure Data Sender в пространстве имен Служебной шины.
  • Затем настройте для Служебной шины место назначения для экспорта в приложении IoT Central, чтобы использовать проверку подлинности на основе удостоверений.
Azure Digital Twins (Цифровые Двойники Azure) Позволяет Azure Digital Twins отправлять данные в топики служебная шина в вашем пространстве имен служебная шина. Кроме того, необходимо выполнить следующие действия.

  • Включите назначаемое системой удостоверение для экземпляра Azure Digital Twins.
  • Добавьте удостоверение в роль Служебная шина Azure Data Sender в пространстве имен Служебной шины.
  • Затем настройте конечную точку Azure Digital Twins или связь с историей данных Azure Digital Twins, которая использует назначаемое системой удостоверение для проверки подлинности. Для получения дополнительной информации о настройке конечных точек и маршрутов событий для ресурсов служебная шина из Azure Digital Twins см. разделы Маршрутизация событий Azure Digital Twins и Создание конечных точек в Azure Digital Twins.
Azure Monitor (параметры диагностики и группы действий) Позволяет Azure Monitor отправлять диагностические сведения и уведомления об оповещениях в служебная шина в вашем пространстве имен служебная шина. Azure Monitor может считывать и записывать данные в пространство имен служебная шина.
Azure Synapse Позволяет Azure Synapse подключаться к служебной шине, используя управляемое удостоверение рабочей области Synapse. Добавьте идентификатору роль Отправитель данных, Получатель или Владелец в пространстве имен Сервисной шины Azure.

Ниже перечислены другие доверенные службы для службы шины сообщений Azure:

  • Анализатор данных Azure
  • Службы Azure для работы с медицинскими данными
  • Azure Arc
  • Azure Kubernetes
  • Машинное обучение Azure
  • Microsoft Purview.
  • Microsoft Defender для облака
  • Центр поставщика Azure

Использовать шаблон

В этом разделе показаны примеры шаблонов, которые добавляют виртуальную сеть и правило брандмауэра в существующее пространство имен служебной шины.

Значение ipMask — это один IPv4-адрес или блок IP-адресов в записи CIDR. Например, значение 70.37.104.0/24 в нотации CIDR представляет 256 IPv4-адресов в диапазоне от 70.37.104.0 до 70.37.104.255. Число 24 обозначает количество значимых битов префикса для адресов этого диапазона.

Примечание.

Для фильтра defaultAction по умолчанию используется значение Allow. При добавлении правил виртуальной сети или брандмауэра, убедитесь, что настройка defaultAction установлена на Deny.

@description('Name of the Service Bus namespace')
param namespaceName string

@description('Location for all resources.')
param location string = resourceGroup().location

resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
  name: namespaceName
  location: location
  sku: {
    name: 'Premium'
    tier: 'Premium'
    capacity: 1
  }
  properties: {
    premiumMessagingPartitions: 1
    minimumTlsVersion: '1.2'
    publicNetworkAccess: 'Enabled'
    disableLocalAuth: false
    zoneRedundant: true
  }

  resource networkRuleSet 'networkRuleSets' = {
    name: 'default'
    properties: {
      publicNetworkAccess: 'Enabled'
      defaultAction: 'Deny'
      virtualNetworkRules: []
      ipRules: [
        {
          ipMask: '10.1.1.1'
          action: 'Allow'
        }
        {
          ipMask: '11.0.0.0/24'
          action: 'Allow'
        }
      ]
    }
  }
}

Чтобы развернуть шаблон, следуйте инструкциям для Менеджера ресурсов Azure.

Внимание

Если вы не указываете правила для IP-адресов или виртуальной сети, все сетевые данные передаются в пространство имен, даже если вы установили defaultAction на deny. Пользователи могут получить доступ к пространству имен через общедоступный Интернет (с помощью ключа доступа). Чтобы разрешить трафик только из указанных IP-адресов или подсети виртуальной сети, укажите хотя бы одно правило IP-адресов или правило виртуальной сети для пространства имен.

Использование Azure CLI

Используйте команды az servicebus namespace network-rule-set добавления, перечисления, обновления и удаления для управления правилами IP-брандмауэра для пространства имен служебная шина.

Использование Azure PowerShell

Используйте следующие команды Azure PowerShell для добавления, перечисления, удаления, обновления и удаления правил брандмауэра IP-адресов.

Действие по умолчанию и доступ к общедоступной сети

REST API

Для версий API 2021-01-01-preview и более ранних версий значение свойства по умолчанию — defaultAction. Однако правило запрета не применяется, если только не заданы фильтры IP-адресов или правила виртуальной сети. Если вы не задаете какие-либо фильтры IP-адресов или правила виртуальной сети, служебная шина обрабатывает действие по умолчанию как Allow.

Начиная с версии API 2021-06-01-preview, значение по умолчанию свойства defaultAction — Allow, что позволяет точно отразить принудительное применение на стороне службы. Если задано действие Denyпо умолчанию, служба применяет фильтры IP и правила виртуальной сети. Если задано действие Allowпо умолчанию, служба не применяет фильтры IP и правила виртуальной сети. Служба запоминает правила, когда вы отключаете их и снова включаете.

API версии 2021-06-01-preview и далее также представляют новое свойство с именем publicNetworkAccess. Если установить Disabled, операции будут ограничены только частными ссылками. Если значение установлено на Enabled, операции разрешены в общедоступном интернете.

Дополнительные сведения об этих свойствах см. в разделе "Создание или обновление подключений к частной конечной точке".

Примечание.

Ни один из указанных выше параметров не обходит проверку утверждений через SAS или аутентификацию Microsoft Entra. Проверка подлинности всегда выполняется после того, как служба проверяет сетевые проверки, настроенные с помощью параметров defaultAction, publicNetworkAccess и privateEndpointConnections.

Портал Azure

Портал Azure всегда использует последнюю версию API для получения и задания свойств. Если вы ранее настроили пространство имен с помощью 2021-01-01-preview и более ранней версии с defaultAction установленным на Deny, и указали нулевые фильтры IP и правила виртуальной сети, портал ранее проверял выбранные сети на странице Сети вашего пространства имен. Теперь будет выбран вариант Все сети.

Снимок экрана: страница

Чтобы ограничить доступ к служебной шине в виртуальных сетях Azure, ознакомьтесь со следующей статьей: