Руководство по ограничению сетевого доступа к ресурсам PaaS с помощью конечных точек службы виртуальной сети

Конечные точки служб для виртуальной сети позволяют ограничить сетевой доступ к некоторым ресурсам службы Azure определенной подсетью виртуальной сети. Можно также запретить доступ к ресурсам через Интернет. Конечные точки службы предоставляют прямое подключение из виртуальной сети к поддерживаемым службам Azure. Это позволяет использовать закрытый диапазон адресов виртуальной сети для доступа к службам Azure. Трафик, поступающий к ресурсам Azure через конечные точки службы, всегда остается в магистральной сети Microsoft Azure.

Схема ресурсов Azure, созданных в руководстве.

В этом руководстве описано следующее:

  • Создание виртуальной сети с одной подсетью.
  • Добавление подсети и включение конечной точки службы.
  • Создание ресурса Azure и разрешение сетевого доступа к нему только из подсети.
  • Развертывание виртуальной машины в каждой подсети.
  • Подтверждение прав доступа к ресурсу из подсети.
  • Убедитесь, что доступ к ресурсу запрещен из подсети и Интернета.

Предварительные условия

Создайте группу ресурсов

  1. Войдите на портал Azure.

  2. В поле поиска в верхней части портала введите ResourceGroup. Выберите Группы ресурсов в результатах поиска.

  3. Выберите + Создать.

  4. На вкладке "Основы" создайте группу ресурсов, введите или выберите следующие сведения:

    Настройка Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Введите test-rg.
    Область/регион Выберите регион Восточная часть США 2.
  5. Выберите Review + create.

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

Создание виртуальной сети

  1. В поле поиска в верхней части портала введите виртуальные сети. В результатах поиска выберите Виртуальные сети.

  2. Выберите + Создать.

  3. На вкладке "Основы" создайте виртуальную сеть, введите или выберите следующие сведения:

    Настройка Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Имя. Введите vnet-1.
    Область/регион Выберите регион Восточная часть США 2.
  4. Нажмите кнопку "Далее ", чтобы перейти на вкладку "Безопасность ".

  5. Нажмите Далее, чтобы перейти на вкладку IP-адреса.

  6. В поле адресного пространства в подсетях выберите подсеть по умолчанию .

  7. В разделе "Изменить подсеть", введите или выберите следующие сведения:

    Настройка Значение
    Сведения о подсети
    Шаблон подсети Оставьте значение «По умолчанию».
    Имя. Введите subnet-1.
    Начальный адрес Оставьте значение по умолчанию 10.0.0.0.
    Размер подсети Оставьте значение по умолчанию /24 (256 адресов).
  8. Выберите Сохранить.

  9. Выберите "Проверка и создание " в нижней части экрана и при прохождении проверки нажмите кнопку "Создать".

Развертывание Бастиона Azure

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

Примечание.

Почасовая оплата начинается с момента установки Bastion, независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.

  1. В поле поиска в верхней части портала введите Бастион. Выберите Bastions в результатах поиска.

  2. Выберите + Создать.

  3. На вкладке "Основы " создайте бастион, введите или выберите следующие сведения:

    Настройка Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Имя. Введите бастион.
    Область/регион Выберите регион Восточная часть США 2.
    Уровень Выберите разработчика.
    Настройка виртуальных сетей
    Виртуальная сеть Выберите vnet-1.
  4. Выберите Review + create.

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

Включите конечную точку службы

Конечные точки службы активируются для каждой службы и каждой подсети.

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

  2. В виртуальных сетях выберите виртуальную сеть-1.

  3. В разделе "Параметры" виртуальной сети-1 выберите подсети.

  4. Выберите + Подсеть.

  5. На странице "Добавление подсети" введите или выберите следующие сведения:

    Настройка Значение
    Имя. subnet-private
    Диапазон адресов подсети Оставьте значение по умолчанию 10.0.2.0/24.
    КОНЕЧНЫЕ ТОЧКИ СЛУЖБЫ
    Службы Выберите элемент Microsoft.Storage.
  6. Выберите Сохранить.

Внимание

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

Ограничение сетевого доступа для подсети

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

  1. В поле поиска в верхней части страницы портала найдите группу безопасности сети. В результатах поиска выберите Группы безопасности сети.

  2. В группах безопасности сети нажмите кнопку +Создать.

  3. На вкладке основных сведений страницы Создание группы безопасности сети введите или выберите указанные ниже значения параметров.

    Настройка Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Имя. Введите nsg-storage.
    Область/регион Выберите регион Восточная часть США 2.
  4. Выберите Проверить и создать, а затем выберите Создать.

