Подключение в частном порядке Управление API с помощью входящей частной конечной точки

ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Стандартный | Премиум

Вы можете настроить входящие частные конечные точки для экземпляра Управление API, чтобы клиенты в частной сети могли безопасно получить доступ к экземпляру через Приватный канал Azure.

  • Частная конечная точка использует IP-адрес из виртуальной сети Azure, в которой она размещена.

  • Сетевой трафик между клиентом в частной сети и Управлением API проходит через VNet и Приватный канал в магистральной сети Майкрософт, что позволяет избежать рисков общедоступного Интернета.

  • Настройте пользовательские параметры DNS или частную зону Azure DNS, чтобы сопоставить имя узла Управления API с частным IP-адресом конечной точки.

Схема, показывающая безопасное входящее подключение к Управление API с помощью частной конечной точки.

С помощью частной конечной точки и Приватного канала вы можете выполнять следующие действия:

  • Создавать несколько подключений Приватного канала к экземпляру Управления API.

  • Использовать частную конечную точку для отправки входящего трафика в безопасное подключение.

  • Использовать политику, чтобы различать трафик, поступающий от частной конечной точки.

  • Ограничить входящий трафик частными конечными точками, предотвращая кражу данных.

Внимание

  • Вы можете настроить только подключение частной конечной точки для входящего трафика к экземпляру Управление API. В настоящее время исходящий трафик не поддерживается.

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

  • Чтобы включить входящие частные конечные точки, экземпляр Управление API нельзя внедрить в внешнюю или внутреннюю виртуальную сеть.

Ограничения

  • Только конечная точка шлюза Управление API экземпляра поддерживает входящий Приватный канал подключения.
  • Каждый экземпляр Управление API поддерживает не более 100 Приватный канал подключений.
  • Подключение в локальном шлюзе не поддерживаются.

Необходимые компоненты

  • Существующий экземпляр Управления API. Создайте его, если у вас его нет.
  • Виртуальная сеть и подсеть для размещения частной конечной точки. Подсеть может содержать другие ресурсы Azure.
  • (Рекомендуется) Виртуальная машина в той же или другой подсети виртуальной сети для тестирования частной конечной точки.

Метод утверждения для частной конечной точки

Как правило, администратор сети создает частную конечную точку. В зависимости от разрешений управления доступом на основе ролей Azure (RBAC) созданная вами частная конечная точка либо автоматически утверждается для отправки трафика в экземпляр Управления API, либо требует, чтобы владелец ресурса вручную одобрил подключение.

