Руководство по ограничению сетевого доступа к ресурсам PaaS с помощью конечных точек службы виртуальной сети
Статья
Конечные точки служб для виртуальной сети позволяют ограничить сетевой доступ к некоторым ресурсам службы Azure определенной подсетью виртуальной сети. Можно также запретить доступ к ресурсам через Интернет. Конечные точки службы предоставляют прямое подключение из виртуальной сети к поддерживаемым службам Azure. Это позволяет использовать закрытый диапазон адресов виртуальной сети для доступа к службам Azure. Трафик, поступающий к ресурсам Azure через конечные точки службы, всегда остается в магистральной сети Microsoft Azure.
В этом руководстве описано следующее:
Создание виртуальной сети с одной подсетью.
Добавление подсети и включение конечной точки службы.
Создание ресурса Azure и разрешение сетевого доступа к нему только из подсети.
Развертывание виртуальной машины в каждой подсети.
Подтверждение прав доступа к ресурсу из подсети.
Подтверждение запрета доступа к ресурсу из подсети и Интернета.
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант
Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure.
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы запустить код или команду.
Чтобы установить и использовать PowerShell локально для работы с этой статьей, вам понадобится модуль Azure PowerShell 1.0.0 или более поздней версии. Выполните командлет Get-Module -ListAvailable Az, чтобы узнать установленную версию. Если вам необходимо выполнить обновление, ознакомьтесь со статьей, посвященной установке модуля Azure PowerShell. При использовании PowerShell на локальном компьютере также нужно запустить Connect-AzAccount, чтобы создать подключение к Azure.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
Для работы с этой статьей требуется Azure CLI версии 2.0.28 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.
Следующая процедура создает виртуальную сеть с подсетью ресурсов, подсетью Бастиона Azure и узлом Бастиона:
На портале найдите и выберите "Виртуальные сети".
На странице Виртуальные сети выберите команду + Создать.
На вкладке "Основы" создайте виртуальную сеть, введите или выберите следующие сведения:
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите Создать. Введите test-rg для имени. Нажмите кнопку ОК.
Сведения об экземпляре
Имя.
Введите vnet-1.
Область/регион
Выберите регион Восточная часть США 2.
Нажмите кнопку "Далее ", чтобы перейти на вкладку "Безопасность ".
В разделе "Бастион Azure" выберите "Включить Бастион Azure".
Бастион использует браузер для подключения к виртуальным машинам в виртуальной сети через Secure Shell (SSH) или протокол удаленного рабочего стола (RDP) с помощью частных IP-адресов. Виртуальные машины не нуждаются в общедоступных IP-адресах, клиентском программном обеспечении или специальной конфигурации. Подробные сведения см. в статье Что такое Бастион Azure?
Примечание.
Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.
В Бастионе Azure введите или выберите следующие сведения:
Параметр
Значение
Имя узла Бастиона Azure
Введите бастион.
Общедоступный IP-адрес Бастиона Azure
Выберите " Создать общедоступный IP-адрес". Введите public-ip-бастион в поле "Имя". Нажмите кнопку ОК.
Нажмите кнопку "Рядом ", чтобы перейти на вкладку IP-адресов .
В поле адресного пространства в подсетях выберите подсеть по умолчанию .
В разделе "Изменить подсеть" введите или выберите следующие сведения:
Параметр
Значение
Назначение подсети
Оставьте значение по умолчанию по умолчанию.
Имя.
Введите подсеть-1.
IРv4
Диапазон адресов IPv4
Оставьте значение по умолчанию 10.0.0.0/16.
Начальный адрес
Оставьте значение по умолчанию 10.0.0.0.
Размер
Оставьте значение по умолчанию /24 (256 адресов).
Выберите Сохранить.
Выберите "Проверка и создание " в нижней части окна. После завершения проверки нажмите кнопку Создать.
Конечные точки службы включены для каждой службы, для каждой подсети.
В поле поиска в верхней части страницы портала найдите виртуальную сеть. В результатах поиска выберите Виртуальные сети.
В виртуальных сетях выберите виртуальную сеть-1.
В разделе "Параметры" виртуальной сети-1 выберите подсети.
Выберите +Подсеть.
На странице "Добавление подсети" введите или выберите следующие сведения:
Параметр
Значение
Имя.
subnet-private
Диапазон адресов подсети
Оставьте значение по умолчанию 10.0.2.0/24.
КОНЕЧНЫЕ ТОЧКИ СЛУЖБЫ
Службы
Выберите элемент Microsoft.Storage.
Выберите Сохранить.
Внимание
Перед включением конечной точки службы для существующей подсети, которая содержит ресурсы, см. раздел Изменение параметров подсети.
Создание виртуальной сети
Перед созданием виртуальной сети необходимо создать для нее группу ресурсов и другие компоненты, указанные в этой статье. Создайте группу ресурсов с помощью командлета New-AzResourceGroup. В следующем примере создается группа ресурсов с именем test-rg:
Создайте виртуальную сеть с помощью командлета New-AzVirtualNetwork. В следующем примере создается виртуальная сеть с именем vnet-1 с префиксом адреса 10.0.0.0.0/16.
Создайте конфигурацию подсети с помощью командлета New-AzVirtualNetworkSubnetConfig. В следующем примере создается конфигурация подсети для подсети с именем subnet-public:
Бастион Azure использует браузер для подключения к виртуальным машинам в виртуальной сети через Secure Shell (SSH) или протокол удаленного рабочего стола (RDP) с помощью частных IP-адресов. Виртуальные машины не нуждаются в общедоступных IP-адресах, клиентском программном обеспечении или специальной конфигурации. Дополнительные сведения о Бастионе см. в статье "Что такое Бастион Azure?".
Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.
Настройте подсеть Бастиона для виртуальной сети. Эта подсеть зарезервирована исключительно для ресурсов Бастиона и должна называться AzureBastionSubnet.
Развертывание ресурсов Бастиона занимает около 10 минут. Виртуальные машины можно создать в следующем разделе, пока бастион развертывается в виртуальной сети.
Создание виртуальной сети
Перед созданием виртуальной сети необходимо создать для нее группу ресурсов и другие компоненты, указанные в этой статье. Создайте группу ресурсов с помощью команды az group create. В следующем примере создается группа ресурсов с именем test-rg в расположении westus2 .
az group create \
--name test-rg \
--location westus2
Вы можете включить конечные точки службы только для служб, поддерживающих эту функцию. Просмотрите, какие службы с поддержкой конечных точек службы доступны в расположении Azure, выполнив команду az network vnet list-endpoint-services. В следующем примере возвращается список служб с поддержкой конечной точки службы, доступных в регионе westus2 . Список возвращаемых служб со временем будет увеличиваться, так как поддержка конечных точек службы будет реализовываться во все большем числе служб Azure.
az network vnet list-endpoint-services \
--location westus2 \
--out table
Создайте другую подсеть в виртуальной сети с помощью az network vnet subnet create. В этом примере для подсети создается конечная точка Microsoft.Storage службы:
По умолчанию все экземпляры виртуальных машин в подсети могут обмениваться данными со всеми ресурсами. Вы можете ограничить обмен данными со всеми ресурсами в подсети, создав группу безопасности сети и связав ее с подсетью.
В поле поиска в верхней части страницы портала найдите группу безопасности сети. В результатах поиска выберите Группы безопасности сети.
В группах безопасности сети нажмите кнопку +Создать.
На вкладке основных сведений страницы Создание группы безопасности сети введите или выберите указанные ниже значения параметров.
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите test-rg.
Сведения об экземпляре
Имя.
Введите nsg-storage.
Область/регион
Выберите регион Восточная часть США 2.
Выберите Проверить и создать, а затем выберите Создать.
Создайте группу безопасности сети с помощью командлета New-AzNetworkSecurityGroup. В следующем примере создается группа безопасности сети с именем nsg-private.
Создайте группу безопасности сети с помощью команды az network nsg create. В следующем примере создается группа безопасности сети с именем nsg-private.
az network nsg create \
--resource-group test-rg \
--name nsg-private
Создание правил для исходящей группы безопасности сети (NSG)
В поле поиска в верхней части страницы портала найдите группу безопасности сети. В результатах поиска выберите Группы безопасности сети.
Выберите nsg-storage.
В разделе Параметры выберите Правила безопасности для исходящего трафика.
Выберите Добавить.
Создайте правило, разрешающее исходящий обмен данными в службе хранилища Azure. Введите или выберите следующие сведения в правиле безопасности для исходящего трафика:
Параметр
Значение
Оригинал
Выберите Service Tag (Тег службы).
Тег службы источника
Выберите VirtualNetwork.
Диапазоны исходных портов
Оставьте значение по умолчанию *.
Назначение
Выберите Service Tag (Тег службы).
Назначение: тег службы
Выберите Хранилище.
Service
Оставьте значение по умолчанию custom.
Диапазоны портов назначения
Введите 445.
Протокол
Выберите Любые.
Действие
Выберите Разрешить.
Приоритет
Оставьте значение по умолчанию 100.
Имя.
Введите allow-storage-all.
Выберите Добавить.
Создайте другое правило безопасности, которое запрещает исходящие подключения через Интернет. Это правило переопределяет правило по умолчанию во всех группах безопасности сети, которое позволяет исходящую связь через Интернет. Выполните предыдущие действия со следующими значениями в правиле безопасности для исходящего трафика:
Параметр
Значение
Оригинал
Выберите Service Tag (Тег службы).
Тег службы источника
Выберите VirtualNetwork.
Диапазоны исходных портов
Оставьте значение по умолчанию *.
Назначение
Выберите Service Tag (Тег службы).
Назначение: тег службы
Выберите Интернет.
Service
Оставьте значение по умолчанию custom.
Диапазоны портов назначения
Введите *.
Протокол
Выберите Любые.
Действие
Выберите Отклонить.
Приоритет
Оставьте значение по умолчанию 110.
Имя.
Введите deny-internet-all.
Выберите Добавить.
В поле поиска в верхней части страницы портала найдите группу безопасности сети. В результатах поиска выберите Группы безопасности сети.
Выберите nsg-storage.
В разделе Параметры выберите Подсети.
Нажмите + Связать.
В разделе "Связывание подсети" выберите виртуальную сеть-1 в виртуальной сети. Выберите подсеть частной в подсети.
Нажмите ОК.
Создайте правила безопасности для группы безопасности сети с помощью командлета New-AzNetworkSecurityRuleConfig. Приведенное ниже правило разрешает исходящий доступ к общедоступным IP-адресам, назначенным службе хранилища Azure.
Следующее правило запрещает доступ ко всем общедоступным IP-адресам. Предыдущее правило переопределяет это правило ввиду более высокого приоритета. Оно предоставляет доступ к общедоступным IP-адресам службы хранилища Azure.
# Retrieve the existing network security group
$nsgpriv = @{
ResourceGroupName = 'test-rg'
Name = 'nsg-private'
}
$nsg = Get-AzNetworkSecurityGroup @nsgpriv
# Add the new rules to the security group
$nsg.SecurityRules += $rule1
$nsg.SecurityRules += $rule2
# Update the network security group with the new rules
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
Свяжите группу безопасности сети с подсетью частной подсети с Set-AzVirtualNetworkSubnetConfig , а затем запишите конфигурацию подсети в виртуальную сеть. В следующем примере группа безопасности сети nsg-private network связывается с подсетью-частной подсетью:
Создайте правила безопасности командой az network nsg rule create. Приведенное ниже правило разрешает исходящий доступ к общедоступным IP-адресам, назначенным службе хранилища Azure.
Каждая группа безопасности сети содержит несколько правил безопасности по умолчанию. Следующее правило переопределяет правило безопасности по умолчанию, разрешающее исходящий доступ ко всем общедоступным IP-адресам. Параметр destination-address-prefix "Internet" запрещает доступ ко всем общедоступным IP-адресам. Предыдущее правило переопределяет это правило ввиду более высокого приоритета. Оно предоставляет доступ к общедоступным IP-адресам службы хранилища Azure.
Следующее правило разрешает входящий трафик SSH в подсеть из любого расположения. Это правило переопределяет правило безопасности по умолчанию, запрещающее весь входящий трафик из Интернета. Подключения SSH в подсети разрешены, чтобы позже можно было проверить возможность подключения.
Свяжите группу безопасности сети с подсетью частной подсети с az network vnet subnet update. В следующем примере группа безопасности сети nsg-private network связывается с подсетью-частной подсетью:
Действия, необходимые для ограничения сетевого доступа к ресурсам, созданным через службы Azure, которые включены для конечных точек служб, зависят от служб. Ознакомьтесь с документацией по отдельным службам, чтобы получить точные инструкции для них. В оставшейся части этого руководства в качестве примера приведены инструкции по ограничению сетевого доступа для учетной записи службы хранилища Azure.
Создание учетной записи хранилища
Создайте учетную запись служба хранилища Azure для действий, описанных в этой статье. Если у вас уже есть учетная запись хранения, ее можно использовать.
В поле поиска в верхней части портала введите Учетная запись хранения. Выбор Учетные записи хранения в результатах поиска.
Выберите + Создать.
На вкладке "Основные сведения" в разделе "Создание учетной записи хранения" введите или выберите следующие сведения:
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку Azure.
Группа ресурсов
Выберите test-rg.
Сведения об экземпляре
Storage account name
Введите storage1. Если имя недоступно, введите уникальное имя.
Расположение
Выберите регион (США) Восточная часть США 2.
Производительность
Оставьте значение по умолчанию Стандартная.
Избыточность
Выберите Локально избыточное хранилище (LRS).
Щелкните элемент Review (Проверить).
Нажмите кнопку создания.
Чтобы создать учетную запись хранения Azure, используйте командлет New-AzStorageAccount. Замените <replace-with-your-unique-storage-account-name> именем, которое является уникальным для всех расположений Azure, содержащим только цифры и строчные буквы (длиной от 3 до 24 знаков).
В целях этого руководства строка подключения используется для подключения к учетной записи хранения. Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует высокого уровня доверия к приложению и несет риски, которые не присутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.
Этот ключ потребуется для создания файлового ресурса на более позднем этапе. Введите $storageAcctKey и запишите значение. При сопоставлении общей папки с диском виртуальной машины вручную введите его на более позднем шаге.
Действия, необходимые для ограничения сетевого доступа к ресурсам, созданным с помощью служб Azure, использующих конечные точки службы, отличаются в зависимости службы. Ознакомьтесь с документацией по отдельным службам, чтобы получить точные инструкции для них. В оставшейся части этой статьи в качестве примера приведены инструкции по ограничению сетевого доступа для учетной записи хранения Azure.
Создание учетной записи хранилища
Создайте учетную запись хранения Azure с помощью команды az storage account create. Замените <replace-with-your-unique-storage-account-name> именем, которое является уникальным для всех расположений Azure, содержащим только цифры и строчные буквы (длиной от 3 до 24 знаков).
После создания учетной записи хранения передайте ее строку подключения в переменную, выполнив команду az storage account show-connection-string. Строка подключения используется для создания файлового ресурса на более позднем этапе.
В целях этого руководства строка подключения используется для подключения к учетной записи хранения. Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует высокого уровня доверия к приложению и несет риски, которые не присутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.
В поле поиска в верхней части портала введите Учетная запись хранения. Выбор Учетные записи хранения в результатах поиска.
В учетных записях хранения выберите учетную запись хранения, созданную на предыдущем шаге.
В хранилище данных выберите общие папки.
Нажмите + Общая папка.
Введите или выберите следующие сведения в новой общей папке:
Параметр
Значение
Имя.
Введите общую папку.
Уровень
Оставьте значение по умолчанию оптимизировано для транзакций.
Нажмите кнопку "Далее" — резервное копирование.
Отмена выбора включения резервного копирования.
Выберите Проверить и создать, а затем выберите Создать.
Создайте объект контекста для учетной записи хранения и ключа, выполнив командлет New-AzStorageContext. Этот контекст инкапсулирует имя учетной записи хранения и ее ключ.
Создайте файловый ресурс в учетной записи хранения командой az storage share create. Позже этот файловый ресурс будет подключен для подтверждения сетевого доступа к нему.
По умолчанию учетные записи хранения принимают сетевые подключения от клиентов из любой сети, включая Интернет. Вы можете ограничить доступ к сети из Интернета и все остальные подсети во всех виртуальных сетях (за исключением подсети частной подсети в виртуальной сети-1 ).)
Ограничение сетевого доступа к подсети:
В поле поиска в верхней части портала введите Учетная запись хранения. Выбор Учетные записи хранения в результатах поиска.
Затем выберите учетную запись хранения.
В разделе "Безопасность и сеть" выберите "Сеть".
На вкладке "Брандмауэры и виртуальные сети" выберите "Включено" из выбранных виртуальных сетей и IP-адресов в доступе к общедоступной сети.
В виртуальных сетях выберите + Добавить существующую виртуальную сеть.
В разделе "Добавление сетей" введите или выберите следующие сведения:
Параметр
Значение
Отток подписок
Выберите свою подписку.
Виртуальные сети
Выберите виртуальную сеть-1.
подсети;
Выберите подсеть частной.
Выберите Добавить.
Нажмите кнопку "Сохранить", чтобы сохранить конфигурации виртуальной сети.
По умолчанию учетные записи хранения принимают сетевые подключения клиентов в любой сети. Чтобы разрешить доступ только из определенных сетей, укажите действие по умолчанию Запретить, выполнив командлет Update-AzStorageAccountNetworkRuleSet. После запрета доступа к сети учетная запись хранения недоступна из любой сети.
По умолчанию учетные записи хранения принимают сетевые подключения клиентов в любой сети. Чтобы ограничить доступ выбранными сетями, измените действие по умолчанию на Запретить, выполнив команду az storage account update. После запрета доступа к сети учетная запись хранения недоступна из любой сети.
Чтобы проверить сетевой доступ к учетной записи хранения, разверните виртуальную машину в каждой подсети.
Создание тестовой виртуальной машины
Следующая процедура создает тестовую виртуальную машину с именем vm-1 в виртуальной сети.
На портале найдите и выберите "Виртуальные машины".
На виртуальных машинах нажмите кнопку +Создать, а затем виртуальную машину Azure.
На вкладке Основные сведения страницы Создание виртуальной машины введите или выберите следующие значения параметров:
Параметр
Значение
Сведения о проекте
Отток подписок
Выберите свою подписку.
Группа ресурсов
Выберите test-rg.
Сведения об экземпляре
Virtual machine name
Введите vm-1.
Область/регион
Выберите регион Восточная часть США 2.
Параметры доступности
Выберите Избыточность инфраструктуры не требуется.
Тип безопасности
Оставьте значение по умолчанию Стандартный.
Изображения
Выберите Windows Server 2022 Datacenter — x64-го поколения 2-го поколения.
Архитектура виртуальной машины
Оставьте значение по умолчанию x64.
Размер
Выберите размер.
Учетная запись администратора
Тип аутентификации
выберите Пароль.
Username
Введите azureuser.
Пароль
Введите пароль.
Подтверждение пароля
Повторно введите пароль.
Правила входящего порта
Общедоступные входящие порты
Выберите Отсутствует.
Выберите вкладку "Сеть" в верхней части страницы.
На вкладке Сеть введите или выберите следующие значения параметров:
Параметр
Значение
Сетевой интерфейс
Виртуальная сеть
Выберите виртуальную сеть-1.
Подсеть
Выберите подсеть-1 (10.0.0.0/24).
Общедоступный IP-адрес
Выберите Отсутствует.
Группа безопасности сети сетевого адаптера
Выберите Дополнительно.
Настройка группы безопасности сети
Выберите Создать. Введите nsg-1 для имени. Оставьте остальные значения по умолчанию и нажмите кнопку "ОК".
Оставьте остальные параметры по умолчанию и нажмите кнопку "Просмотр и создание".
Проверьте параметры и выберите Создать.
Примечание.
Виртуальные машины в виртуальной сети с узлом бастиона не требуют общедоступных IP-адресов. Бастион предоставляет общедоступный IP-адрес, а виртуальные машины используют частные IP-адреса для обмена данными в сети. Вы можете удалить общедоступные IP-адреса из любых виртуальных машин в размещенных виртуальных сетях бастиона. Дополнительные сведения см. в разделе "Отсообщение общедоступного IP-адреса" с виртуальной машины Azure.
Примечание.
Azure предоставляет IP-адрес исходящего доступа по умолчанию для виртуальных машин, которые либо не назначены общедоступным IP-адресом, либо находятся в серверном пуле внутренней подсистемы балансировки нагрузки Azure. Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.
IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:
Виртуальные машины, созданные с помощью масштабируемых наборов виртуальных машин в гибком режиме оркестрации, не имеют исходящего доступа по умолчанию.
Создайте вторую виртуальную машину, повторяющую шаги, описанные в предыдущем разделе. Замените следующие значения в разделе "Создание виртуальной машины".
Параметр
Значение
Virtual machine name
Введите vm-private.
Подсеть
Выберите подсеть частной.
Общедоступный IP-адрес
Выберите Отсутствует.
Группа безопасности сети сетевого адаптера
Выберите Отсутствует.
Предупреждение
Не переходите к следующему шагу, пока развертывание не будет завершено.
Создание первой виртуальной машины
Создайте виртуальную машину в подсети с общедоступной подсетью с помощью New-AzVM. При выполнении следующей команды вам будет предложено указать учетные данные. В качестве вводимых значений указываются имя пользователя и пароль для виртуальной машины.
Создание виртуальной машины в Azure занимает несколько минут. Не продолжайте переходить к следующему шагу, пока Azure не завершит создание виртуальной машины и возвращает выходные данные в PowerShell.
Чтобы проверить сетевой доступ к учетной записи хранения, разверните виртуальную машину в каждой подсети.
Создание первой виртуальной машины
Создайте виртуальную машину в подсети подсети с помощью az vm create. Команда также создает ключи SSH, если они не существуют в расположении ключей по умолчанию. Чтобы использовать определенный набор ключей, используйте параметр --ssh-key-value.
Созданная ранее виртуальная машина, назначенная подсети частной подсети, используется для подтверждения доступа к учетной записи хранения. Виртуальная машина, созданная в предыдущем разделе, назначенная подсети-1 , используется для подтверждения блокировки доступа к учетной записи хранения.
Получение ключа доступа к учетной записи хранения
В поле поиска в верхней части портала введите Учетная запись хранения. Выбор Учетные записи хранения в результатах поиска.
В учетных записях хранения выберите учетную запись хранения.
В разделе "Безопасность и сеть" выберите ключи доступа.
Скопируйте значение key1. Чтобы отобразить ключ, может потребоваться выбрать кнопку "Показать ".
В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.
Выберите виртуальную машину частной.
Выберите бастион в операциях.
Введите имя пользователя и пароль, указанные при создании виртуальной машины. Нажмите Подключиться.
Откройте Windows PowerShell. Используйте следующий сценарий для сопоставления общей папки Azure с диском Z.
Замените <storage-account-key> ключ, скопированный на предыдущем шаге.
Замените <storage-account-name> именем своей учетной записи хранения. В этом примере это storage8675.
PowerShell вернет выходные данные, как в следующем примере.
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Файловый ресурс Azure успешно подключен как диск Z.
Закройте подключение Бастиона к vm-private.
Созданная ранее виртуальная машина, назначенная подсети частной подсети, используется для подтверждения доступа к учетной записи хранения. Виртуальная машина, созданная в предыдущем разделе, назначенная подсети-1 , используется для подтверждения блокировки доступа к учетной записи хранения.
PowerShell вернет выходные данные, как в следующем примере.
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
Z FileSystem \\storage8675.file.core.windows.net\f...
Файловый ресурс Azure успешно подключен как диск Z.
Убедитесь, что виртуальная машина запрещает любые исходящие подключения с любых других общедоступных IP-адресов.
ping bing.com
Вы не получаете ответов, так как группа безопасности сети, связанная с частной подсетью, не разрешает исходящий доступ к общедоступным IP-адресам, кроме адресов, назначенных службе служба хранилища Azure.
Закройте подключение Бастиона к vm-private.
SSH в виртуальную машину с частной виртуальной машиной.
Выполните следующую команду, чтобы сохранить IP-адрес виртуальной машины в качестве переменной среды:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-private --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Создайте папку для точки подключения.
sudo mkdir /mnt/file-share
Подключите файловый ресурс Azure к созданному каталогу. Прежде чем выполнить следующую команду, замените <storage-account-name> именем учетной записи и <storage-account-key> ключом, которые вы получили при создании учетной записи хранения.
sudo mount --types cifs //<storage-account-name>.file.core.windows.net/my-file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Отобразится строка запроса user@vm-private:~$. Общая папка Azure успешно подключена к /mnt/file-share.
Убедитесь, что виртуальная машина запрещает любые исходящие подключения с любых других общедоступных IP-адресов.
ping bing.com -c 4
Вы не получаете ответов, так как группа безопасности сети, связанная с подсетью- частной подсети, не разрешает исходящий доступ к общедоступным IP-адресам, кроме адресов, назначенных службе служба хранилища Azure.
Выход из сеанса SSH на виртуальную машину с частной виртуальной машиной.
Подтверждение запрета доступа к учетной записи хранения
В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.
Выберите vm-1.
Выберите бастион в операциях.
Введите имя пользователя и пароль, указанные при создании виртуальной машины. Нажмите Подключиться.
Повторите предыдущую команду, чтобы попытаться сопоставить диск с общей папкой в учетной записи хранения. Для этой процедуры может потребоваться скопировать ключ доступа к учетной записи хранения:
В поле поиска в верхней части портала введите Учетная запись хранения. Выбор Учетные записи хранения в результатах поиска.
В учетных записях хранения выберите учетную запись хранения.
В хранилище данных выберите общие папки.
Выберите общую папку.
Выберите "Обзор " в меню слева.
Должно появиться следующее сообщение об ошибке:
Примечание.
Доступ запрещен, так как компьютер не находится в подсети-частной подсети виртуальной сети-1 .
Из vm-1
В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.
Выберите vm-1.
Выберите бастион в операциях.
Введите имя пользователя и пароль, указанные при создании виртуальной машины. Нажмите Подключиться.
Повторите предыдущую команду, чтобы попытаться сопоставить диск с общей папкой в учетной записи хранения. Для этой процедуры может потребоваться скопировать ключ доступа к учетной записи хранения:
Отказано в доступе. Вы получите выходные данные, аналогичные следующему примеру.
Get-AzStorageFile : The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request isn't authorized to perform this operation
Компьютер не является подсетью частной подсети виртуальной сети-1 .
SSH-подключение к виртуальной машине общедоступной виртуальной машины.
Выполните следующую команду, чтобы сохранить IP-адрес виртуальной машины в качестве переменной среды:
export IP_ADDRESS=$(az vm show --show-details --resource-group test-rg --name vm-public --query publicIps --output tsv)
ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
Создайте каталог для точки подключения.
sudo mkdir /mnt/file-share
Попытайтесь подключить файловый ресурс Azure к созданному каталогу. В этой статье предполагается, что вы развернули последнюю версию Ubuntu. Если вы используете более ранние версии Ubuntu, ознакомьтесь с дополнительными инструкциями по подключению общих папок в Linux . Прежде чем выполнить следующую команду, замените <storage-account-name> именем учетной записи и <storage-account-key> ключом, которые вы получили при создании учетной записи хранения.
sudo mount --types cifs //storage-account-name>.file.core.windows.net/file-share /mnt/file-share --options vers=3.0,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
Доступ запрещен, и вы получаете ошибкуmount error(13): Permission denied, так как виртуальная виртуальная машина развертывается в подсети общедоступной подсети. В подсети общедоступной подсети не включена конечная точка службы для служба хранилища Azure, а учетная запись хранения разрешает доступ только к сети из подсети-частной подсети, а не подсети с общедоступной подсетью.
Выход из сеанса SSH на виртуальную машину общедоступной виртуальной машины.
Используя свой компьютер, попытайтесь просмотреть файловые ресурсы в учетной записи хранения, выполнив команду az storage share list. Замените <account-name> и <account-key> именем и ключом учетной записи хранения, полученными при создании учетной записи хранения.
az storage share list \
--account-name <account-name> \
--account-key <account-key>
Доступ запрещен, и вы получаете запрос не авторизован для выполнения этой операции , так как компьютер не находится в подсети частной подсети виртуальной сети-1 .
Если у вас есть несколько виртуальных сетей в вашей учетной записи, может потребоваться установить подключение между ними, чтобы ресурсы могли взаимодействовать друг с другом. Перейдите к следующему руководству, чтобы научиться подключать виртуальные сети.