Создание правил для исходящей группы безопасности сети (NSG)

  1. В поле поиска в верхней части страницы портала найдите группу безопасности сети. В результатах поиска выберите Группы безопасности сети.

  2. Выберите nsg-storage.

  3. В разделе Параметры выберите Правила безопасности для исходящего трафика.

  4. Выберите + Добавить.

  5. Создайте правило, разрешающее исходящий обмен данными в службе хранилища Azure. Введите или выберите следующие сведения в Добавить правило безопасности для исходящего трафика:

    Настройка Значение
    Исходный материал Выберите Service Tag (Тег службы).
    Тег службы источника Выберите VirtualNetwork.
    Диапазоны исходных портов Оставьте значение по умолчанию *.
    Назначение Выберите Service Tag (Тег службы).
    Тег сервиса назначения Выберите Хранилище.
    Сервис Оставьте значение по умолчанию custom.
    Диапазоны портов назначения Введите 445.
    Протокол Выберите Любое.
    Действие Выберите Разрешить.
    Приоритет Оставьте значение по умолчанию 100.
    Имя. Введите allow-storage-all.
  6. Выберите + Добавить.

  7. Создайте другое правило безопасности, которое запрещает исходящие подключения через Интернет. Это правило переопределяет правило по умолчанию во всех группах безопасности сети, которое позволяет исходящую связь через Интернет. Воспользуйтесь следующими значениями в Добавить правило безопасности для исходящего трафика, чтобы завершить предыдущие шаги.

    Настройка Значение
    Исходный материал Выберите Service Tag (Тег службы).
    Тег службы источника Выберите VirtualNetwork.
    Диапазоны исходных портов Оставьте значение по умолчанию *.
    Назначение Выберите Service Tag (Тег службы).
    Тег сервиса назначения Выберите Интернет.
    Сервис Оставьте значение по умолчанию custom.
    Диапазоны портов назначения Введите *.
    Протокол Выберите Любое.
    Действие Выберите Отклонить.
    Приоритет Оставьте значение по умолчанию 110.
    Имя. Введите deny-internet-all.
  8. Выберите Добавить.

  9. В поле поиска в верхней части страницы портала найдите группу безопасности сети. В результатах поиска выберите Группы безопасности сети.

  10. Выберите nsg-storage.

  11. В разделе Параметры выберите Подсети.

  12. Нажмите + Ассоциировать.

  13. В разделе "Ассоциация подсети" выберите vnet-1 в виртуальной сети. Выберите subnet-private в разделе подсеть.

  14. Нажмите ОК.

Ограничение сетевого доступа к ресурсу

Действия, необходимые для ограничения сетевого доступа к ресурсам, созданным через службы Azure, которые включены для конечных точек служб, зависят от служб. Ознакомьтесь с документацией по отдельным службам, чтобы получить точные инструкции для них. В оставшейся части этого руководства в качестве примера приведены инструкции по ограничению сетевого доступа для учетной записи службы хранилища Azure.

Создание учетной записи хранилища

  1. В поле поиска в верхней части портала введите Учетная запись хранения. Выберите Учетные записи хранения в результатах поиска.

  2. Выберите + Создать.

  3. На вкладке "Основы" создайте учетную запись хранения, введите или выберите следующие сведения:

    Настройка Значение
    Сведения о проекте
    Подписка Выберите свою подписку Azure.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Название учетной записи хранилища Введите уникальное имя. В этом руководстве используется хранилище1. Если имя недоступно, введите уникальное имя.
    Расположение Выберите регион (США) Восточная часть США 2.
    Производительность Оставьте значение по умолчанию Стандартная.
    Избыточность Выберите Локально избыточное хранилище (LRS).
  4. Выберите Review.

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

Это важно

Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как идентификации с управлением, не являются приемлемыми.

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

Создайте файловую общую папку в учетной записи хранения

  1. В поле поиска в верхней части портала введите Учетная запись хранения. Выберите Учетные записи хранения в результатах поиска.

  2. В учетных записях хранения выберите учетную запись хранения, созданную на предыдущем шаге.

  3. В хранилище данных выберите общие папки.

  4. Выберите + Общий доступ к файлам.

  5. Введите или выберите следующие сведения в новой общей папке:

    Настройка Значение
    Имя. Введите файловый обмен.
    Уровень Оставьте значение по умолчанию Оптимизировано для транзакций.
  6. Нажмите кнопку "Далее" — резервное копирование.

  7. Отмена выбора включения резервного копирования.

  8. Выберите Проверить и создать, а затем выберите Создать.

