Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы проведете вас через настройку стандартной конечной точки сервиса с помощью Azure CLI. Вы создаёте публичный IP-адрес как сетевой идентификатор, связываете его с сервисными конечными точками в подсети, настраиваете периметр сетевой безопасности и проверяете связность.
Important
Стандартная сервисная конечная точка сейчас находится в публичном предварительном просмотре. Предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендуется для использования в рабочей среде. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Для получения дополнительной информации см. Дополнительные условия использования для предварительных версий Microsoft Azure.
Необходимые условия
Учетная запись Azure с активной подпиской. Если у вас нет учетной записи, создайте бесплатную учетную запись.
Роль участника сети или выше в подписке. В частности, вам нужно разрешение
Microsoft.Network/publicIPAddresses/joinServiceEndpointNetworkIdentifier/action. Для получения дополнительной информации см. требования к ролевому управлению доступом для периметра сетевой безопасности.Стандартная конечная точка сервиса сейчас находится за флагом функции. Перед настройкой зарегистрируйте функцию AllowServiceEndpointNetworkIdentifier в вашей подписке, используя следующие команды самообслуживания:
az feature register \ --namespace Microsoft.Network \ --name AllowServiceEndpointNetworkIdentifierПроверьте состояние регистрации:
az feature show \ --namespace Microsoft.Network \ --name AllowServiceEndpointNetworkIdentifier \ --query "properties.state" \ --output tsvДождитесь, пока штат покажет «Зарегистрирован», затем обновите регистрацию провайдера ресурсов:
az provider register --namespace Microsoft.NetworkAzure CLI версии 2.x или новее. Чтобы узнать версию, выполните команду
az --version. Если необходимо установить или обновить, см. раздел Install Azure CLI.
Используйте среду Bash в Azure Cloud Shell. Для получения дополнительной информации см. Get started with Azure Cloud Shell.
Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, подумайте о запуске Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, войдите в Azure CLI с помощью команды az login . Чтобы завершить процесс аутентификации, следуйте шагам, отображаемым в вашем терминале. Для других вариантов входа см. Аутентификация в Azure с помощью Azure CLI.
Когда вас попросят, установите расширение Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в разделе Использование расширений и управление ими с помощью Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Создайте группу ресурсов
Создайте группу ресурсов с помощью az group create.
az group create \
--name test-rg \
--location eastus2
Создание виртуальной сети
Создайте виртуальную сеть и подсеть, используя az network vnet create.
az network vnet create \
--resource-group test-rg \
--name vnet-1 \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.0.0.0/24 \
--location eastus2
Создание шлюза NAT.
Создайте шлюз NAT v2 и свяжите его с подсетью 1 для обеспечения исходящего интернет-соединения виртуальной машины.
Создайте общедоступный IP-адрес для шлюза NAT с помощью az network public-ip create.
az network public-ip create \ --resource-group test-rg \ --name public-ip-nat \ --sku Standard \ --allocation-method Static \ --location eastus2Создайте NAT-шлюз с помощью az network nat gateway create.
az network nat gateway create \ --resource-group test-rg \ --name nat-gateway \ --location eastus2 \ --public-ip-addresses public-ip-nat \ --idle-timeout 4Ассоциируйте шлюз NAT с подсетью 1 , используя обновление подсети az network vnet.
az network vnet subnet update \ --resource-group test-rg \ --vnet-name vnet-1 \ --name subnet-1 \ --nat-gateway nat-gateway
Развертывание Бастиона Azure
Бастион Azure использует браузер для подключения к виртуальным машинам в виртуальной сети через безопасную оболочку (SSH) или протокол удаленного рабочего стола (RDP) с помощью частных IP-адресов. Виртуальные машины не нуждаются в общедоступных IP-адресах, клиентском программном обеспечении или специальной конфигурации. Дополнительные сведения о Бастионе Azure см. в статье Бастион Azure.
Замечание
Почасовая оплата начисляется с момента развертывания Bastion независимо от объема исходящего трафика. Дополнительные сведения см. в разделе Pricing и SKUs. Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.
Создайте узел Бастион Azure с помощью az network bastion create.
az network bastion create \
--name bastion \
--resource-group test-rg \
--vnet-name vnet-1 \
--location eastus2 \
--sku Basic
Создание виртуальной машины
Создайте виртуальную машину с именем vm-1 в виртуальной сети. Виртуальная машина используется для проверки подключения после настройки.
Создайте виртуальную машину с помощью команды az vm create.
az vm create \
--resource-group test-rg \
--name vm-1 \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--admin-username azureuser \
--generate-ssh-keys \
--public-ip-address "" \
--nsg nsg-1
Замечание
Виртуальные машины в виртуальной сети с узлом Бастиона Azure не требуют общедоступных IP-адресов. Бастион предоставляет общедоступный IP-адрес, а виртуальные машины используют частные IP-адреса для обмена данными в сети. Вы можете удалить общедоступные IP-адреса из любых виртуальных машин в виртуальных сетях, размещенных в Бастионе. Дополнительные сведения см. в разделе "Отсообщение общедоступного IP-адреса" с виртуальной машины Azure.
Замечание
Azure предоставляет IP-адрес исходящего доступа по умолчанию для виртуальных машин, которым не назначен общий IP-адрес или которые находятся в серверном пуле внутреннего базового балансировщика нагрузки Azure. Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.
IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:
- Общедоступный IP-адрес назначается виртуальной машине.
- Виртуальная машина размещается в серверном пуле стандартной подсистемы балансировки нагрузки с правилами исходящего трафика или без нее.
- Ресурс Azure NAT Gateway присвоен подсети виртуальной машины.
Виртуальные машины, созданные с помощью масштабируемых наборов виртуальных машин в гибком режиме оркестрации, не имеют исходящего доступа по умолчанию.
Для получения дополнительной информации о исходящих подключениях в Azure смотрите раздел Стандартный исходящий доступ в Azure и Использование преобразования сетевых адресов источника (SNAT) для исходящих подключений.
Установка инструментов на виртуальную машину
Установить cifs-utils и Azure CLI на виртуальную машину, запустив shell-скрипт с az vm run-command invoke.
az vm run-command invoke \
--resource-group test-rg \
--name vm-1 \
--command-id RunShellScript \
--scripts "sudo apt-get update && sudo apt-get install -y cifs-utils && curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash"
Создание учетной записи хранения
Создайте учетную запись хранения Azure с файловым ресурсом, который будет использоваться в качестве ресурса PaaS для тестирования подключения через конечную точку сервиса.
Создайте учётную запись хранения с помощью команды az storage account create. Замените
<storage-account-name>на глобально уникальное имя.az storage account create \ --name <storage-account-name> \ --resource-group test-rg \ --location eastus2 \ --sku Standard_LRS \ --kind StorageV2Создайте общий файловый ресурс с помощью команды az storage share-rm create.
az storage share-rm create \ --resource-group test-rg \ --storage-account <storage-account-name> \ --name fileshare-1
Создание публичного IP-префикса
Создайте публичный IP-префикс и публичный IP-адрес для использования в качестве сетевого идентификатора.
Создайте общедоступный префикс IP-адресов с помощью az network public-ip prefix create.
az network public-ip prefix create \ --resource-group test-rg \ --name public-ip-prefix \ --length 31 \ --location eastus2Создайте публичный IP-адрес с префиксом az network public-ip create.
az network public-ip create \ --resource-group test-rg \ --name public-ip-1 \ --public-ip-prefix public-ip-prefix \ --sku Standard \ --allocation-method Static
Настройка сервисных конечных точек с сетевым идентификатором
Этот шаг является ключевой конфигурацией для стандартной точки сервиса. Вы связываете публичный IP-адрес как сетевой идентификатор с сервисными конечными точками в подсети.
Идентификатор сети — это публичный IP-адрес, который вы присваиваете своей конечной точке сервиса. Публичный IP не используется для принятия решений по маршрутизации сети. Когда вы создаёте публичный IP-адрес внутри вашей подписки, он автоматически назначается из выделенного IP-пула вашего сервиса. Сервисы внутри сетевого периметра используют этот публичный IP-адрес для распознавания трафика конечных точек сервиса и настройки соответствующих правил доступа.
Замечание
Публичный IP-адрес, используемый в качестве сетевого идентификатора, должен соответствовать всем следующим требованиям: стандартный SKU, статический метод назначения, IPv4, состояние подготовки “Succeeded”, а также он должен уже существовать до связывания с конечной точкой службы. NRP отклоняет IP, если какие-либо из этих условий не выполнены.
Обновите подсеть, чтобы добавить конечную точку сервиса с публичным IP-адресом в качестве сетевого идентификатора с помощью обновления подсети az network vnet.
az network vnet subnet update \
--resource-group test-rg \
--vnet-name vnet-1 \
--name subnet-1 \
--add serviceEndpoints '{"service":"Microsoft.Storage","networkIdentifier":{"id":"/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/publicIPAddresses/public-ip-1"}}'
Замечание
Замените <subscription-id> идентификатором подписки Azure. Идентификатор подписки можно найти, выполнив команду az account show --query id --output tsv.
Один и тот же публичный IP-адрес может быть назначен всем подсетям региона в рамках подписки. Идентификатор сети поддерживается во всех подписках во время публичного предварительного просмотра.
Создание периметра безопасности сети
Создайте сетевой периметр безопасности и свяжите с ним ваши PaaS-ресурсы.
Создайте сетевой периметр с использованием az network perimeter create.
az network perimeter create \ --name nsp-1 \ --resource-group test-rg \ --location eastus2Создайте профиль в периметре сетевой безопасности с помощью команды az network perimeter profile create.
az network perimeter profile create \ --perimeter-name nsp-1 \ --resource-group test-rg \ --name profile-1Свяжите свою учётную запись хранения с сетевым периметром безопасности с помощью az network perimeter association create. Замените
<subscription-id>и<storage-account-name>собственными значениями.az network perimeter association create \ --perimeter-name nsp-1 \ --resource-group test-rg \ --association-name assoc-storage \ --access-mode Learning \ --profile "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Network/networkSecurityPerimeters/nsp-1/profiles/profile-1}" \ --private-link-resource "{id:/subscriptions/<subscription-id>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/<storage-account-name>}"
Создайте правило входного доступа по периметру сети безопасности
Добавьте правило входящего доступа на основе IP-адреса в периметре сетевой безопасности для авторизации трафика с вашего сетевого идентификатора. Это правило сопоставляет общедоступный IP-адрес, чтобы разрешить подключение с конечных точек вашей службы.
Создайте правило входящего доступа с помощью az network perimeter profile access-rule create. Замените <public-ip-prefix-range> на диапазон адресов вашего публичного IP-префикса.
az network perimeter profile access-rule create \
--perimeter-name nsp-1 \
--resource-group test-rg \
--profile-name profile-1 \
--access-rule-name allow-se-standard \
--direction Inbound \
--address-prefixes "<public-ip-prefix-range>"
Замечание
Чтобы найти диапазон адресов вашего публичного IP-префикса, запустите az network public-ip prefix show --resource-group test-rg --name public-ip-prefix --query ipPrefix --output tsv.
Проверка подключения
Подключитесь к виртуальной машине с помощью Бастион Azure и проверьте подключение к аккаунту хранилища, чтобы убедиться, что трафик авторизован правилом входного доступа по периметру сети.
Подключитесь к виртуальной машине
На портале Azure найдите и выберите Виртуальные машины.
Выберите vm-1.
Выберите Подключить, затем выберите Подключить через Bastion.
На странице Бастиона введите следующую информацию:
Setting Value Тип проверки подлинности Выберите закрытый ключ SSH из локального файла. Имя пользователя Введите azureuser. Локальный файл Выберите файл vm-1-key.pem , который вы скачали при создании виртуальной машины. Нажмите Подключиться.
Тестирование подключения к учетной записи хранения
В сеансе SSH на vm-1 выполните вход в Azure CLI:
az loginПодключите общий файловый ресурс Azure, чтобы проверить подключение к учётной записи хранения через конечную точку службы. Замените
<storage-account-name>именем учетной записи хранения:sudo mkdir -p /mnt/fileshare-1 STORAGE_KEY=$(az storage account keys list \ --resource-group test-rg \ --account-name <storage-account-name> \ --query "[0].value" -o tsv) sudo mount -t cifs //<storage-account-name>.file.core.windows.net/fileshare-1 /mnt/fileshare-1 \ -o username=<storage-account-name>,password=$STORAGE_KEY,serverino,nosharesock,actimeo=30,mfsymlinksПроверьте, что файловый обмен успешно монтируется:
df -h /mnt/fileshare-1Чтобы убедиться, что правило входящего доступа работает, проверьте логи диагностики периметра сетевой безопасности. Для получения дополнительной информации о логах диагностики по периметру безопасности сети см . раздел Диагностический лог для периметра сетевой безопасности.
Очистите ресурсы
Когда вам больше не нужны ресурсы, созданные в этой статье, удалите группу ресурсов:
az group delete --name test-rg --yes --no-wait