Синхронизация файлов Azure использует два ресурса Azure, каждый из которых имеет свои сетевые конечные точки: учетную запись хранения (которая содержит файловый ресурс Azure) и сервис синхронизации хранения (координирующий синхронизацию, регистрацию сервера и группы синхронизации). Оба ресурса по умолчанию используют публичные конечные точки.
Агент Синхронизация файлов Azure взаимодействует с обоими ресурсами через HTTPS (порт 443). Для серверов, которые подключаются к Azure через интернет без VPN или ExpressRoute, можно использовать публичный конечный пункт, и настройка не требуется. Однако большинство клиентов Синхронизация файлов Azure хотят настраивать частные конечные устройства.
Используйте следующую таблицу, чтобы решить, нужны ли вам приватные конечные устройства. Если они вам нужны, создайте частные конечные точки для обоих ресурсов.
| Мне требуется... |
Использование |
| Синхронизируйте серверы, которые подключаются к Azure через интернет без VPN или ExpressRoute |
Публичные эндпоинты (не требуют настройки) |
| Маршрутизируйте весь синхронизированный трафик через ExpressRoute или VPN-соединение между сайтами |
Частные конечные точки для обоих ресурсов |
| Соответствуйте требованиям соответствия, запрещающим доступ к данным через публичный интернет |
Частные конечные точки для обоих ресурсов |
| Отключить публичную конечную точку в качестве меры усиления безопасности |
Сначала приватные конечные точки для обоих ресурсов, затем ограничение доступа |
| Реализовать доступ к сети с нулевым доверием |
Частные конечные точки для обоих ресурсов |
Для более широких сетевых концепций см. Синхронизация файлов Azure networking considerations. Чтобы настроить конечные точки для прямого доступа к файловым ресурсам Azure (без Синхронизация файлов Azure), см. раздел Configure Файлы Azure network endpoints.
Необходимые компоненты
В этой статье предполагается, что:
Кроме того:
Создание частной конечной точки
При создании частной конечной точки для ресурса Azure развертываются следующие ресурсы:
| Развернутый ресурс |
Description |
Что вы делаете |
|
Приватная конечная точка |
Ресурс Azure, который подключает вашу учетную запись хранения или сервис синхронизации хранения с сетевым интерфейсом в вашей виртуальной сети |
Создайте по одной частной конечной точке для каждого ресурса в разделе «Создание частной конечной точки для учетной записи хранения» и разделе «Создание частной конечной точки для службы синхронизации хранилища» |
|
сетевого интерфейса (NIC) |
Хранит приватный IP-адрес для частной конечной точки внутри вашей подсети |
Создаётся автоматически с помощью приватной конечной точки; Дополнительных действий не требуется |
|
Частная зона DNS |
Сопоставляет публичное имя ресурса с IP-адресом частной конечной точки, чтобы клиенты разрешали доступ к частной конечной точке без изменения строк подключения |
Создаётся автоматически, если его нет; рекомендуется избегать ручной настройки DNS |
Примечание.
В этой статье используются суффиксы DNS для публичных регионов Azure: core.windows.net для аккаунтов хранения и afs.azure.net для сервисов синхронизации хранилища. Эта терминология также применяется к облакам Azure Sovereign, таким как облако Azure US Government. Просто замените соответствующие суффиксы в вашей среде.
Создание частной конечной точки для учетной записи хранения
Перейдите к учетной записи хранения, для которой вы хотите создать частную конечную точку. В меню службы в разделе "Безопасность и сеть" выберите "Сеть", "Подключения частной конечной точки", а затем + "Частная конечная точка", чтобы создать новую частную конечную точку.
В мастере нужно будет заполнить несколько страниц.
В колонке Основные сведения выберите нужную подписку, группу ресурсов, имя, имя сетевого интерфейса и регион для частной конечной точки. Они могут быть любыми, но не должны совпадать с учетной записью хранения. Тем не менее необходимо создать частную конечную точку в том же регионе, что и виртуальная сеть, в которой вы хотите создать частную конечную точку. Затем щелкните Далее: Ресурс.
В колонке Ресурс выберите для целевого подресурса файл. Затем выберите Далее: Виртуальная сеть.
В колонке Виртуальная сеть можно выбрать определенную виртуальную сеть и подсеть, в которую нужно добавить частную конечную точку. Выберите динамическое или статическое выделение IP-адреса для новой частной конечной точки. Если вы выберете статический режим, потребуется также указать имя и частный IP-адрес. При желании можно указать группу безопасности приложений. По завершении выберите Далее: DNS.
Колонка DNS содержит сведения об интеграции частной конечной точки с частной зоной DNS. Убедитесь в правильности подписки и группы ресурсов, затем щелкните Далее: теги.
При необходимости можно применить теги для классификации ресурсов (например, назначить тег с именем Среда и значением Тест всем ресурсам тестирования). При необходимости введите пары имени/значения, а затем нажмите кнопку Далее: Проверить и создать.
Выберите "Создать", чтобы создать частную конечную точку.
Если у вас есть виртуальная машина внутри виртуальной сети или вы настроили пересылку DNS, как описано в Configuring DNS forwarding for Файлы Azure, вы можете проверить, правильно ли настроена ваша приватная конечная точка, выполнив следующие команды из PowerShell, командной строки или терминала (работает для Windows, Linux или macOS). Замените <storage-account-name> на имя вашего аккаунта хранения:
nslookup <storage-account-name>.file.core.windows.net
Если все работает успешно, вы увидите следующие выходные данные, где 192.168.0.5 находится частный IP-адрес частной конечной точки в виртуальной сети (выходные данные, показанные для Windows):
Server: UnKnown
Address: 10.2.4.4
Non-authoritative answer:
Name: storageaccount.privatelink.file.core.windows.net
Address: 192.168.0.5
Aliases: storageaccount.file.core.windows.net
Чтобы создать частную конечную точку для учетной записи хранения, сначала нужно получить ссылку на учетную запись хранения и подсеть виртуальной сети, в которую вы хотите добавить частную конечную точку. Замените <storage-account-resource-group-name>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> и <vnet-subnet-name> ниже:
$storageAccountResourceGroupName = "<storage-account-resource-group-name>"
$storageAccountName = "<storage-account-name>"
$virtualNetworkResourceGroupName = "<vnet-resource-group-name>"
$virtualNetworkName = "<vnet-name>"
$subnetName = "<vnet-subnet-name>"
# Get storage account reference, and throw error if it doesn't exist
$storageAccount = Get-AzStorageAccount `
-ResourceGroupName $storageAccountResourceGroupName `
-Name $storageAccountName `
-ErrorAction SilentlyContinue
if ($null -eq $storageAccount) {
$errorMessage = "Storage account $storageAccountName not found "
$errorMessage += "in resource group $storageAccountResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
# Get virtual network reference, and throw error if it doesn't exist
$virtualNetwork = Get-AzVirtualNetwork `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $virtualNetworkName `
-ErrorAction SilentlyContinue
if ($null -eq $virtualNetwork) {
$errorMessage = "Virtual network $virtualNetworkName not found "
$errorMessage += "in resource group $virtualNetworkResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
# Get reference to virtual network subnet, and throw error if it doesn't exist
$subnet = $virtualNetwork | `
Select-Object -ExpandProperty Subnets | `
Where-Object { $_.Name -eq $subnetName }
if ($null -eq $subnet) {
Write-Error `
-Message "Subnet $subnetName not found in virtual network $virtualNetworkName." `
-ErrorAction Stop
}
Чтобы создать частную конечную точку, необходимо установить подключение службы частной ссылки к учетной записи хранения. Подключение частной ссылки используется в качестве входных данных для создания частной конечной точки.
# Disable private endpoint network policies
$subnet.PrivateEndpointNetworkPolicies = "Disabled"
$virtualNetwork = $virtualNetwork | `
Set-AzVirtualNetwork -ErrorAction Stop
# Create a private link service connection to the storage account.
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name "$storageAccountName-Connection" `
-PrivateLinkServiceId $storageAccount.Id `
-GroupId "file" `
-ErrorAction Stop
# Create a new private endpoint.
$privateEndpoint = New-AzPrivateEndpoint `
-ResourceGroupName $storageAccountResourceGroupName `
-Name "$storageAccountName-PrivateEndpoint" `
-Location $virtualNetwork.Location `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection `
-ErrorAction Stop
Создание частной зоны DNS в Azure позволяет оригинальному имени учетной записи хранения, такому как storageaccount.file.core.windows.net, разрешаться в частный IP-адрес внутри виртуальной сети. Хотя это необязательно для создания частной конечной точки, это явно необходимо для монтирования общего ресурса Azure с использованием учётной записи пользователя AD или при доступе через REST API.
# Get the desired storage account suffix (core.windows.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
$storageAccountSuffix = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty StorageEndpointSuffix
# For public cloud, this will generate the following DNS suffix:
# privatelink.file.core.windows.net.
$dnsZoneName = "privatelink.file.$storageAccountSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
$dnsZone = Get-AzPrivateDnsZone | `
Where-Object { $_.Name -eq $dnsZoneName } | `
Where-Object {
$privateDnsLink = Get-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $_.ResourceGroupName `
-ZoneName $_.Name `
-ErrorAction SilentlyContinue
$privateDnsLink.VirtualNetworkId -eq $virtualNetwork.Id
}
if ($null -eq $dnsZone) {
# No matching DNS zone attached to virtual network, so create new one.
$dnsZone = New-AzPrivateDnsZone `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $dnsZoneName `
-ErrorAction Stop
$privateDnsLink = New-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $virtualNetworkResourceGroupName `
-ZoneName $dnsZoneName `
-Name "$virtualNetworkName-DnsLink" `
-VirtualNetworkId $virtualNetwork.Id `
-ErrorAction Stop
}
Теперь, когда у вас есть ссылка на частную зону DNS, нужно создать запись типа A для учетной записи хранения.
$privateEndpointIP = $privateEndpoint | `
Select-Object -ExpandProperty NetworkInterfaces | `
Select-Object @{
Name = "NetworkInterfaces";
Expression = { Get-AzNetworkInterface -ResourceId $_.Id }
} | `
Select-Object -ExpandProperty NetworkInterfaces | `
Select-Object -ExpandProperty IpConfigurations | `
Select-Object -ExpandProperty PrivateIpAddress
$privateDnsRecordConfig = New-AzPrivateDnsRecordConfig `
-IPv4Address $privateEndpointIP
New-AzPrivateDnsRecordSet `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $storageAccountName `
-RecordType A `
-ZoneName $dnsZoneName `
-Ttl 600 `
-PrivateDnsRecords $privateDnsRecordConfig `
-ErrorAction Stop | `
Out-Null
Если у вас есть виртуальная машина внутри виртуальной сети или вы настроили DNS-переадресацию, как описано в разделе Configure DNS forwarding for Файлы Azure, вы можете проверить, правильно ли настроена ваша приватная конечная точка, используя следующие команды:
$storageAccountHostName = [System.Uri]::new($storageAccount.PrimaryEndpoints.file) | `
Select-Object -ExpandProperty Host
Resolve-DnsName -Name $storageAccountHostName
Если все работает успешно, вы увидите следующие выходные данные, где 192.168.0.5 находится частный IP-адрес частной конечной точки в виртуальной сети:
Name Type TTL Section NameHost
---- ---- --- ------- --------
storageaccount.file.core.windows CNAME 60 Answer storageaccount.privatelink.file.core.windows.net
.net
Name : storageaccount.privatelink.file.core.windows.net
QueryType : A
TTL : 600
Section : Answer
IP4Address : 192.168.0.5
Чтобы создать частную конечную точку для учетной записи хранения, сначала нужно получить ссылку на учетную запись хранения и подсеть виртуальной сети, в которую вы хотите добавить частную конечную точку. Замените <storage-account-resource-group-name>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> и <vnet-subnet-name> ниже:
storageAccountResourceGroupName="<storage-account-resource-group-name>"
storageAccountName="<storage-account-name>"
virtualNetworkResourceGroupName="<vnet-resource-group-name>"
virtualNetworkName="<vnet-name>"
subnetName="<vnet-subnet-name>"
# Get storage account ID
storageAccount=$(az storage account show \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--query "id" | \
tr -d '"')
# Get virtual network ID
virtualNetwork=$(az network vnet show \
--resource-group $virtualNetworkResourceGroupName \
--name $virtualNetworkName \
--query "id" | \
tr -d '"')
# Get subnet ID
subnet=$(az network vnet subnet show \
--resource-group $virtualNetworkResourceGroupName \
--vnet-name $virtualNetworkName \
--name $subnetName \
--query "id" | \
tr -d '"')
Чтобы создать частную конечную точку, сначала необходимо убедиться, что сетевая политика частной конечной точки для подсети отключена. Затем создайте частную конечную точку с помощью команды az network private-endpoint create.
# Disable private endpoint network policies
az network vnet subnet update \
--ids $subnet \
--disable-private-endpoint-network-policies \
--output none
# Get virtual network location
region=$(az network vnet show \
--ids $virtualNetwork \
--query "location" | \
tr -d '"')
# Create a private endpoint
privateEndpoint=$(az network private-endpoint create \
--resource-group $storageAccountResourceGroupName \
--name "$storageAccountName-PrivateEndpoint" \
--location $region \
--subnet $subnet \
--private-connection-resource-id $storageAccount \
--group-id "file" \
--connection-name "$storageAccountName-Connection" \
--query "id" | \
tr -d '"')
Создание частной зоны DNS в Azure позволяет оригинальному имени учетной записи хранения, такому как storageaccount.file.core.windows.net, разрешаться в частный IP-адрес внутри виртуальной сети. Хотя для создания частной конечной точки это является необязательным, но явно требуется при подключении к общей папке Azure с использованием субъекта-пользователя AD или при доступе через REST API.
# Get the desired storage account suffix (core.windows.net for public cloud).
# This is done like this so this script will seamlessly work for non-public Azure.
storageAccountSuffix=$(az cloud show \
--query "suffixes.storageEndpoint" | \
tr -d '"')
# For public cloud, this will generate the following DNS suffix:
# privatelink.file.core.windows.net.
dnsZoneName="privatelink.file.$storageAccountSuffix"
# Find a DNS zone matching desired name attached to this virtual network.
possibleDnsZones=""
possibleDnsZones=$(az network private-dns zone list \
--query "[?name == '$dnsZoneName'].id" \
--output tsv)
dnsZone=""
possibleDnsZone=""
for possibleDnsZone in $possibleDnsZones
do
possibleResourceGroupName=$(az resource show \
--ids $possibleDnsZone \
--query "resourceGroup" | \
tr -d '"')
link=$(az network private-dns link vnet list \
--resource-group $possibleResourceGroupName \
--zone-name $dnsZoneName \
--query "[?virtualNetwork.id == '$virtualNetwork'].id" \
--output tsv)
if [ -z $link ]
then
echo "1" > /dev/null
else
dnsZoneResourceGroup=$possibleResourceGroupName
dnsZone=$possibleDnsZone
break
fi
done
if [ -z $dnsZone ]
then
# No matching DNS zone attached to virtual network, so create a new one
dnsZone=$(az network private-dns zone create \
--resource-group $virtualNetworkResourceGroupName \
--name $dnsZoneName \
--query "id" | \
tr -d '"')
az network private-dns link vnet create \
--resource-group $virtualNetworkResourceGroupName \
--zone-name $dnsZoneName \
--name "$virtualNetworkName-DnsLink" \
--virtual-network $virtualNetwork \
--registration-enabled false \
--output none
dnsZoneResourceGroup=$virtualNetworkResourceGroupName
fi
Теперь, когда у вас есть ссылка на частную зону DNS, нужно создать запись типа A для учетной записи хранения.
privateEndpointNIC=$(az network private-endpoint show \
--ids $privateEndpoint \
--query "networkInterfaces[0].id" | \
tr -d '"')
privateEndpointIP=$(az network nic show \
--ids $privateEndpointNIC \
--query "ipConfigurations[0].privateIPAddress" | \
tr -d '"')
az network private-dns record-set a create \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--name $storageAccountName \
--output none
az network private-dns record-set a add-record \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--record-set-name $storageAccountName \
--ipv4-address $privateEndpointIP \
--output none
Если у вас есть виртуальная машина внутри виртуальной сети или вы настроили DNS-переадресацию, как описано в разделе Configure DNS forwarding for Файлы Azure, вы можете проверить, правильно ли настроена ваша приватная конечная точка, используя следующие команды:
httpEndpoint=$(az storage account show \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--query "primaryEndpoints.file" | \
tr -d '"')
hostName=$(echo $httpEndpoint | cut -c7-$(expr length $httpEndpoint) | tr -d "/")
nslookup $hostName
Если все работает успешно, вы увидите следующие выходные данные, где 192.168.0.5 находится частный IP-адрес частной конечной точки в виртуальной сети:
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
storageaccount.file.core.windows.net canonical name = storageaccount.privatelink.file.core.windows.net.
Name: storageaccount.privatelink.file.core.windows.net
Address: 192.168.0.5
Создание частной конечной точки службы синхронизации хранилища
Перейдите в Приватный канал Center, введя Приватный канал в строку поиска в верхней части портала Azure. В оглавлении Приватный канал Center выберите Private endpoints, а затем выберите + Add для создания новой приватной конечной точки.
В мастере нужно будет заполнить несколько страниц.
Во вкладке «Основы » выберите группу ресурсов, название и регион для вашей приватной конечной точки. Эти значения могут быть любыми допустимыми. Они не должны никак соответствовать службе синхронизации хранилища, но необходимо создать приватную конечную точку в том же регионе, что и выбранная виртуальная сеть.
На вкладке Ресурс выберите Подключиться к ресурсу Azure в моем каталоге. Под типом ресурса выберите Microsoft. StorageSync/storageSyncServices.
Вкладка «Настройка» позволяет выбрать конкретную виртуальную сеть и подсеть, к которым вы хотите добавить свою приватную конечную точку. Выберите ту же виртуальную сеть, что и для аккаунта хранения.
Вкладка «Конфигурация» также содержит информацию о создании и обновлении приватной DNS-зоны.
Нажмите кнопку Проверить и создать, чтобы создать частную конечную точку.
Вы можете проверить правильность настройки частной конечной точки, выполнив следующие команды PowerShell.
$privateEndpointResourceGroupName = "<your-private-endpoint-resource-group>"
$privateEndpointName = "<your-private-endpoint-name>"
Get-AzPrivateEndpoint `
-ResourceGroupName $privateEndpointResourceGroupName `
-Name $privateEndpointName `
-ErrorAction Stop | `
Select-Object -ExpandProperty NetworkInterfaces | `
Select-Object -ExpandProperty Id | `
ForEach-Object { Get-AzNetworkInterface -ResourceId $_ } | `
Select-Object -ExpandProperty IpConfigurations | `
Select-Object -ExpandProperty PrivateLinkConnectionProperties | `
Select-Object -ExpandProperty Fqdns | `
ForEach-Object { Resolve-DnsName -Name $_ } | `
Format-List
Если все работает правильно, вы увидите следующие выходные данные, где 192.168.1.4192.168.1.5, 192.168.1.6и 192.168.1.7 являются частными IP-адресами, назначенными частной конечной точке:
Name : mysssmanagement.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : mysssmanagement.westus2.privatelink.afs.azure.net
Name : mysssmanagement.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.4
Name : myssssyncp.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : myssssyncp.westus2.privatelink.afs.azure.net
Name : myssssyncp.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.5
Name : myssssyncs.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : myssssyncs.westus2.privatelink.afs.azure.net
Name : myssssyncs.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.6
Name : mysssmonitoring.westus2.afs.azure.net
Type : CNAME
TTL : 60
Section : Answer
NameHost : mysssmonitoring.westus2.privatelink.afs.azure.net
Name : mysssmonitoring.westus2.privatelink.afs.azure.net
QueryType : A
TTL : 60
Section : Answer
IP4Address : 192.168.1.7
Чтобы создать частную конечную точку для своей службы синхронизации хранилища, сначала получите ссылку на свою службу синхронизации хранилища. Замените <storage-sync-service-resource-group> и <storage-sync-service> соответствующими значениями для своей среды. Следующие команды PowerShell предполагают, что вы уже заполнили информацию виртуальной сети.
$storageSyncServiceResourceGroupName = "<storage-sync-service-resource-group>"
$storageSyncServiceName = "<storage-sync-service>"
$storageSyncService = Get-AzStorageSyncService `
-ResourceGroupName $storageSyncServiceResourceGroupName `
-Name $storageSyncServiceName `
-ErrorAction SilentlyContinue
if ($null -eq $storageSyncService) {
$errorMessage = "Storage Sync Service $storageSyncServiceName not found "
$errorMessage += "in resource group $storageSyncServiceResourceGroupName."
Write-Error -Message $errorMessage -ErrorAction Stop
}
Чтобы создать частную конечную точку, необходимо создать подключение службы Частной ссылки к Службе синхронизации хранилища. Соединение частной ссылки является входом для создания частной конечной точки.
# Disable private endpoint network policies
$subnet.PrivateEndpointNetworkPolicies = "Disabled"
$virtualNetwork = $virtualNetwork | `
Set-AzVirtualNetwork -ErrorAction Stop
# Create a private link service connection to the storage account
$privateEndpointConnection = New-AzPrivateLinkServiceConnection `
-Name "$storageSyncServiceName-Connection" `
-PrivateLinkServiceId $storageSyncService.ResourceId `
-GroupId "Afs" `
-ErrorAction Stop
# Create a new private endpoint
$privateEndpoint = New-AzPrivateEndpoint `
-ResourceGroupName $storageSyncServiceResourceGroupName `
-Name "$storageSyncServiceName-PrivateEndpoint" `
-Location $virtualNetwork.Location `
-Subnet $subnet `
-PrivateLinkServiceConnection $privateEndpointConnection `
-ErrorAction Stop
Создание частной зоны DNS Azure позволяет преобразовать имена узлов для службы синхронизации хранилища, такие как mysssmanagement.westus2.afs.azure.net, в соответствующие частные IP-адреса для корректной работы службы синхронизации хранилища в виртуальной сети. Хотя это необязательно с точки зрения создания частной конечной точки, это явно необходимо для агента Синхронизация файлов Azure, чтобы получить доступ к службе синхронизации хранилища.
# Get the desired Storage Sync Service suffix (afs.azure.net for public cloud)
# This is done like this so this script will seamlessly work for non-public Azure
$azureEnvironment = Get-AzContext | `
Select-Object -ExpandProperty Environment | `
Select-Object -ExpandProperty Name
switch($azureEnvironment) {
"AzureCloud" {
$storageSyncSuffix = "afs.azure.net"
}
"AzureUSGovernment" {
$storageSyncSuffix = "afs.azure.us"
}
"AzureChinaCloud" {
$storageSyncSuffix = "afs.azure.cn"
}
default {
Write-Error
-Message "The Azure environment $_ is not currently supported by Azure File Sync." `
-ErrorAction Stop
}
}
# For public cloud, this will generate the following DNS suffix:
# privatelink.afs.azure.net
$dnsZoneName = "privatelink.$storageSyncSuffix"
# Find a DNS zone matching desired name attached to this virtual network
$dnsZone = Get-AzPrivateDnsZone | `
Where-Object { $_.Name -eq $dnsZoneName } | `
Where-Object {
$privateDnsLink = Get-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $_.ResourceGroupName `
-ZoneName $_.Name `
-ErrorAction SilentlyContinue
$privateDnsLink.VirtualNetworkId -eq $virtualNetwork.Id
}
if ($null -eq $dnsZone) {
# No matching DNS zone attached to virtual network, so create a new one
$dnsZone = New-AzPrivateDnsZone `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $dnsZoneName `
-ErrorAction Stop
$privateDnsLink = New-AzPrivateDnsVirtualNetworkLink `
-ResourceGroupName $virtualNetworkResourceGroupName `
-ZoneName $dnsZoneName `
-Name "$virtualNetworkName-DnsLink" `
-VirtualNetworkId $virtualNetwork.Id `
-ErrorAction Stop
}
Теперь, когда у вас есть ссылка на частную зону DNS, необходимо создать запись A для службы синхронизации хранилища.
$privateEndpointIpFqdnMappings = $privateEndpoint | `
Select-Object -ExpandProperty NetworkInterfaces | `
Select-Object -ExpandProperty Id | `
ForEach-Object { Get-AzNetworkInterface -ResourceId $_ } | `
Select-Object -ExpandProperty IpConfigurations | `
ForEach-Object {
$privateIpAddress = $_.PrivateIpAddress;
$_ | `
Select-Object -ExpandProperty PrivateLinkConnectionProperties | `
Select-Object -ExpandProperty Fqdns | `
Select-Object `
@{
Name = "PrivateIpAddress";
Expression = { $privateIpAddress }
}, `
@{
Name = "FQDN";
Expression = { $_ }
}
}
foreach($ipFqdn in $privateEndpointIpFqdnMappings) {
$privateDnsRecordConfig = New-AzPrivateDnsRecordConfig `
-IPv4Address $ipFqdn.PrivateIpAddress
$dnsEntry = $ipFqdn.FQDN.Substring(0,
$ipFqdn.FQDN.IndexOf(".", $ipFqdn.FQDN.IndexOf(".") + 1))
New-AzPrivateDnsRecordSet `
-ResourceGroupName $virtualNetworkResourceGroupName `
-Name $dnsEntry `
-RecordType A `
-ZoneName $dnsZoneName `
-Ttl 600 `
-PrivateDnsRecords $privateDnsRecordConfig `
-ErrorAction Stop | `
Out-Null
}
Чтобы создать частную конечную точку для своей службы синхронизации хранилища, сначала получите ссылку на свою службу синхронизации хранилища. Замените <storage-sync-service-resource-group> и <storage-sync-service> соответствующими значениями для своей среды. Следующие команды CLI предполагают, что вы уже заполнили информацию виртуальной сети.
storageSyncServiceResourceGroupName="<storage-sync-service-resource-group>"
storageSyncServiceName="<storage-sync-service>"
storageSyncService=$(az resource show \
--resource-group $storageSyncServiceResourceGroupName \
--name $storageSyncServiceName \
--resource-type "Microsoft.StorageSync/storageSyncServices" \
--query "id" | \
tr -d '"')
storageSyncServiceRegion=$(az resource show \
--resource-group $storageSyncServiceResourceGroupName \
--name $storageSyncServiceName \
--resource-type "Microsoft.StorageSync/storageSyncServices" \
--query "location" | \
tr -d '"')
Чтобы создать частную конечную точку, сначала убедитесь, что сетевая политика частной конечной точки для подсети установлена в значение отключено. Затем создайте приватную конечную точку с помощью команды az network private-endpoint create .
# Disable private endpoint network policies
az network vnet subnet update \
--ids $subnet \
--disable-private-endpoint-network-policies \
--output none
# Get virtual network location
region=$(az network vnet show \
--ids $virtualNetwork \
--query "location" | \
tr -d '"')
# Create a private endpoint
privateEndpoint=$(az network private-endpoint create \
--resource-group $storageSyncServiceResourceGroupName \
--name "$storageSyncServiceName-PrivateEndpoint" \
--location $region \
--subnet $subnet \
--private-connection-resource-id $storageSyncService \
--group-id "Afs" \
--connection-name "$storageSyncServiceName-Connection" \
--query "id" | \
tr -d '"')
Создание частной зоны DNS Azure позволяет преобразовать имена узлов для службы синхронизации хранилища, такие как mysssmanagement.westus2.afs.azure.net, в соответствующие частные IP-адреса для корректной работы службы синхронизации хранилища в виртуальной сети. Хотя это необязательно с точки зрения создания частной конечной точки, это явно необходимо для агента Синхронизация файлов Azure, чтобы получить доступ к службе синхронизации хранилища.
# Get the desired storage account suffix (afs.azure.net for public cloud)
# This is done like this so this script will seamlessly work for non-public Azure
azureEnvironment=$(az cloud show \
--query "name" |
tr -d '"')
storageSyncSuffix=""
if [ $azureEnvironment == "AzureCloud" ]
then
storageSyncSuffix="afs.azure.net"
elif [ $azureEnvironment == "AzureUSGovernment" ]
then
storageSyncSuffix="afs.azure.us"
else
echo "Unsupported Azure environment $azureEnvironment."
fi
# For public cloud, this will generate the following DNS suffix:
# privatelink.afs.azure.net
dnsZoneName="privatelink.$storageSyncSuffix"
# Find a DNS zone matching desired name attached to this virtual network
possibleDnsZones=""
possibleDnsZones=$(az network private-dns zone list \
--query "[?name == '$dnsZoneName'].id" \
--output tsv)
dnsZone=""
possibleDnsZone=""
for possibleDnsZone in $possibleDnsZones
do
possibleResourceGroupName=$(az resource show \
--ids $possibleDnsZone \
--query "resourceGroup" | \
tr -d '"')
link=$(az network private-dns link vnet list \
--resource-group $possibleResourceGroupName \
--zone-name $dnsZoneName \
--query "[?virtualNetwork.id == '$virtualNetwork'].id" \
--output tsv)
if [ -z $link ]
then
echo "1" > /dev/null
else
dnsZoneResourceGroup=$possibleResourceGroupName
dnsZone=$possibleDnsZone
break
fi
done
if [ -z $dnsZone ]
then
# No matching DNS zone attached to virtual network, so create a new one
dnsZone=$(az network private-dns zone create \
--resource-group $virtualNetworkResourceGroupName \
--name $dnsZoneName \
--query "id" | \
tr -d '"')
az network private-dns link vnet create \
--resource-group $virtualNetworkResourceGroupName \
--zone-name $dnsZoneName \
--name "$virtualNetworkName-DnsLink" \
--virtual-network $virtualNetwork \
--registration-enabled false \
--output none
dnsZoneResourceGroup=$virtualNetworkResourceGroupName
fi
Теперь, когда у вас есть ссылка на частную зону DNS, необходимо создать запись A для службы синхронизации хранилища.
privateEndpointNIC=$(az network private-endpoint show \
--ids $privateEndpoint \
--query "networkInterfaces[0].id" | \
tr -d '"')
privateIpAddresses=$(az network nic show \
--ids $privateEndpointNIC \
--query "ipConfigurations[].privateIpAddress" \
--output tsv)
hostNames=$(az network nic show \
--ids $privateEndpointNIC \
--query "ipConfigurations[].privateLinkConnectionProperties.fqdns[]" \
--output tsv)
i=0
for privateIpAddress in $privateIpAddresses
do
j=0
targetHostName=""
for hostName in $hostNames
do
if [ $i == $j ]
then
targetHostName=$hostName
break
fi
j=$(expr $j + 1)
done
endpointName=$(echo $targetHostName | \
cut -c1-$(expr $(expr index $targetHostName ".") - 1))
az network private-dns record-set a create \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--name "$endpointName.$storageSyncServiceRegion" \
--output none
az network private-dns record-set a add-record \
--resource-group $dnsZoneResourceGroup \
--zone-name $dnsZoneName \
--record-set-name "$endpointName.$storageSyncServiceRegion" \
--ipv4-address $privateIpAddress \
--output none
i=$(expr $i + 1)
done
Ограничение доступа к общедоступным конечным точкам
Вы можете ограничить доступ к общедоступным конечным точкам как учетной записи хранения, так и службы синхронизации хранилища. Ограничение доступа к общедоступной конечной точке обеспечивает дополнительную безопасность, гарантируя, что сетевые пакеты принимаются только из утвержденных расположений.
Ограничение доступа к общедоступной конечной точке учетной записи хранения
Вы можете ограничить доступ к общедоступной конечной точке, используя настройки межсетевого экрана учетной записи хранения. Как правило, большинство политик брандмауэра учетной записи хранения ограничивают сетевой доступ к одной или нескольким виртуальным сетям. Чтобы ограничить доступ к учетной записи хранения виртуальной сети, используйте один из следующих подходов:
-
Создайте одну или несколько частных конечных точек для учетной записи хранения и отключите доступ к общедоступной конечной точке. Это будет гарантировать, что доступ к общим папкам Azure в учетной записи хранения получают только те, кто подключается из нужных виртуальных сетей.
- Ограничьте доступ к общедоступной конечной точке одной или несколькими виртуальными сетями. Этот подход работает за счёт использования возможности виртуальной сети, называемой сервисными конечными точками. Когда вы ограничиваете трафик аккаунтом хранения через сервисную конечную точку, вы всё равно получаете доступ к аккаунту хранения через публичный IP-адрес.
Примечание.
Чтобы разрешить доверенным собственным службам Microsoft, таким как Синхронизация файлов Azure, доступ к учетной записи хранения, установите флажок Разрешить доверенным службам Microsoft доступ к этому ресурсу в учетной записи хранения. Для получения дополнительной информации см. раздел «Ограничить доступ к публичной конечной точке для конкретных сетей».
Внимание
Синхронизация файлов Azure имеет известное ограничение, связанное с периметрами сетевой безопасности (NSP).
Службы синхронизации хранилища не могут размещаться внутри периметра, а полная интеграция периметра не поддерживается.
Чтобы подключить службу синхронизации хранилища к учетной записи хранения, защищенной NSP:
- Настройте Службу синхронизации хранения для использования управляемых удостоверений.
- Создайте правило для входящего профиля NSP, которое включает в белый список подписку, размещающую службу синхронизации хранилища.
Службы синхронизации хранилища должны оставаться вне периметра для правильной синхронизации.
Предоставление доступа к доверенным службам Azure и отключение доступа к общедоступной конечной точке учетной записи хранения
Когда вы отключаете доступ к публичной конечной точке, вы всё равно можете получить доступ к аккаунту хранения через его приватную конечную точку, но запросы на публичный конечный пункт аккаунта хранения отклоняются.
Перейдите к учетной записи хранения, для которой вы хотите запретить доступ к общедоступной конечной точке. В таблице содержимого учетной записи хранения выберите Сетевые настройки.
В верхней части страницы выберите переключатель "Включено" из выбранных виртуальных сетей и IP-адресов. Это действие отобразит ряд скрытых параметров для управления ограничениями общедоступной конечной точки. Выберите «Разрешить службам Azure в списке доверенных служб доступ к этой учетной записи хранения», чтобы разрешить доверенным первичным службам Microsoft, таким как Синхронизация файлов Azure, доступ к этой учетной записи хранения.
Следующая команда PowerShell блокирует весь трафик к общедоступной конечной точке учетной записи хранения. Обратите внимание, что в этой команде параметр -Bypass имеет значение AzureServices. Это значение разрешает доступ к учетной записи хранения через общедоступную конечную точку для доверенных служб корпорации Майкрософт, таких как Синхронизация файлов Azure.
# This assumes $storageAccount is still defined from the beginning of this of this guide.
$storageAccount | Update-AzStorageAccountNetworkRuleSet `
-DefaultAction Deny `
-Bypass AzureServices `
-WarningAction SilentlyContinue `
-ErrorAction Stop | `
Out-Null
Следующая команда CLI блокирует весь трафик к общедоступной конечной точке учетной записи хранения. Обратите внимание, что в этой команде параметр -bypass имеет значение AzureServices. Это значение разрешает доступ к учетной записи хранения через общедоступную конечную точку для доверенных служб корпорации Майкрософт, таких как Синхронизация файлов Azure.
# This assumes $storageAccountResourceGroupName and $storageAccountName
# are still defined from the beginning of this guide.
az storage account update \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--bypass "AzureServices" \
--default-action "Deny" \
--output none
Предоставление доступа к доверенным службам Azure и ограничение доступа к общедоступной конечной точке учетной записи хранения определенным виртуальным сетям
При ограничении учетной записи хранения определенным виртуальным сетям вы разрешаете запросы к общедоступной конечной точке из указанных виртуальных сетей. Это достигается за счет возможности виртуальной сети под названием конечная точка службы. Ее можно использовать с частными конечными точками или без них.
Перейдите к учетной записи хранения, для которой вы хотите разрешить доступ к общедоступной конечной точке только из нескольких виртуальных сетей. В таблице содержимого учетной записи хранения выберите Сетевые настройки.
В верхней части страницы выберите переключатель "Включено" из выбранных виртуальных сетей и IP-адресов. Это действие отобразит ряд скрытых параметров для управления ограничениями общедоступной конечной точки. Нажмите кнопку +Добавить существующую виртуальную сеть, чтобы выбрать определенную виртуальную сеть , доступ к ней через общедоступную конечную точку. Выберите виртуальную сеть и подсеть для этой виртуальной сети, а затем нажмите кнопку "Включить".
Выберите «Разрешить службам Azure в списке доверенных служб доступ к этой учетной записи хранения», чтобы разрешить доверенным первичным службам Microsoft, таким как Синхронизация файлов Azure, доступ к этой учетной записи хранения.
Чтобы разрешить доступ к общедоступной конечной точке учетной записи хранения только из определенных виртуальных сетей через конечные точки службы, сначала необходимо собрать информацию об учетной записи хранения и виртуальной сети. Для сбора этой информации заполните параметры <storage-account-resource-group>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> и <subnet-name>.
$storageAccountResourceGroupName = "<storage-account-resource-group>"
$storageAccountName = "<storage-account-name>"
$restrictToVirtualNetworkResourceGroupName = "<vnet-resource-group-name>"
$restrictToVirtualNetworkName = "<vnet-name>"
$subnetName = "<subnet-name>"
$storageAccount = Get-AzStorageAccount `
-ResourceGroupName $storageAccountResourceGroupName `
-Name $storageAccountName `
-ErrorAction Stop
$virtualNetwork = Get-AzVirtualNetwork `
-ResourceGroupName $restrictToVirtualNetworkResourceGroupName `
-Name $restrictToVirtualNetworkName `
-ErrorAction Stop
$subnet = $virtualNetwork | `
Select-Object -ExpandProperty Subnets | `
Where-Object { $_.Name -eq $subnetName }
if ($null -eq $subnet) {
Write-Error `
-Message "Subnet $subnetName not found in virtual network $restrictToVirtualNetworkName." `
-ErrorAction Stop
}
Чтобы трафик из виртуальной сети мог быть пропущен через сетевую структуру Azure к общедоступной конечной точке учетной записи хранения, в подсети этой виртуальной сети должна быть открыта конечная точка службы Microsoft.Storage. Следующие команды PowerShell добавят Microsoft.Storage конечную точку службы в подсеть, если она еще не существует.
$serviceEndpoints = $subnet | `
Select-Object -ExpandProperty ServiceEndpoints | `
Select-Object -ExpandProperty Service
if ($serviceEndpoints -notcontains "Microsoft.Storage") {
if ($null -eq $serviceEndpoints) {
$serviceEndpoints = @("Microsoft.Storage")
} elseif ($serviceEndpoints -is [string]) {
$serviceEndpoints = @($serviceEndpoints, "Microsoft.Storage")
} else {
$serviceEndpoints += "Microsoft.Storage"
}
$virtualNetwork = $virtualNetwork | Set-AzVirtualNetworkSubnetConfig `
-Name $subnetName `
-AddressPrefix $subnet.AddressPrefix `
-ServiceEndpoint $serviceEndpoints `
-WarningAction SilentlyContinue `
-ErrorAction Stop | `
Set-AzVirtualNetwork `
-ErrorAction Stop
}
Последним шагом для ограничения трафика к учетной записи хранения будет создание правила сети и добавление его в набор правил сети для этой учетной записи хранения.
$networkRule = $storageAccount | Add-AzStorageAccountNetworkRule `
-VirtualNetworkResourceId $subnet.Id `
-ErrorAction Stop
$storageAccount | Update-AzStorageAccountNetworkRuleSet `
-DefaultAction Deny `
-Bypass AzureServices `
-VirtualNetworkRule $networkRule `
-WarningAction SilentlyContinue `
-ErrorAction Stop | `
Out-Null
Чтобы разрешить доступ к общедоступной конечной точке учетной записи хранения только из определенных виртуальных сетей через конечные точки службы, сначала необходимо собрать информацию об учетной записи хранения и виртуальной сети. Для сбора этой информации заполните параметры <storage-account-resource-group>, <storage-account-name>, <vnet-resource-group-name>, <vnet-name> и <subnet-name>.
storageAccountResourceGroupName="<storage-account-resource-group>"
storageAccountName="<storage-account-name>"
restrictToVirtualNetworkResourceGroupName="<vnet-resource-group-name>"
restrictToVirtualNetworkName="<vnet-name>"
subnetName="<subnet-name>"
storageAccount=$(az storage account show \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--query "id" | \
tr -d '"')
virtualNetwork=$(az network vnet show \
--resource-group $restrictToVirtualNetworkResourceGroupName \
--name $restrictToVirtualNetworkName \
--query "id" | \
tr -d '"')
subnet=$(az network vnet subnet show \
--resource-group $restrictToVirtualNetworkResourceGroupName \
--vnet-name $restrictToVirtualNetworkName \
--name $subnetName \
--query "id" | \
tr -d '"')
Чтобы трафик из виртуальной сети мог быть пропущен через сетевую структуру Azure к общедоступной конечной точке учетной записи хранения, в подсети этой виртуальной сети должна быть открыта конечная точка службы Microsoft.Storage. Следующие команды CLI добавляют Microsoft.Storage конечную точку службы в подсеть, если она еще не существует.
serviceEndpoints=$(az network vnet subnet show \
--resource-group $restrictToVirtualNetworkResourceGroupName \
--vnet-name $restrictToVirtualNetworkName \
--name $subnetName \
--query "serviceEndpoints[].service" \
--output tsv)
foundStorageServiceEndpoint=false
for serviceEndpoint in $serviceEndpoints
do
if [ $serviceEndpoint = "Microsoft.Storage" ]
then
foundStorageServiceEndpoint=true
fi
done
if [ $foundStorageServiceEndpoint = false ]
then
serviceEndpointList=""
for serviceEndpoint in $serviceEndpoints
do
serviceEndpointList+=$serviceEndpoint
serviceEndpointList+=" "
done
serviceEndpointList+="Microsoft.Storage"
az network vnet subnet update \
--ids $subnet \
--service-endpoints $serviceEndpointList \
--output none
fi
Последним шагом для ограничения трафика к учетной записи хранения будет создание правила сети и добавление его в набор правил сети для этой учетной записи хранения.
az storage account network-rule add \
--resource-group $storageAccountResourceGroupName \
--account-name $storageAccountName \
--subnet $subnet \
--output none
az storage account update \
--resource-group $storageAccountResourceGroupName \
--name $storageAccountName \
--bypass "AzureServices" \
--default-action "Deny" \
--output none
Отключение доступа к общедоступной конечной точке службы синхронизации хранилища
Синхронизация файлов Azure позволяет ограничить доступ только к определенным виртуальным сетям через частные конечные точки; Синхронизация файлов Azure не поддерживает конечные точки службы для ограничения доступа к общедоступной конечной точке определенным виртуальным сетям. Это означает, что два состояния общедоступной конечной точки службы синхронизации хранилища включены и отключены.
Внимание
Перед отключением доступа к общедоступной конечной точке необходимо создать частную конечную точку. Если общедоступная конечная точка отключена и не настроена частная конечная точка, синхронизация не может работать.
Чтобы отключить доступ к общедоступной конечной точке службы синхронизации хранилища, выполните следующие действия.
- Войдите на портал Azure.
- Перейдите в сервис синхронизации хранения и выберите настройки>сети слева в навигации.
- В параметре «Разрешить доступ из» выберите только частные конечные точки.
- Выберите частную конечную точку из списка подключений частной конечной точки.
Чтобы отключить доступ к публичной конечной точке Storage Sync Service, установите incomingTrafficPolicy свойство на Storage Sync Service на AllowVirtualNetworksOnly. Чтобы включить доступ к публичному конечному пункту Storage Sync Service, установите incomingTrafficPolicy на AllowAllTraffic. Замените <storage-sync-service-resource-group> и <storage-sync-service> собственными значениями.
$storageSyncServiceResourceGroupName = "<storage-sync-service-resource-group>"
$storageSyncServiceName = "<storage-sync-service>"
Set-AzStorageSyncService `
-ResourceGroupName $storageSyncServiceResourceGroupName `
-Name $storageSyncServiceName `
-IncomingTrafficPolicy AllowVirtualNetworksOnly
Azure CLI не поддерживает настройку incomingTrafficPolicy свойства в службе синхронизации хранилища. Выберите вкладку Azure PowerShell для инструкций по отключению публичной конечной точки Storage Sync Service.
Политика Azure для Файлы Azure и Синхронизация файлов Azure
Политика Azure помогает применять стандарты организации и оценивать соблюдение этих стандартов в нужном масштабе. Файлы Azure и Синхронизация файлов Azure предоставляют несколько полезных сетевых политик аудита и исправления, которые помогают отслеживать и автоматизировать развертывание.
Политики выполняют аудит среды и предупреждают пользователя, если поведение учетных записей хранения или служб синхронизации хранилища отклоняется от заданного. Например, политика уведомляет вас, если публичная конечная точка включена, когда ваша политика была настроена на отключение публичных конечных точек. Политики Modify и Deploy могут заранее изменять ресурс (например, Storage Sync Service) или развертывать ресурсы (например, частные конечные точки), чтобы привести их в соответствие с политиками.
Для Файлов Azure и Синхронизации файлов Azure доступны следующие предварительно определенные политики:
| Действие |
Сервис |
Условие |
Имя политики |
| Аудит |
Файлы Azure |
Общедоступная конечная точка учетной записи хранения включена. Дополнительные сведения см. в статье "Предоставление доступа к доверенным службам Azure" и отключение доступа к общедоступной конечной точке учетной записи хранения. |
Учетные записи хранения должны ограничивать доступ к сети. |
| Аудит |
Служба синхронизации файлов Azure |
Общедоступная конечная точка службы синхронизации хранилища включена. Дополнительные сведения см. в разделе Отключение доступа к общедоступной конечной точке службы синхронизации хранилища. |
Доступ к общедоступной сети для Синхронизации файлов Azure должен быть отключен |
| Аудит |
Файлы Azure |
Для аккаунта хранения требуется как минимум одна частная конечная точка. Дополнительные сведения см. в разделе Создание частной конечной точки для учетной записи хранения. |
Аккаунт хранения должен использовать приватное подключение |
| Аудит |
Служба синхронизации файлов Azure |
Службе синхронизации хранилища требуется по крайней мере одна частная конечная точка. Дополнительные сведения см. в разделе Создание частной конечной точки службы синхронизации хранилища. |
Синхронизация файлов Azure должна использовать приватный канал |
| Изменить |
Служба синхронизации файлов Azure |
Отключает общедоступную конечную точку службы синхронизации хранилища. |
Настроить Синхронизация файлов Azure для отключения общедоступного сетевого доступа |
| Развернуть |
Служба синхронизации файлов Azure |
Разверните частную конечную точку для службы синхронизации хранилища. |
Настройка Синхронизации файлов Azure с частными конечными точками |
| Развернуть |
Служба синхронизации файлов Azure |
Разверните запись A в зоне DNS privatelink.afs.azure.net. |
Настройка использования частных зон DNS для Синхронизации файлов Azure |
Установите политику развертывания для частной конечной точки
Чтобы настроить политику развертывания частных конечных точек, следуйте следующим шагам:
- Войдите в портал Azure и выполните поиск Policy.
Выберите «Политика» из результатов.
- Перейдите к разделу Авторские>определения в оглавлении Центра политики.
- В панели определений выберите категорию Хранилище в фильтре категорий или поискайте Configure Синхронизация файлов Azure с частными конечными точками.
- Выберите ... рядом с политикой, а затем выберите Assign.
- На странице «Основы » по желанию установить область действия, список исключений и удобное название для политики. Нажмите кнопку Далее.
- На странице «Параметры » выберите ... рядом с полем privateEndpointSubnetId . Выберите виртуальную сеть и подсеть, где должны быть развернуты приватные конечные точки для ресурсов Storage Sync Service. Мастеру может потребоваться несколько секунд на загрузку доступных виртуальных сетей. Нажмите кнопку Далее.
- На странице восстановления выберите Создать задачу восстановления, чтобы приватная конечная точка была развернута при обнаружении сервиса синхронизации хранения без приватной конечной точки.
- Выберите Review + Create для просмотра назначения политики, а затем выберите Create.
Результирующее назначение политики будет выполняться периодически и может не выполняться сразу после создания.
См. также