Ограничение доступа на импорт и экспорт управляемых дисков с помощью Приватного канала — Azure CLI
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
Вы можете использовать частные конечные точки, чтобы ограничить доступ на экспорт и импорт управляемых дисков и получить защищенный доступ к данным через Приватный канал из клиентов в виртуальной сети Azure. Частная конечная точка использует для службы управляемых дисков IP-адрес из адресного пространства виртуальной сети. Сетевой трафик между клиентами в виртуальной сети и управляемыми дисками проходит через виртуальную сеть и приватный канал в магистральной сети Майкрософт, что позволяет избежать рисков, связанных с использованием общедоступного Интернета.
Чтобы использовать Приватные каналы для экспорта и импорта управляемых дисков, сначала нужно создать ресурс доступа к диску и связать его с виртуальной сетью в той же подписке, создав частную конечную точку. Затем свяжите диск или моментальный снимок с экземпляром ресурса доступа к диску. Наконец, задайте для диска или моментального снимка свойство NetworkAccessPolicy со значением AllowPrivate
. Это ограничит доступ к виртуальной сети.
Можно задать для свойства NetworkAccessPolicy значение DenyAll
, чтобы полностью запретить экспорт данных диска или моментального снимка. Для свойства NetworkAccessPolicy по умолчанию используется значение AllowAll
.
Ограничения
- Вы не можете импортировать или экспортировать более пяти дисков или моментальных снимков одновременно с тем же объектом доступа к диску.
- Вы не можете передать на диск как объект доступа к диску, так и набор шифрования дисков.
Вход в подписку и настройка переменных
subscriptionId=yourSubscriptionId
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessForPrivateLinks
vnetName=yourVNETForPrivateLinks
subnetName=yourSubnetForPrivateLinks
privateEndPointName=yourPrivateLinkForSecureMDExportImport
privateEndPointConnectionName=yourPrivateLinkConnection
#The name of an existing disk which is the source of the snapshot
sourceDiskName=yourSourceDiskForSnapshot
#The name of the new snapshot which will be secured via Private Links
snapshotNameSecuredWithPL=yourSnapshotNameSecuredWithPL
az login
az account set --subscription $subscriptionId
Создание доступа к диску с помощью Azure CLI
az disk-access create -n $diskAccessName -g $resourceGroupName -l $region
diskAccessId=$(az disk-access show -n $diskAccessName -g $resourceGroupName --query [id] -o tsv)
Создание виртуальной сети
Для частных конечных точек не поддерживаются сетевые политики, например группы безопасности сети (NSG). Чтобы развернуть частную конечную точку в подсети, для этой подсети необходимо явным образом указать параметр отключения.
az network vnet create --resource-group $resourceGroupName \
--name $vnetName \
--subnet-name $subnetName
Отключение политик подсети частной конечной точки
Так как Azure развертывает ресурсы в подсети виртуальной сети, вам нужно в параметрах подсети отключить политики частной конечной точки.
az network vnet subnet update --resource-group $resourceGroupName \
--name $subnetName \
--vnet-name $vnetName \
--disable-private-endpoint-network-policies true
Создание частной конечной точки для объекта доступа к диску
az network private-endpoint create --resource-group $resourceGroupName \
--name $privateEndPointName \
--vnet-name $vnetName \
--subnet $subnetName \
--private-connection-resource-id $diskAccessId \
--group-ids disks \
--connection-name $privateEndPointConnectionName
Настройка частной зоны DNS
Создайте Частную зону DNS для домена большого двоичного объекта хранилища, установите связь с виртуальной сетью и создайте группу зоны DNS, чтобы связать частную конечную точку с Частной зоной DNS.
az network private-dns zone create --resource-group $resourceGroupName \
--name "privatelink.blob.core.windows.net"
az network private-dns link vnet create --resource-group $resourceGroupName \
--zone-name "privatelink.blob.core.windows.net" \
--name yourDNSLink \
--virtual-network $vnetName \
--registration-enabled false
az network private-endpoint dns-zone-group create \
--resource-group $resourceGroupName \
--endpoint-name $privateEndPointName \
--name yourZoneGroup \
--private-dns-zone "privatelink.blob.core.windows.net" \
--zone-name disks
Создание диска, защищенного Приватными каналами
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessName
diskName=yourDiskName
diskSkuName=Standard_LRS
diskSizeGB=128
diskAccessId=$(az resource show -n $diskAccessName -g $resourceGroupName --namespace Microsoft.Compute --resource-type diskAccesses --query [id] -o tsv)
az disk create -n $diskName \
-g $resourceGroupName \
-l $region \
--size-gb $diskSizeGB \
--sku $diskSkuName \
--network-access-policy AllowPrivate \
--disk-access $diskAccessId
Создание моментального снимка диска, защищенного с помощью Приватных каналов
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessName
sourceDiskName=yourSourceDiskForSnapshot
snapshotNameSecuredWithPL=yourSnapshotName
diskId=$(az disk show -n $sourceDiskName -g $resourceGroupName --query [id] -o tsv)
diskAccessId=$(az resource show -n $diskAccessName -g $resourceGroupName --namespace Microsoft.Compute --resource-type diskAccesses --query [id] -o tsv)
az snapshot create -n $snapshotNameSecuredWithPL \
-g $resourceGroupName \
-l $region \
--source $diskId \
--network-access-policy AllowPrivate \
--disk-access $diskAccessId
Следующие шаги
- Отправка VHD в Azure или копирование управляемого диска в другой регион с помощью Azure CLI или модуля Azure PowerShell
- Скачивание VHD в Windows или Linux
- Вопросы и ответы о Приватных каналах
- Экспорт или копирование управляемых моментальных снимков в виде VHD-файлов в учетную запись хранения в другом регионе с помощью интерфейса командной строки