Разрешение доступа к пространству имен Служебной шины Azure из конкретных IP-адресов или диапазонов
По умолчанию служебная шина пространства имен доступны из Интернета, если запрос содержит допустимую проверку подлинности и авторизацию. С брандмауэром IP-адресов входящий трафик может быть ограничен набором адресов IPv4 или диапазонов IPv4-адресов (в нотации CIDR (маршрутизация между доменами без классов).
Эта возможность полезна в сценариях, в которых Служебная шина Azure должна быть доступна только с определенных хорошо известных сайтов. Правила брандмауэра позволяют настроить правила приема трафика, поступающего с определенных IPv4-адресов. Например, при использовании Служебной шины с помощью Azure ExpressRoute можно создать правило брандмауэра, разрешающее трафик только с IP-адресов в локальной инфраструктуре или адресов корпоративного шлюза NAT.
Правила брандмауэра для IP-адресов
Правила брандмауэра для IP-адресов применяются на уровне пространства имен Служебной шины. Поэтому они действуют для всех клиентских подключений по любым поддерживаемым протоколам (AMQP (5671) и HTTPS (443)). Любые попытки подключения с IP-адресов, которые не соответствуют правилу разрешенных IP-адресов для пространства имен Служебной шины, отклоняются. В ответе клиенту не упоминается правило для IP-адресов. Правила фильтрации IP-адресов применяются по порядку, поэтому первое правило, которое соответствует IP-адресу, определяет действие (принять или отклонить).
Важные аспекты
Виртуальные сети поддерживаются только в службе "Служебная шина" ценовой категории "Премиум". Если обновление до уровня "Премиум " не является параметром, можно использовать правила брандмауэра IP. Рекомендуется обеспечить безопасность маркера подписанного URL-адреса (SAS) и предоставить ему общий доступ только авторизованным пользователям. Дополнительные сведения о проверке подлинности SAS см. в разделе Проверка подлинности и авторизация.
Укажите как минимум одно правило брандмауэра для IP-адресов или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети. Если правил IP-адресов и виртуальных сетей нет, доступ к пространству имен можно получить через общедоступный Интернет (используя ключ доступа).
Реализация правил брандмауэра может предотвратить взаимодействие других служб Azure со Служебной шиной. В качестве исключения можно разрешить доступ к ресурсам Служебной шины из определенных доверенных служб, даже если включена фильтрация IP-адресов. Список доверенных служб см. в разделе Доверенные службы.
В виртуальной сети должны присутствовать следующие службы Майкрософт:
- Служба приложений Azure
- Функции Azure
Примечание.
Вкладка Сеть отображается только для пространств имен Премиум. Чтобы задать правила брандмауэра IP для других уровней, используйте шаблоны Azure Resource Manager, Azure CLI, PowerShell или REST API.
Использование портала Azure
При создании пространства имен можно разрешить доступ только к пространству имен только общедоступного (из всех сетей) или только приватного (только через частные конечные точки). После создания пространства имен можно разрешить доступ из определенных IP-адресов или из определенных виртуальных сетей (с помощью конечных точек сетевой службы).
Настройка общедоступного доступа при создании пространства имен
Чтобы включить общедоступный доступ, выберите общедоступный доступ на странице "Сеть " мастера создания пространства имен.
После создания пространства имен выберите "Сеть" в меню слева страницы пространства имен служебная шина. Вы увидите, что выбран параметр "Все сети ". Вы можете выбрать параметр " Выбранные сети" и разрешить доступ из определенных IP-адресов или определенных виртуальных сетей. В следующем разделе приведены сведения о настройке брандмауэра IP для указания IP-адресов, из которых разрешен доступ.
Настройка брандмауэра IP для существующего пространства имен
В этом разделе показано, как использовать портал Azure для создания правил брандмауэра для пространства имен Служебной шины Azure.
Перейдите к пространству имен служебной шины на портале Azure.
В левом меню выберите опцию Сеть в разделе Параметры.
Примечание.
Вкладка Сеть отображается только для пространств имен Премиум.
На странице Сеть для параметра Открытый доступ к сетям можно настроить один из трех следующих вариантов. Чтобы разрешить доступ только с указанного IP-адреса, выберите вариант Выбранные сети.
Отключены. Этот вариант отключает любой открытый доступ к пространству имен. Пространство имен доступно только через частные конечные точки.
Выберите, следует ли разрешить доверенным службы Майкрософт обходить брандмауэр. Список доверенных службы Майкрософт для Служебная шина Azure см. в разделе "Доверенный службы Майкрософт".
Выбранные сети. Этот вариант разрешает открытый доступ к пространству имен с использованием ключа доступа из выбранных сетей.
Внимание
Если вы выбрали вариант Выбранные сети, добавьте хотя бы одно правило брандмауэра для IP-адресов или виртуальную сеть, которые будут иметь доступ к пространству имен. Выберите Отключено, если вы хотите весь трафик к этому пространству имен направлять только через частные конечные точки.
Все сети (вариант по умолчанию). Этот вариант разрешает открытый доступ с правильным ключом доступа из всех сетей. Если выбрать вариант Все сети, служебная шина будет принимать подключения с любого IP-адреса (с использованием ключа доступа). Такое значение параметра равноценно правилу, которое принимает диапазон IP-адресов 0.0.0.0/0.
Чтобы разрешить доступ только с указанного IP-адреса, выберите вариант Выбранные сети, если он еще не выбран. В разделе Брандмауэр выполните следующие шаги:
Выберите вариант Добавить IP-адрес клиента, чтобы предоставить текущему IP-адресу клиента доступ к пространству имен.
В качестве диапазона адресов введите определенный IPv4-адрес или диапазон IPv4-адресов в нотации CIDR.
Укажите, следует ли разрешить доверенным службам Майкрософт обходить этот брандмауэр. Список доверенных службы Майкрософт для Служебная шина Azure см. в разделе "Доверенный службы Майкрософт".
Предупреждение
Если выбран вариант Выбранные сети и на этой странице не добавлено как минимум одно правило брандмауэра IP или виртуальной сети, доступ к этому пространству имен возможен через общедоступный Интернет (с использованием ключа доступа).
На панели инструментов нажмите Сохранить, чтобы сохранить параметры. Подождите несколько минут, чтобы в уведомлениях портала появилось подтверждение.
Примечание.
Чтобы ограничить доступ к определенным виртуальным сетям, см. раздел Разрешение доступа из определенных сетей.
Доверенные службы Майкрософт
При включении параметра Разрешить доверенным службам Майкрософт обходить этот параметр брандмауэра доступ к ресурсам служебной шины предоставляется следующим службам.
Доверенная служба | Поддерживаемые сценарии использования |
---|---|
Сетку событий Azure | Позволяет службе "Сетка событий Azure" отсылать события в очереди или топики в пространстве имен служебной шины. Кроме того, необходимо выполнить следующие действия.
Дополнительные сведения см. в разделе Доставка событий с помощью управляемого удостоверения. |
Azure Stream Analytics | Позволяет заданию Azure Stream Analytics выводить данные для служебная шина очередей в разделы. Важно. Задание Stream Analytics должно быть настроено для использования управляемого удостоверения для доступа к пространству имен служебная шина. Добавьте удостоверения в роль Отправитель данных служебной шины Azure в пространстве имен "Служебная шина". |
Центр Интернета вещей Azure | Позволяет центру Интернета вещей отсылать сообщения в очереди или разделы в пространстве имен служебной шины. Кроме того, необходимо выполнить следующие действия.
|
Управление API Azure | Служба управления API позволяет отправить сообщения в очередь или топик служебной шины в пространстве имен служебной шины.
|
Azure IoT Central | Позволяет службе IoT Central экспортировать данные в очереди или разделы в пространстве имен служебной шины. Вам также необходимо сделать следующие шаги:
|
Azure Digital Twins | Позволяет Azure Digital Twins отправлять данные в служебная шина разделы в пространстве имен служебная шина. Кроме того, необходимо выполнить следующие действия.
|
Azure Monitor (параметры диагностики и группы действий) | Позволяет Azure Monitor отправлять диагностические сведения и уведомления об оповещениях в служебная шина в пространстве имен служебная шина. Azure Monitor может считывать и записывать данные в пространство имен служебная шина. |
Azure Synapse | Позволяет Azure Synapse подключаться к служебной шине с помощью управляемого удостоверения рабочей области Synapse. Добавьте роль Служебная шина Azure отправителя данных, получателя или владельца в удостоверение в пространстве имен служебная шина. |
Ниже приведены другие доверенные службы для Служебная шина Azure:
- Azure Data Explorer
- Службы Azure для работы с медицинскими данными
- Azure Arc
- Azure Kubernetes
- Машинное обучение Azure
- Microsoft Purview
- Microsoft Defender для облака
- Центр поставщика Azure
Использование шаблона Resource Manager
В этом разделе приведен пример шаблона Azure Resource Manager, который добавляет виртуальную сеть и правило брандмауэра к существующему пространству имен Служебной шины.
Зачение 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
.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"namespace_name": {
"defaultValue": "mypremiumnamespace",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2022-10-01-preview",
"name": "[parameters('namespace_name')]",
"location": "East US",
"sku": {
"name": "Premium",
"tier": "Premium",
"capacity": 1
},
"properties": {
"premiumMessagingPartitions": 1,
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled",
"disableLocalAuth": false,
"zoneRedundant": true
}
},
{
"type": "Microsoft.ServiceBus/namespaces/networkRuleSets",
"apiVersion": "2022-10-01-preview",
"name": "[concat(parameters('namespace_name'), '/default')]",
"location": "East US",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('namespace_name'))]"
],
"properties": {
"publicNetworkAccess": "Enabled",
"defaultAction": "Deny",
"virtualNetworkRules": [],
"ipRules": [
{
"ipMask": "10.1.1.1",
"action": "Allow"
},
{
"ipMask": "11.0.0.0/24",
"action": "Allow"
}
]
}
}
]
}
Инструкции по развертыванию шаблона см. в статье Развертывание ресурсов с помощью шаблонов ARM и Azure PowerShell.
Внимание
Если правила IP-адресов и виртуальных сетей отсутствуют, весь трафик передается в пространство имен, даже если для параметра defaultAction
задано значение deny
. Доступ к пространству имен можно получить через общедоступный Интернет (используя ключ доступа). Укажите как минимум одно правило IP-адреса или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети.
Использование Azure CLI
Используйте az servicebus namespace network-rule-set
команды добавления, перечисления, обновления и удаления для управления правилами брандмауэра IP для пространства имен служебная шина.
Использование Azure PowerShell
Используйте следующие команды Azure PowerShell для добавления, перечисления, удаления, обновления и удаления правил брандмауэра IP-адресов.
New-AzServiceBusIPRuleConfig
иSet-AzServiceBusNetworkRuleSet
вместе для добавления правила брандмауэра IP-адресов.
Действие по умолчанию и доступ к общедоступной сети
REST API
Значение свойства defaultAction
по умолчанию было Deny
для версий API до 2021-01-01-preview. Но правило запрета не применяется, если вы не настроили фильтры 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, см. по следующей ссылке:
- Use Virtual Network service endpoints with Azure Service Bus (Использование конечных точек служб для виртуальной сети для Служебной шины Azure)