Ограничение сетевого доступа к подсети

По умолчанию учетные записи хранения принимают сетевые подключения от клиентов из любой сети, включая Интернет. Вы можете ограничить доступ к сети из Интернета, а также ко всем остальным подсетям во всех виртуальных сетях (за исключением подсети subnet-private в виртуальной сети vnet-1).

Ограничение сетевого доступа к подсети:

  1. В поле поиска в верхней части портала введите Учетная запись хранения. Выберите Учетные записи хранения в результатах поиска.

  2. Затем выберите учетную запись хранения.

  3. В разделе "Безопасность и сеть" выберите "Сеть".

  4. На вкладке "Брандмауэры и виртуальные сети" выберите "Включено из выбранных виртуальных сетей и IP-адресов" в доступе к общедоступной сети.

  5. В виртуальных сетях выберите + Добавить существующую виртуальную сеть.

  6. В разделе "Добавление сетей" введите или выберите следующие сведения:

    Настройка Значение
    Подписка Выберите свою подписку.
    Виртуальные сети Выберите vnet-1.
    подсети; Выберите subnet-private.

    Снимок экрана: ограничение учетной записи хранения в подсети и виртуальной сети, созданной ранее.

  7. Выберите Добавить.

  8. Нажмите кнопку "Сохранить", чтобы сохранить конфигурации виртуальной сети.

Развертывание виртуальных машин в подсетях

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

Создание первой виртуальной машины

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

  2. Выберите + Создать, затем выберите Виртуальная машина Azure.

  3. В разделе "Создание виртуальной машины " или на вкладке "Основные сведения" выберите следующие сведения:

    Настройка Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об инстанции
    Имя виртуальной машины Введите vm-1.
    Область/регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите Избыточность инфраструктуры не требуется.
    Тип безопасности Выберите Стандартное.
    Изображение Выберите Ubuntu Server 24.04 LTS — x64 Gen2.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации Выберите Открытый ключ SSH.
    Имя пользователя Введите имя пользователя.
    SSH public key source (Источник открытого ключа SSH) Выберите Создать новую пару ключей.
    Имя пары ключей Введите vm-1-key.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

  5. На вкладке "Сеть" введите или выберите следующие сведения:

    Настройка Значение
    Сетевой интерфейс
    Виртуальная сеть Выберите vnet-1.
    Подсеть Выберите субсеть-1 (10.0.0.0/24).
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого интерфейса (NIC) Выберите Дополнительно.
    Настройка группы безопасности сети Выберите Создать новый.
    В поле "Имя" введите nsg-1.
    Нажмите кнопку ОК.
  6. Оставьте остальные параметры по умолчанию и выберите "Просмотр и создание".

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

Примечание.

Виртуальные машины в виртуальной сети с узлом бастиона не требуют общедоступных IP-адресов. Бастион предоставляет общедоступный IP-адрес, а виртуальные машины используют частные IP-адреса для обмена данными в сети. Вы можете удалить общедоступные IP-адреса из любых виртуальных машин в размещенных виртуальных сетях бастиона. Дополнительные сведения см. в разделе "Отсообщение общедоступного IP-адреса" с виртуальной машины Azure.

Примечание.

Azure предоставляет IP-адрес исходящего доступа по умолчанию для виртуальных машин, которые либо не назначены общедоступным IP-адресом, либо находятся в серверном пуле внутренней подсистемы балансировки нагрузки Azure. Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.

IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:

  • Общедоступный IP-адрес назначается виртуальной машине.
  • Виртуальная машина размещается в серверном пуле стандартной подсистемы балансировки нагрузки с правилами исходящего трафика или без нее.
  • Ресурс шлюза NAT Azure привязан к подсети виртуальной машины.

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

Дополнительные сведения об исходящих подключениях в Azure см. в статье об исходящем доступе по умолчанию в Azure и использовании преобразования исходящих сетевых адресов (SNAT) для исходящих подключений.

Создание второй виртуальной машины

  1. Создайте вторую виртуальную машину, повторяющую шаги, описанные в предыдущем разделе. Замените следующие значения в разделе "Создание виртуальной машины".

    Настройка Значение
    Имя виртуальной машины Введите vm-private.
    SSH public key source (Источник открытого ключа SSH) Выберите Создать новую пару ключей.
    Имя пары ключей Введите ключ виртуальной машины.
    Подсеть Выберите subnet-private.
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого интерфейса (NIC) Выберите Отсутствует.

    Предупреждение

    Не переходите к следующему шагу, пока развертывание не будет завершено.

