Поделиться через


Настройка брандмауэра для IP-адресов для пространства имен Azure Relay

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

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

Включение правил брандмауэра для IP-адресов

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

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

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

  1. Перейдите к пространству имен Azure Relay на портале Azure.
  2. В меню слева выберите "Сеть".
  3. Чтобы ограничить доступ к определенным сетям и IP-адресам, выберите вариант Выбранные сети. В разделе "Брандмауэр" выполните следующие действия.
    1. Выберите вариант Добавить IP-адрес клиента, чтобы предоставить текущему IP-адресу клиента доступ к пространству имен.

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

    3. Если вы хотите разрешить службы Майкрософт доверенным службой Ретрансляции Azure обойти этот брандмауэр, выберите "Да для разрешения доверенного службы Майкрософт" для обхода этого брандмауэра?.

      Снимок экрана: вкладка

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

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

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

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

Примечание.

Хотя запрещающие правила отсутствуют, в шаблоне Azure Resource Manager для действия по умолчанию установлено значение Разрешить, которое не ограничивает подключения. При создании правил виртуальной сети или брандмауэров необходимо изменить значение параметра defaultAction.

от

"defaultAction": "Allow"

до

"defaultAction": "Deny"
{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

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

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

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

Доверенная служба Поддерживаемые сценарии использования
Машинное обучение Azure AML Kubernetes использует Azure Relay для упрощения взаимодействия между службами AML и кластером Kubernetes. Azure Relay — это полностью управляемая служба, которая обеспечивает безопасное двунаправленное взаимодействие между приложениями, размещенными в разных сетях. Эта функция идеально подходит для использования в средах приватного канала, где обмен данными между ресурсами Azure и локальными ресурсами ограничен.
Azure Arc Службы с поддержкой Azure Arc, связанные с поставщиками ресурсов, могут подключаться к гибридным подключениям в пространстве имен Azure Relay в качестве отправителя без блокировки правилами брандмауэра IP-адресов, заданными в пространстве имен Azure Relay. Microsoft.Hybridconnectivity служба создает гибридные подключения в пространстве имен Azure Relay и предоставляет сведения о подключении к соответствующей службе Arc на основе сценария. Эти службы взаимодействуют только с пространством имен Azure Relay, если вы используете Azure Arc со следующими службами Azure:

— Azure Kubernetes
- Машинное обучение Azure
— Microsoft Purview

Другие доверенные службы для Azure Relay:

  • Сетку событий Azure
  • Центр Интернета вещей Azure
  • Azure Stream Analytics
  • Azure Monitor
  • Управление API Azure
  • Azure Synapse
  • Azure Data Explorer
  • Azure IoT Central
  • Службы данных здравоохранения Azure
  • Azure Digital Twins

Примечание.

В версии 2021-11-01 или более поздней версии пакета SDK для Ретранслятора Майкрософт свойство "trustedServiceAccessEnabled" доступно в свойствах Microsoft.Relay/namespaces/networkRuleSets для включения доступа к доверенным службам.

Чтобы разрешить доверенные службы в шаблонах Azure Resource Manager, включите это свойство в шаблон:

"trustedServiceAccessEnabled": "True"

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

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "namespaces_name": {
            "defaultValue": "contosorelay0215",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.Relay/namespaces",
            "apiVersion": "2021-11-01",
            "name": "[parameters('namespaces_name')]",
            "location": "East US",
            "sku": {
                "name": "Standard",
                "tier": "Standard"
            },
            "properties": {}
        },
        {
            "type": "Microsoft.Relay/namespaces/authorizationrules",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/RootManageSharedAccessKey')]",
            "location": "eastus",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "rights": [
                    "Listen",
                    "Manage",
                    "Send"
                ]
            }
        },
        {
            "type": "Microsoft.Relay/namespaces/networkRuleSets",
            "apiVersion": "2021-11-01",
            "name": "[concat(parameters('namespaces_sprelayns0215_name'), '/default')]",
            "location": "East US",
            "dependsOn": [
                "[resourceId('Microsoft.Relay/namespaces', parameters('namespaces_sprelayns0215_name'))]"
            ],
            "properties": {
                "trustedServiceAccessEnabled": "True",
                "publicNetworkAccess": "Enabled",
                "defaultAction": "Deny",
                "ipRules": [
                    {
                        "ipMask": "172.72.157.204",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "10.1.1.1",
                        "action": "Allow"
                    },
                    {
                        "ipMask": "11.0.0.0/24",
                        "action": "Allow"
                    }
                ]
            }
        }
    ]
}

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