Разрешение доступа к пространству имен служебной шины Azure из конкретных виртуальных сетей
Интеграция служебная шина с конечными точками службы виртуальная сеть обеспечивает безопасный доступ к возможностям обмена сообщениями из рабочих нагрузок, таких как виртуальные машины, привязанные к виртуальным сетям, с защищенным сетевым трафиком на обоих концах.
После настройки привязки по крайней мере к одной конечной точке службы подсети виртуальной сети соответствующее пространство имен служебная шина больше не будет принимать трафик из любого места, но авторизованные виртуальные сети и, при необходимости, определенные IP-адреса интернета. С точки зрения виртуальной сети привязка пространства имен Служебной шины к конечной точке службы настраивает изолированный сетевой туннель от подсети виртуальной сети к службе обмена сообщениями.
Результатом является частная и изолированная взаимосвязь между рабочими нагрузками, связанными с подсетью, и соответствующим пространством имен Служебной шины, несмотря на то что наблюдаемый сетевой адрес конечной точки службы обмена сообщениями находится в общедоступном диапазоне IP-адресов.
Важные аспекты
Виртуальные сети поддерживаются только в пространствах имен службы "Служебная шина" ценовой категории "Премиум". При использовании конечных точек службы виртуальной сети с служебная шина эти конечные точки не следует включать в приложениях, смешивающих пространства имен уровня "Стандартный" и "Премиум" служебная шина. Так как уровень "Стандартный" не поддерживает виртуальные сети. Конечная точка ограничивается пространствами имен уровня "Премиум".
Реализация интеграции виртуальных сетей может препятствовать взаимодействию других служб Azure со служебной шиной. В качестве исключения можно разрешить доступ к ресурсам Служебной шины из определенных доверенных служб, даже если включены конечные точки служб сети. Список доверенных служб см. в разделе Доверенные службы.
В виртуальной сети должны присутствовать следующие службы Майкрософт:
- Служба приложений Azure
- Функции Azure
Укажите как минимум одно правило IP-адреса или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети. Если правил IP-адресов и виртуальных сетей нет, доступ к пространству имен можно получить через общедоступный Интернет (используя ключ доступа).
Расширенные сценарии безопасности, включенные интеграцией виртуальной сети
Решения, требующие жесткой и раздельной защиты, где подсети виртуальной сети обеспечивают сегментирование между разделенными службами, обычно все же нуждаются в путях взаимодействия между службами, находящимися в этих секциях.
Любой прямой IP-маршрут между секциями, включая передачу трафика HTTPS через TCP/IP, несет риск использования уязвимостей на сетевом уровне. Службы обмена сообщениями обеспечивают изолированные пути взаимодействия, где сообщения при передаче между сторонами даже записываются на диск. Рабочие нагрузки в двух разных виртуальных сетях, которые связаны с одним и тем же экземпляром Служебной шины, могут эффективно и надежно связываться с использованием сообщений, в то время как целостность границ изолированной сети сохраняется.
Это означает, что ваши конфиденциальные облачные решения, влияющие на безопасность, не только получают доступ к ведущим в отрасли надежным, масштабируемым и асинхронным службам обмена сообщениями Azure, но теперь могут использовать обмен сообщениями, чтобы создавать пути передачи данных между защищенными секциями решений. По своей сути такие пути обеспечивают больше безопасности, чем при любом режиме одноранговой связи, включая HTTPS и другие протоколы сокетов TLS.
Привязка служебная шина к виртуальным сетям
Правила виртуальной сети — это функция безопасности брандмауэра, которая позволяет контролировать, принимает ли сервер Служебной шины Azure соединения из определенной подсети виртуальной сети.
Привязка пространства имен Служебной шины к виртуальной сети состоит из двух этапов. Сначала необходимо создать конечную точку службы для Виртуальной сети в подсети Виртуальной сети и включить ее для Microsoft.ServiceBus, как описано в обзоре конечных точек служб. Добавив конечную точку службы, вы привязываете к ней пространство имен служебной шины с помощью правила виртуальной сети.
Правило виртуальной сети — это связь пространства имен Служебной шины с подсетью виртуальной сети. Пока правило существует, всем рабочим нагрузкам, привязанным к подсети, предоставляется доступ к пространству имен Служебной шины. Служебная шина никогда не устанавливает исходящие подключения и не нуждается в доступе, и поэтому это правило не предоставляет ей доступ к вашей подсети.
Примечание.
Помните, что конечная точка сетевой службы предоставляет приложениям, выполняемым в виртуальной сети, доступ к пространству имен Служебной шины. Виртуальная сеть контролирует достижимость конечной точки, но не то, какие операции могут выполняться с сущностями Служебной шины (очередями, разделами или подписками). Используйте идентификатор Microsoft Entra для авторизации операций, которые приложения могут выполнять в пространстве имен и его сущностях. Дополнительные сведения см. в статье "Проверка подлинности и авторизация приложения с идентификатором Microsoft Entra ID" для доступа к сущностям служебная шина.
Использование портала Azure
При создании пространства имен можно разрешить доступ только к пространству имен только общедоступного (из всех сетей) или только приватного (только через частные конечные точки). После создания пространства имен можно разрешить доступ из определенных IP-адресов или из определенных виртуальных сетей (с помощью конечных точек сетевой службы).
Настройка общедоступного доступа при создании пространства имен
Чтобы включить общедоступный доступ, выберите общедоступный доступ на странице "Сеть " мастера создания пространства имен.
После создания пространства имен выберите "Сеть" в меню слева страницы пространства имен служебная шина. Вы увидите, что выбран параметр "Все сети ". Вы можете выбрать параметр " Выбранные сети" и разрешить доступ из определенных IP-адресов или определенных виртуальных сетей. В следующем разделе приведены сведения об указании сетей, из которых разрешен доступ.
Настройка выбранных сетей для существующего пространства имен
В этом разделе показано, как использовать портал Azure, чтобы добавить конечную точку службы для виртуальной сети. Чтобы ограничить доступ, необходимо интегрировать конечную точку службы виртуальной сети для этого пространства имен Центров событий.
Перейдите к пространству имен служебной шины на портале Azure.
В левом меню выберите опцию Сеть в разделе Параметры.
Примечание.
Вкладка Сеть отображается только для пространств имен Премиум.
На странице Сеть для параметра Открытый доступ к сетям можно настроить один из трех следующих вариантов. Чтобы разрешить доступ только с указанного IP-адреса, выберите вариант Выбранные сети.
Все сети (вариант по умолчанию). Этот вариант разрешает открытый доступ с правильным ключом доступа из всех сетей. Если выбрать вариант Все сети, служебная шина будет принимать подключения с любого IP-адреса (с использованием ключа доступа). Такое значение параметра равноценно правилу, которое принимает диапазон IP-адресов 0.0.0.0/0.
Отключены. Этот вариант отключает любой открытый доступ к пространству имен. Пространство имен доступно только через частные конечные точки.
Выберите, следует ли разрешить доверенным службы Майкрософт обходить брандмауэр. Список доверенных службы Майкрософт для Служебная шина Azure см. в разделе "Доверенный службы Майкрософт".
Выбранные сети. Этот вариант разрешает открытый доступ к пространству имен с использованием ключа доступа из выбранных сетей.
Внимание
Если вы выбрали вариант Выбранные сети, добавьте хотя бы одно правило брандмауэра для IP-адресов или виртуальную сеть, которые будут иметь доступ к пространству имен. Выберите Отключено, если вы хотите весь трафик к этому пространству имен направлять только через частные конечные точки.
Чтобы ограничить доступ к определенным виртуальным сетям, выберите вариант Выбранные сети, если он не был выбран ранее.
В разделе Виртуальная сеть на этой странице выберите параметр + Добавить существующую виртуальную сеть. Нажмите кнопку "+ Создать виртуальную сеть ", если вы хотите создать новую виртуальную сеть.
Предупреждение
Если выбран вариант Выбранные сети и на этой странице не добавлено как минимум одно правило брандмауэра IP или виртуальной сети, доступ к этому пространству имен возможен через общедоступный Интернет (с использованием ключа доступа).
Выберите виртуальную сеть из списка виртуальных сетей, затем выберите подсеть. Прежде чем добавлять виртуальную сеть в список, необходимо включить конечную точку службы. Если конечная точка службы не включена, портал предложит включить ее.
После того как конечная точка службы для подсети включена для Microsoft.ServiceBus, должно отобразиться показанное ниже сообщение об успешном выполнении. Нажмите Добавить внизу страницы, чтобы добавить сеть.
Примечание.
Если конечную точку службы невозможно включить, предупреждение об отсутствии конечной точки службы для виртуальной сети можно проигнорировать, используя шаблон Resource Manager. Эта функция недоступна на портале.
На панели инструментов нажмите Сохранить, чтобы сохранить параметры. Подождите несколько минут, чтобы в уведомлениях портала появилось подтверждение. Кнопка Сохранить должна быть отключена.
Примечание.
Инструкции по предоставлению доступа с конкретных IP-адресов или диапазонов см. в разделе Разрешение доступа с конкретных 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
Приведенный ниже пример шаблона Resource Manager добавляет правило виртуальной сети в существующее пространство имен Служебной шины. Для правила сети он указывает идентификатор подсети в виртуальной сети.
Идентификатор — это полный путь Resource Manager для подсети виртуальной сети. Например, /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default
для подсети виртуальной сети, выбираемой по умолчанию.
Примечание.
Для фильтра defaultAction
по умолчанию используется значение Allow
. При добавлении правил виртуальной сети или брандмауэра задайте для параметра defaultAction
значение Deny
.
Шаблон:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"servicebusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"virtualNetworkName": {
"type": "string",
"metadata": {
"description": "Name of the Virtual Network Rule"
}
},
"subnetName": {
"type": "string",
"metadata": {
"description": "Name of the Virtual Network Sub Net"
}
},
"location": {
"type": "string",
"metadata": {
"description": "Location for Namespace"
}
}
},
"variables": {
"namespaceNetworkRuleSetName": "[concat(parameters('servicebusNamespaceName'), concat('/', 'default'))]",
"subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
},
"resources": [{
"apiVersion": "2022-10-01-preview",
"name": "[parameters('servicebusNamespaceName')]",
"type": "Microsoft.ServiceBus/namespaces",
"location": "[parameters('location')]",
"sku": {
"name": "Premium",
"tier": "Premium",
"capacity": 1
},
"properties": {
"premiumMessagingPartitions": 1,
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled",
"disableLocalAuth": false,
"zoneRedundant": true
}
},
{
"apiVersion": "2022-07-01",
"name": "[parameters('virtualNetworkName')]",
"location": "[parameters('location')]",
"type": "Microsoft.Network/virtualNetworks",
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/23"
]
},
"subnets": [{
"name": "[parameters('subnetName')]",
"properties": {
"addressPrefix": "10.0.0.0/23",
"serviceEndpoints": [{
"service": "Microsoft.ServiceBus"
}]
}
}]
}
},
{
"apiVersion": "2022-10-01-preview",
"name": "[variables('namespaceNetworkRuleSetName')]",
"type": "Microsoft.ServiceBus/namespaces/networkruleset",
"dependsOn": [
"[concat('Microsoft.ServiceBus/namespaces/', parameters('servicebusNamespaceName'))]"
],
"properties": {
"publicNetworkAccess": "Enabled",
"defaultAction": "Deny",
"virtualNetworkRules": [{
"subnet": {
"id": "[variables('subNetId')]"
},
"ignoreMissingVnetServiceEndpoint": false
}],
"ipRules": [],
"trustedServiceAccessEnabled": false
}
}
],
"outputs": {}
}
Инструкции по развертыванию шаблона см. в статье Развертывание ресурсов с помощью шаблонов ARM и Azure PowerShell.
Внимание
Если правила IP-адресов и виртуальных сетей отсутствуют, весь трафик передается в пространство имен, даже если для параметра defaultAction
задано значение deny
. Доступ к пространству имен можно получить через общедоступный Интернет (используя ключ доступа). Укажите как минимум одно правило IP-адреса или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети.
Использование Azure CLI
Используйте az servicebus namespace network-rule-set
команды добавления, перечисления, обновления и удаления для управления правилами виртуальной сети для пространства имен служебная шина.
Использование Azure PowerShell
Используйте следующие команды Azure PowerShell для добавления, перечисления, удаления, обновления и удаления сетевых правил для пространства имен служебная шина.
Set-AzServiceBusNetworkRuleSet
для добавления правила виртуальной сети.New-AzServiceBusVirtualNetworkRuleConfig
иSet-AzServiceBusNetworkRuleSet
вместе для добавления правила виртуальной сети.
Действие по умолчанию и доступ к общедоступной сети
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 IP filters (Использование IP-фильтров)