Метод утверждения Минимальные разрешения RBAC
Автоматически Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read
Microsoft.ApiManagement/service/**
Microsoft.ApiManagement/service/privateEndpointConnections/**
Руководство Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read

Шаги по настройке частной конечной точки

  1. Получение доступных типов частных конечных точек в подписке
  2. Отключение политик сети в подсети
  3. Создание частной конечной точки с помощью портала
  4. Список подключений частных конечных точек к экземпляру
  5. Утверждение ожидающих подключений к частным конечным точкам
  6. Отключение доступа к общедоступной сети (необязательно)

Получение доступных типов частных конечных точек в подписке

Убедитесь, что тип частной конечной точки Управления API доступен в вашей подписке и расположении. Найдите эти сведения на портале, перейдя в Центр Приватного канала. Выберите Поддерживаемые ресурсы.

Эти сведения также можно найти с помощью REST API Доступные типы частных конечных точек – список.

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01

Выходные данные должны включать тип конечной точки Microsoft.ApiManagement.service:

[...]

      "name": "Microsoft.ApiManagement.service",
      "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/AvailablePrivateEndpointTypes/Microsoft.ApiManagement.service",
      "type": "Microsoft.Network/AvailablePrivateEndpointTypes",
      "resourceName": "Microsoft.ApiManagement/service",
      "displayName": "Microsoft.ApiManagement/service",
      "apiVersion": "2021-04-01-preview"
    }
[...]

Отключение сетевых политик в подсети

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

Если для настройки частных конечных точек вы используете такие инструменты, как Azure PowerShell, Azure CLI или REST API, обновите конфигурацию подсети вручную. Примеры см. в разделе Управление сетевыми политиками для частных конечных точек.

При использовании портала Azure для создания частной конечной точки, как показано в следующем разделе, сетевые политики автоматически отключаются в процессе создания

Создание частной конечной точки с помощью портала

  1. Перейдите к экземпляру службы Управления API на портале Azure.

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

  3. Выберите "Входящие подключения> к частной конечной точке" и "Добавить конечную точку".

    Добавление частной конечной точки с помощью портала Azure

  4. В окне Создание частной конечной точки на вкладке Основы введите или выберите следующую информацию:

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите существующую группу ресурсов или создайте новую. Она должна находиться в том же регионе, что и виртуальная сеть.
    Сведения об экземпляре
    Имя. Введите имя конечной точки, например myPrivateEndpoint.
    Имя сетевого интерфейса Введите имя сетевого интерфейса, например myInterface
    Область/регион Выберите расположение частной конечной точки. Она должна находиться в том же регионе, что и виртуальная сеть. Она не обязательно должна находиться в регионе, в котором размещен экземпляр Управления API.
  5. Выберите вкладку "Ресурс" или кнопку "Далее" в нижней части страницы. Следующие сведения о вашем экземпляре Управления API уже заполнены:

    • Подписка
    • Группа ресурсов
    • Имя ресурса
  6. В разделе Ресурс в списке Целевой подресурс выберите Шлюз.

    Создание частной конечной точки на портале Azure

  7. Выберите вкладку виртуальная сеть или кнопку "Далее": виртуальная сеть в нижней части экрана.

  8. В сети введите или выберите следующие сведения:

    Параметр Значение
    Виртуальная сеть Выберите свою виртуальную сеть.
    Подсеть Выберите подсеть.
    Конфигурация частного IP-адреса В большинстве случаев выберите динамически выделять IP-адрес.
    Группа безопасности приложений При необходимости выберите группу безопасности приложений.
  9. Выберите вкладку DNS или кнопку "Далее" в нижней части экрана.

  10. В Частная зона DNS интеграции введите или выберите следующие сведения:

    Параметр Значение
    Интегрировать с частной зоной DNS Не изменяйте значение по умолчанию Да.
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите группу ресурсов.
    Использование Azure DNS для частных доменов Отображается значение по умолчанию: (новое) privatelink.azure-api.net.
  11. Нажмите вкладку "Теги " или кнопку "Далее" в нижней части экрана. При желании введите теги для упорядочивания ресурсов Azure.

  12. Выберите Review + create (Просмотреть и создать).

  13. Нажмите кнопку создания.

Список подключений частных конечных точек к экземпляру

После создания частной конечной точки он появится в списке на странице подключений к входящей частной конечной точке экземпляра Управление API на портале.

Вы также можете использовать REST API Подключения к частным конечным точкам — список по службе, чтобы получить список подключений частных конечных точек к экземпляру службы.

Обратите внимание на состояние подключения конечной точки:

  • Утверждено означает, что ресурс Управления API автоматически утвердил подключение.
  • Ожидание означает, что подключение должно быть утверждено владельцем ресурса вручную.

Утверждение ожидающих подключений к частным конечным точкам

Если подключение к частной конечной точке находится в состоянии ожидания, владелец экземпляра Управления API должен вручную утвердить его, прежде чем его можно будет использовать.

Если у вас есть достаточные разрешения, подтвердите подключение к частной конечной точке на странице Подключения к частным конечным точкам экземпляра Управления API на портале.

Вы также можете использовать REST API Управления API Подключение к частной конечной точке — создание или обновление.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}privateEndpointConnections/{privateEndpointConnectionName}?api-version=2021-08-01

Отключение доступа к общедоступной сети (необязательно)

Чтобы дополнительно ограничить входящий трафик к экземпляру Управления API частными конечными точками, отключите доступ к общедоступной сети. Используйте службу Управление API — создание или обновление REST API, чтобы задать для свойства значение publicNetworkAccessDisabled.

Примечание.

Это publicNetworkAccess свойство можно использовать только для отключения общедоступного доступа к экземплярам Управление API, настроенным с частной конечной точкой, а не с другими конфигурациями сети, такими как внедрение виртуальной сети.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01
Authorization: Bearer {{authToken.response.body.access_token}}
Content-Type: application/json

Используйте следующий текст JSON:

{
  [...]
  "properties": {
    "publicNetworkAccess": "Disabled"
  }
}

Проверка подключения к частной конечной точке

После создания частной конечной точки подтвердите ее параметры DNS на портале:

  1. Перейдите к экземпляру службы Управления API на портале Azure.

  2. В меню слева выберите подключения к частной конечной точке для>входящего трафика сети и выберите созданную частную конечную точку.

  3. На панели навигации слева выберите Конфигурация DNS.

  4. Просмотрите записи DNS и IP-адрес частной конечной точки. IP-адрес — это частный адрес в адресном пространстве подсети, в которой настроена частная конечная точка.

Тестирование в виртуальной сети

Подключитесь к виртуальной машине, настроенной в виртуальной сети.

Запустите служебную программу, например nslookup или dig, чтобы найти IP-адрес конечной точки шлюза по умолчанию по Приватному каналу. Например:

nslookup my-apim-service.azure-api.net

Выходные данные должны включать частный IP-адрес, связанный с частной конечной точкой.

Вызовы API, инициированные в виртуальной сети, к конечной точке шлюза по умолчанию, должны быть выполнены успешно.

Тестирование из Интернета

Находясь вне пути к частной конечной точке, попытайтесь вызвать конечную точку шлюза по умолчанию для экземпляра Управления API. Если общий доступ отключен, выходные данные будут содержать ошибку с кодом состояния 403 и сообщение, подобное следующему:

Request originated from client public IP address xxx.xxx.xxx.xxx, public network access on this 'Microsoft.ApiManagement/service/my-apim-service' is disabled.
       
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network. 

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