Разрешение доступа к пространству имен Служебной шины Azure из конкретных IP-адресов или диапазонов
По умолчанию служебная шина пространства имен доступны из Интернета, если запрос содержит допустимую проверку подлинности и авторизацию. С брандмауэром IP-адресов входящий трафик может быть ограничен набором адресов IPv4 или диапазонов IPv4-адресов (в нотации CIDR (маршрутизация между доменами без классов).
Эта возможность полезна в сценариях, в которых Служебная шина Azure должна быть доступна только с определенных хорошо известных сайтов. Правила брандмауэра позволяют настроить правила приема трафика, поступающего с определенных IPv4-адресов. Например, при использовании Служебной шины с помощью Azure ExpressRoute можно создать правило брандмауэра, разрешающее трафик только с IP-адресов в локальной инфраструктуре или адресов корпоративного шлюза NAT.
Правила брандмауэра для IP-адресов
Правила брандмауэра для IP-адресов применяются на уровне пространства имен Служебной шины. Поэтому они действуют для всех клиентских подключений по любым поддерживаемым протоколам (AMQP (5671) и HTTPS (443)). Любые попытки подключения с IP-адресов, которые не соответствуют правилу разрешенных IP-адресов для пространства имен Служебной шины, отклоняются. В ответе клиенту не упоминается правило для IP-адресов. Правила фильтрации IP-адресов применяются по порядку, поэтому первое правило, которое соответствует IP-адресу, определяет действие (принять или отклонить).
Важные аспекты
Виртуальные сети поддерживаются только в службе "Служебная шина" ценовой категории "Премиум". Если обновление до уровня "Премиум" не является вариантом, можно использовать правила брандмауэра IP с помощью портал Azure, шаблонов Azure Resource Manager, Azure CLI, PowerShell или REST API. Рекомендуется обеспечить безопасность маркера подписанного URL-адреса (SAS) и предоставить ему общий доступ только авторизованным пользователям. Дополнительные сведения о проверке подлинности SAS см. в разделе Проверка подлинности и авторизация.
Укажите как минимум одно правило брандмауэра для IP-адресов или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети. Если правил IP-адресов и виртуальных сетей нет, доступ к пространству имен можно получить через общедоступный Интернет (используя ключ доступа).
Реализация правил брандмауэра может предотвратить взаимодействие других служб Azure со Служебной шиной. В качестве исключения можно разрешить доступ к ресурсам Служебной шины из определенных доверенных служб, даже если включена фильтрация IP-адресов. Список доверенных служб см. в разделе Доверенные службы.
В виртуальной сети должны присутствовать следующие службы Майкрософт:
- Служба приложений Azure
- Функции Azure
Использование портала 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)