Подтверждение прав доступа к учетной записи хранения

Созданная ранее виртуальная машина, назначенная в subnet-private подсеть, используется для подтверждения доступа к учетной записи хранения. Виртуальная машина, созданная в предыдущем разделе и назначенная в подсеть subnet-1, используется для подтверждения блокировки доступа к учетной записи хранения.

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

  1. В поле поиска в верхней части портала введите Учетная запись хранения. Выберите Учетные записи хранения в результатах поиска.

  2. В учетных записях хранения выберите учетную запись хранения.

  3. В разделе "Безопасность и сеть" выберите ключи доступа.

  4. Скопируйте значение key1. Чтобы отобразить ключ, может потребоваться выбрать кнопку "Показать ".

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

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

  6. Выберите vm-private.

  7. Выберите Бастион в Операциях.

  8. Выберите закрытый ключ SSH из локального файла для типа проверки подлинности.

  9. Введите имя пользователя, указанное при создании виртуальной машины.

  10. Выберите скачанный файл закрытого ключа vm.

  11. Нажмите Подключиться.

  12. Чтобы подключить общий ресурс файлов Azure, используйте следующие команды.

    • Замените <storage-account-key> на ключ, который вы скопировали на предыдущем шаге.

    • Замените <storage-account-name> именем своей учетной записи хранения. В этом примере это storage8675.

     sudo mkdir /mnt/file-share
    
     sudo mount -t cifs //<storage-account-name>.file.core.windows.net/file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
    
  13. Вы получите $ приглашение без ошибок. Файловое хранилище Azure успешно подключено к /mnt/file-share.

  14. Подтвердите подключение, выполнив следующую команду:

     df -h /mnt/file-share
    

    Вы должны увидеть результат, аналогичный приведенному ниже:

    Filesystem                                       Size  Used Avail Use% Mounted on
    //<storage-account-name>.file.core.windows.net/file-share  5.0G   0   5.0G   0% /mnt/file-share
    
  15. Закройте подключение Bastion к vm-private.

Подтверждение запрета доступа к учетной записи хранения

Из vm-1

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

  2. Выберите vm-1.

  3. Выберите Бастион в Операциях.

  4. Выберите закрытый ключ SSH из локального файла для типа проверки подлинности.

  5. Введите имя пользователя, указанное при создании виртуальной машины.

  6. Выберите файл закрытого ключа vm-1-key, который вы скачали.

  7. Нажмите Подключиться.

  8. Повторите предыдущую команду, чтобы попытаться подключить общую папку в учетной записи хранения. Для этой процедуры может потребоваться скопировать ключ доступа к учетной записи хранения:

     sudo mkdir /mnt/file-share
    
     sudo mount -t cifs //<storage-account-name>.file.core.windows.net/file-share /mnt/file-share -o vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
    
  9. Доступ запрещен и вы получаете ошибку mount error(13): Permission denied . Подключение завершается ошибкой, так как виртуальная машина-1 находится в подсети-1, которая не имеет конечной точки службы для службы хранилища Azure.

  10. Закройте подключение Bastion к vm-1.

С локального компьютера

  1. В поле поиска в верхней части портала введите Учетная запись хранения. Выберите Учетные записи хранения в результатах поиска.

  2. В учетных записях хранения выберите учетную запись хранения.

  3. В хранилище данных выберите общие папки.

  4. Выберите файлообмен.

  5. Выберите "Обзор " в меню слева.

  6. Должно появиться следующее сообщение об ошибке:

    Снимок экрана: сообщение об ошибке отказа в доступе.

Примечание.

Доступ запрещен, так как ваш компьютер не находится в подсети subnet-private виртуальной сети vnet-1.

Завершив использование созданных ресурсов, можно удалить группу ресурсов и все ее ресурсы.

  1. Войдите на портал Azure; найдите в поиске и выберите Группы ресурсов.

  2. На странице групп ресурсов выберите группу ресурсов test-rg.

  3. На странице test-rg выберите "Удалить группу ресурсов".

  4. Введите test-rg в поле Ввод имени группы ресурсов, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".

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

В этом руководстве рассматриваются следующие темы:

  • Вы включили конечную точку службы для подсети виртуальной сети.

  • Вы узнали, что конечные точки службы можно включить для ресурсов, развернутых через несколько служб Azure.

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

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

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