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

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

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

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

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

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

  • Эта функция не поддерживается на уровне "Базовый".
  • Включение правил брандмауэра для пространства имен Центров событий по умолчанию блокирует входящие запросы, если только запросы не исходят от службы, работающей с разрешенных общедоступных IP-адресов. Запросы, которые блокируются, включают запросы из других служб Azure, из портал Azure, от служб ведения журнала и метрик и т. д. В качестве исключения можно разрешить доступ к ресурсам Центров событий из определенных доверенных служб, даже если включена фильтрация IP-адресов. Список доверенных служб см. в разделе Доверенные службы Майкрософт.
  • Укажите как минимум одно правило брандмауэра для IP-адресов или правило виртуальной сети для пространства имен, разрешающее трафик только с указанных IP-адресов или подсети виртуальной сети. Если правил IP-адресов и виртуальных сетей нет, доступ к пространству имен можно получить через общедоступный Интернет (используя ключ доступа).

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

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

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

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

Screenshot showing the Networking page of the Create namespace wizard with Public access option selected.

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

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

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

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

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

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

    Дополнительные сведения о параметрах, доступных на странице доступа к общедоступной сети:

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

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

      Важно!

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

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

  4. Чтобы ограничить доступ к определенным IP-адресам, выберите параметр "Выбранные сети " и выполните следующие действия.

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

    2. Для диапазона адресов введите определенные адреса IPv4 или IPv6 или диапазоны адресов в нотации CIDR.

      Важно!

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

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

      Firewall section highlighted in the Public access tab of the Networking page.

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

    Примечание.

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

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

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

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

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

Azure Stream Analytics Позволяет заданию Azure Stream Analytic считывать данные из (входных данных) или записывать их в (выходные данные) концентраторов событий в пространстве имен концентраторов событий.

Важно! Задание Stream Analytics должно быть настроено для использования управляемого удостоверения для доступа к концентратору событий. Дополнительные сведения см. в статье "Использование управляемых удостоверений для доступа к концентратору событий" из задания Azure Stream Analytics (предварительная версия).

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

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

Azure Monitor (параметры диагностики и группы действий) Позволяет Azure Monitor отправлять диагностические сведения и оповещения концентраторам событий в пространстве имен Центров событий. Azure Monitor может выполнять чтение из концентратора событий, а также записывать данные в концентратор событий.
Azure Synapse Позволяет Azure Synapse подключаться к концентратору событий с помощью управляемого удостоверения рабочей области Synapse. Добавьте роль отправителя данных, получателя или владельца Центры событий Azure в удостоверение в пространстве имен Центров событий.
Azure Data Explorer Позволяет Azure Data Обозреватель получать события из концентратора событий с помощью управляемого удостоверения кластера. Выполните следующие действия.
  • Настройка управляемого удостоверения в Обозреватель данных Azure
  • Предоставьте удостоверению роль Центры событий Azure приемника данных в концентраторе событий.
 
Azure IoT Central

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

  • Включите назначаемое системой удостоверение для приложения IoT Central.
  • Добавьте удостоверение в роль отправителя данных Центров событий Azure в пространстве имен Центров событий.
  • Затем настройте для Центров событий место назначения для экспорта в приложении IoT Central, чтобы использовать проверку подлинности на основе удостоверений.
Службы Azure для работы с медицинскими данными Позволяет соединителю IoT api здравоохранения приема данных медицинского устройства из пространства имен Центров событий и сохранять данные в настроенной службе ресурсов быстрого взаимодействия с здравоохранением (FHIR®). Соединитель Интернета вещей должен быть настроен для использования управляемого удостоверения для доступа к концентратору событий. Дополнительные сведения см. в статье "Начало работы с соединителем Интернета вещей" — API здравоохранения Azure.
Azure Digital Twins Позволяет Azure Digital Twins отправлять данные в центры событий в пространстве имен Центров событий. Кроме того, необходимо выполнить следующие действия.

  • Включите назначаемое системой удостоверение для экземпляра Azure Digital Twins.
  • Добавьте удостоверение в роль отправителя данных Центров событий Azure в пространстве имен Центров событий.
  • Затем настройте конечную точку Azure Digital Twins или подключение журнала данных Azure Digital Twins, которое использует назначаемое системой удостоверение для проверки подлинности. Дополнительные сведения о настройке конечных точек и маршрутов событий в ресурсы Центров событий из Azure Digital Twins см. в статье "Маршрутизация событий Azure Digital Twins" и создание конечных точек в Azure Digital Twins.

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

  • Azure Arc
  • Azure Kubernetes
  • Машинное обучение Azure
  • Microsoft Purview

Использование шаблона Resource Manager

Важно!

Функциональные возможности брандмауэра не поддерживаются на уровне "Базовый".

Следующий шаблон Resource Manager позволяет добавить правило фильтрации IP-адресов в существующее пространство имен Центров событий.

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": "contosoehub1333",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.EventHub/namespaces",
            "apiVersion": "2022-01-01-preview",
            "name": "[parameters('namespace_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard",
                "capacity": 1
            },
            "properties": {
                "minimumTlsVersion": "1.2",
                "publicNetworkAccess": "Enabled",
                "disableLocalAuth": false,
                "zoneRedundant": true,
                "isAutoInflateEnabled": false,
                "maximumThroughputUnits": 0,
                "kafkaEnabled": true
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/authorizationrules",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/namespaces', parameters('namespace_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.EventHub/namespaces/networkRuleSets",
            "apiVersion": "2022-01-01-preview",
            "name": "[concat(parameters('namespace_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.EventHub/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"
                    },
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

Инструкции по развертыванию шаблона см. в статье Развертывание ресурсов с помощью шаблонов ARM и Azure PowerShell.

Важно!

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

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

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

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

Set-AzEventHubNetworkRuleSet Используйте командлет для добавления одного или нескольких правил брандмауэра IP-адресов. Пример из статьи:

$ipRule1 = New-AzEventHubIPRuleConfig -IPMask 2.2.2.2 -Action Allow
$ipRule2 = New-AzEventHubIPRuleConfig -IPMask 3.3.3.3 -Action Allow
$virtualNetworkRule1 = New-AzEventHubVirtualNetworkRuleConfig -SubnetId '/subscriptions/subscriptionId/resourcegroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVirtualNetwork/subnets/default'
$networkRuleSet = Get-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace
$networkRuleSet.IPRule += $ipRule1
$networkRuleSet.IPRule += $ipRule2
$networkRuleSet.VirtualNetworkRule += $virtualNetworkRule1
Set-AzEventHubNetworkRuleSet -ResourceGroupName myResourceGroup -NamespaceName myNamespace -IPRule $ipRule1,$ipRule2 -VirtualNetworkRule $virtualNetworkRule1,$virtualNetworkRule2,$virtualNetworkRule3

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

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 и более ранних версий с defaultAction заданным значением Deny, а также указали нулевые IP-фильтры и правила виртуальной сети, портал ранее проверка выбранные сети на странице "Сеть" пространства имен. Теперь будет выбран вариант Все сети.

Screenshot that shows the Public access page with the All networks option selected.

Следующие шаги

Инструкции по ограничению доступа к Центрам событий из виртуальных сетей Azure, см. по следующей ссылке: