توفر Azure Files وAzure File Sync نوعين رئيسيين من نقاط النهاية للوصول إلى مشاركات ملفات Azure:
- نقاط النهاية العامة، التي لها عنوان IP عام ومن الممكن الوصول إليها من أي مكان في العالم.
- نقاط النهاية الخاصة، الموجودة داخل شبكة افتراضية ولها عنوان IP خاص من داخل مساحة عنوان تلك الشبكة الافتراضية.
لكل من Azure Files وAzure File Sync، تتحكم كائنات إدارة Azure (حساب التخزين وخدمة مزامنة التخزين) في كل من نقاط النهاية العامة والخاصة. حساب التخزين هو بناء إدارة يمثل تجمعا مشتركا من التخزين حيث يمكنك نشر مشاركات ملفات متعددة، بالإضافة إلى موارد تخزين أخرى، مثل الكائنات الثنائية كبيرة الحجم أو قوائم الانتظار. خدمة مزامنة التخزين عبارة عن بنية إدارة تمثل الخوادم المسجلة، والتي هي Windows خوادم الملفات ذات علاقة ثقة راسخة مع Azure File Sync، ومجموعات المزامنة، التي تحدد طبولوجيا علاقة المزامنة.
تركز هذه المقالة على كيفية تكوين نقاط نهاية الشبكة لكل من ملفات Azure ومزامنة ملفات Azure. لمعرفة المزيد حول كيفية تكوين نقاط نهاية الشبكة للوصول إلى مشاركات ملفات Azure مباشرة، بدلا من التخزين المؤقت محليا باستخدام Azure File Sync، راجع تكوين نقاط نهاية شبكة Azure Files.
نوصي بقراءة اعتبارات شبكة Azure File Sync قبل قراءة دليل الكيفية هذا.
المتطلبات الأساسية
تفترض هذه المقالة ما يلي:
- لديك اشتراك Azure. وإذا لم يكن لديك اشتراك بالفعل، فأنشئ حسابًا مجانيًا قبل البدء.
- لقد قمت بالفعل بإنشاء مشاركة ملف Azure في حساب تخزين ترغب في الاتصال به من أماكن العمل. لمعرفة كيفية إنشاء مشاركة ملف Azure، راجع إنشاء مشاركة ملف Azure.
- يمكنك السماح بحركة مرور المجال إلى نقاط النهاية التالية، راجع نقاط نهاية خدمة Azure:
علاوةً على ذلك،
إنشاء نقاط النهاية الخاصة
عند إنشاء نقطة نهاية خاصة لمورد Azure، يتم نشر الموارد التالية:
-
نقطة نهاية خاصة: مورد Azure يمثل إما نقطة النهاية الخاصة لحساب التخزين أو خدمة مزامنة التخزين. فكر في هذا كمورد يربط مورد Azure وواجهة الشبكة.
- واجهة الشبكة (NIC): واجهة الشبكة التي تحتفظ بعنوان IP خاص داخل الشبكة الظاهرية /الشبكة الفرعية المحددة. هذا هو المورد نفسه بالضبط الذي يتم نشره عند نشر جهاز ظاهري (VM)، ولكن بدلا من تعيينه إلى جهاز ظاهري، يكون مملوكا لنقطة النهاية الخاصة.
-
منطقة DNS خاصة: إذا لم تقم مطلقا بتوزيع نقطة نهاية خاصة لهذه الشبكة الظاهرية من قبل، توزيع منطقة DNS خاصة جديدة لشبكتك الظاهرية. سيتم أيضا إنشاء سجل DNS A لمورد Azure في منطقة DNS هذه. إذا قمت بالفعل بنشر نقطة نهاية خاصة في هذه الشبكة الظاهرية، إضافة سجل A جديد لمورد Azure إلى منطقة DNS الحالية. يعد نشر منطقة DNS أمرا اختياريا، ولكن يوصى بشدة بتبسيط إدارة DNS المطلوبة.
إشعار
تستخدم هذه المقالة لواحق DNS لمناطق Azure العامة وحسابات core.windows.net التخزين وخدمات afs.azure.net مزامنة التخزين. ينطبق هذا أيضا على السحب ذات السيادة Azure مثل سحابة Azure US Government - ما عليك سوى استبدال اللاحقات المناسبة للبيئة الخاصة بك.
إنشاء نقطة نهاية خاصة لحساب التخزين
انتقل إلى حساب التخزين الذي ترغب في إنشاء نقطة نهاية خاصة له. من قائمة الخدمة، ضمن Security + networking، حدد Networking، Private endpoint connections، ثم + Private endpoint لإنشاء نقطة نهاية خاصة جديدة.
يحتوي المعالج الناتج على صفحات متعددة لإكمالها.
في جزء الأساسيات، حدد الاشتراك المطلوب ومجموعة الموارد والاسم واسم واجهة الشبكة والمنطقة لنقطة النهاية الخاصة. يمكن أن تكون هذه ما تريده، ولا يجب أن تتطابق مع حساب التخزين بأي شكل من الأشكال، على الرغم من أنه يجب عليك إنشاء نقطة النهاية الخاصة في نفس منطقة الشبكة الظاهرية التي ترغب في إنشاء نقطة النهاية الخاصة فيها. ثم حدد التالي: المورد.
في جزء المورد، حدد ملف للمورد الفرعي الهدف. ثم حدد التالي: الشبكة الافتراضية.
يسمح لك جزء شبكة ظاهرية بتحديد الشبكة الظاهرية والشبكة الفرعية المحددة التي ترغب في إضافة نقطة النهاية إليها. حدد تخصيص عنوان IP ثابت أو ديناميكي لنقطة النهاية الخاصة الجديدة. إذا حددت ثابت، فستحتاج أيضًا إلى توفير اسم وعنوان IP خاص. يمكنك أيضًا تحديد مجموعة أمان تطبيق اختياريًا. عند الانتهاء، حدد التالي: DNS.
يحتوي جزء DNS على معلومات تكامل نقطة النهاية الخاصة مع منطقة DNS خاصة. تأكد من صحة الاشتراك ومجموعة الموارد، ثم حدد التالي: العلامات.
يمكنك اختياريا تطبيق العلامات لتصنيف مواردك، مثل تطبيق اسم البيئةواختبار القيمة على جميع موارد الاختبار. أدخل أزواج الأسماء/القيم إذا رغبت في ذلك، ثم حدد التالي: مراجعة + إنشاء.
حدد Create لإنشاء نقطة النهاية الخاصة.
إذا كان لديك جهاز ظاهري داخل شبكتك الظاهرية، أو قمت بتكوين إعادة توجيه DNS كما هو موضح في تكوين إعادة توجيه DNS لملفات 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.
# 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 كما هو موضح في تكوين إعادة توجيه DNS لملفات 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.
# 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 كما هو موضح في تكوين إعادة توجيه DNS لملفات 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
إنشاء نقطة النهاية الخاصة بخدمة مزامنة التخزين
انتقل إلى مركز الارتباط الخاص عن طريق كتابة ارتباط خاص في شريط البحث أعلى مدخل Azure. في جدول محتويات مركز الارتباط الخاص، حدد نقاط النهاية الخاصة، ثم + إضافة لإنشاء نقطة نهاية خاصة جديدة.
يحتوي المعالج الناتج على صفحات متعددة لإكمالها.
في شفرة الأساسيات، حدد مجموعة الموارد المطلوبة والاسم والمنطقة لنقطة النهاية الخاصة بك. يمكن أن تكون هذه ما تريده، ولا يجب أن تتطابق مع خدمة مزامنة التخزين بأي شكل من الأشكال، على الرغم من أنه يجب عليك إنشاء نقطة النهاية الخاصة في نفس المنطقة مثل الشبكة الافتراضية التي ترغب في إنشاء نقطة النهاية الخاصة فيها.
في شفرة الموارد، حدد الزر التبادليالاتصال إلى مورد Azure في الدليل الخاص بي. ضمن نوع المورد، حدد Microsoft.StorageSync/storageSyncServices لنوع المورد.
تسمح لك شفرة التكوين بتحديد الشبكة الافتراضية والشبكة الفرعية المحددة التي ترغب في إضافة نقطة النهاية الخاصة بك إليها. حدد نفس الشبكة الظاهرية مثل الشبكة التي استخدمتها لحساب التخزين أعلاه. تحتوي شفرة التكوين أيضا على معلومات لإنشاء / تحديث منطقة DNS الخاصة.
حدد Review + create لإنشاء نقطة النهاية الخاصة.
يمكنك اختبار إعداد نقطة النهاية الخاصة بشكل صحيح عن طريق تشغيل أوامر 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.5192.168.1.6192.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، ستحتاج أولا إلى الحصول على مرجع إلى Storage Sync Service. استبدل أيضًا <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 File Sync للوصول إلى Storage Sync Service.
# 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 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، ستحتاج أولا إلى الحصول على مرجع إلى Storage Sync Service. استبدل أيضًا <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 File Sync للوصول إلى Storage Sync Service.
# 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:
# privatelinke.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 العام.
إشعار
يجب تحديد السماح لخدمات Azure في قائمة الخدمات الموثوق بها بالوصول إلى استثناء حساب التخزين هذا على حساب التخزين الخاص بك للسماح خدمات Microsoft الطرف الأول الموثوق به مثل Azure File Sync بالوصول إلى حساب التخزين. لمعرفة المزيد، راجع منح حق الوصول إلى خدمات Azure الموثوق بها.
منح حق الوصول إلى خدمات Azure الموثوق بها وتعطيل الوصول إلى نقطة النهاية العامة لحساب التخزين
عند تعطيل إمكانية الوصول إلى نقطة النهاية العامة، لا يزال من الممكن الوصول إلى حساب التخزين من خلال نقاط النهاية الخاصة به. وبخلاف ذلك، سيتم رفض الطلبات الصالحة إلى نقطة النهاية العامة لحساب التخزين.
انتقل إلى حساب التخزين الذي ترغب في تقييد كل الوصول إلى نقطة النهاية العامة له. في جدول المحتويات الخاص بحساب التخزين، حددالشبكات.
في أعلى الصفحة، حدد الزر التبادلي Enabled from selected virtual networks and IP addresses . سيؤدي ذلك إلى إلغاء إخفاء عدد من الإعدادات للتحكم في تقييد نقطة النهاية العامة. حدد السماح لخدمات Azure في قائمة الخدمات الموثوق بها بالوصول إلى حساب التخزين هذا للسماح خدمات Microsoft الطرف الأول الموثوق به مثل Azure File Sync بالوصول إلى حساب التخزين.
سيرفض الأمر PowerShell التالي كل حركة المرور إلى نقطة النهاية العامة لحساب التخزين. لاحظ أن هذا الأمر يحتوي على المعلمة-Bypassالمعينة إلى AzureServices. سيسمح ذلك لخدمات الطرف الأول الموثوق بها مثل Azure File Sync بالوصول إلى الحساب الخاص بالتخزين عبر نقطة النهاية العامة.
# 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 File Sync بالوصول إلى الحساب الخاص بالتخزين عبر نقطة النهاية العامة.
# 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 الموثوق بها وتقييد الوصول إلى نقطة النهاية العامة لحساب التخزين إلى شبكات ظاهرية معينة
عند تقييد حساب التخزين على شبكات ظاهرية معينة، فإنك تسمح للطلبات إلى نقطة النهاية العامة من داخل الشبكات الظاهرية المحددة. يعمل هذا باستخدام قدرة الشبكة الظاهرية تسمى نقاط نهاية الخدمة. يمكن استخدام هذا مع أو بدون نقاط نهاية خاصة.
انتقل إلى حساب التخزين الذي ترغب في تقييد نقطة النهاية العامة الخاصة به على شبكات افتراضية محددة. في جدول المحتويات الخاص بحساب التخزين، حددالشبكات.
في أعلى الصفحة، حدد الزر التبادلي Enabled from selected virtual networks and IP addresses . سيؤدي ذلك إلى إلغاء إخفاء عدد من الإعدادات للتحكم في تقييد نقطة النهاية العامة. حدد +Add existing virtual network لتحديد الشبكة الظاهرية المحددة التي يجب السماح لها بالوصول إلى حساب التخزين عبر نقطة النهاية العامة. حدد شبكة ظاهرية وشبكة فرعية لتلك الشبكة الظاهرية، ثم حدد تمكين.
حدد السماح لخدمات Azure في قائمة الخدمات الموثوق بها بالوصول إلى حساب التخزين هذا للسماح خدمات Microsoft الطرف الأول الموثوق به مثل Azure File Sync بالوصول إلى حساب التخزين.
لتقييد الوصول إلى نقطة النهاية العامة لحساب التخزين على شبكات افتراضية محددة باستخدام نقاط نهاية الخدمة، نحتاج أولا إلى جمع معلومات حول حساب التخزين والشبكة الافتراضية. املأ <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 نقطة نهاية الخدمة. ستضيف Microsoft.Storage أوامر PowerShell التالية نقطة نهاية الخدمة إلى الشبكة الفرعية إذا لم تكن موجودة بالفعل.
$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 نقطة نهاية الخدمة. ستضيف Microsoft.Storage أوامر CLI التالية نقطة نهاية الخدمة إلى الشبكة الفرعية إذا لم تكن موجودة بالفعل.
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 File Sync من تقييد الوصول إلى شبكات ظاهرية معينة من خلال نقاط النهاية الخاصة فقط؛ لا تدعم Azure File Sync نقاط نهاية الخدمة لتقييد الوصول إلى نقطة النهاية العامة إلى شبكات ظاهرية معينة. وهذا يعني تمكين وتعطيل حالات نقطة النهاية العامة لخدمة مزامنة التخزين.
هام
يجب إنشاء نقطة نهاية خاصة قبل تعطيل الوصول إلى نقطة النهاية العامة. إذا تم تعطيل نقطة النهاية العامة ولم يتم تكوين نقطة نهاية خاصة، فلن تتمكن المزامنة من العمل.
لتعطيل الوصول إلى نقطة النهاية العامة لخدمة مزامنة التخزين، اتبع الخطوات التالية:
- قم بتسجيل الدخول إلى بوابة Azure.
- انتقل إلى Storage Sync Service وحدد Settings>Network من جزء التنقل الأيمن.
- ضمن السماح بالوصول من، حدد نقاط النهاية الخاصة فقط.
- حدد نقطة نهاية خاصة من قائمة اتصالات نقطة النهاية الخاصة.
لتعطيل الوصول إلى نقطة النهاية العامة لخدمة مزامنة التخزين، قم بتعيين الخاصية incomingTrafficPolicy على Storage Sync Service إلى AllowVirtualNetworksOnly. إذا كنت تريد تمكين الوصول إلى نقطة النهاية العامة لخدمة مزامنة التخزين، فقم بتعيين 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 على Storage Sync Service. الرجاء تحديد علامة التبويب Azure PowerShell للحصول على إرشادات حول كيفية تعطيل نقطة النهاية العامة لخدمة مزامنة التخزين.
نهج Azure
يساعد نهج Azure على فرض معايير المؤسسة وتقييم التوافق مقابل تلك المعايير على نطاق واسع. تعرض Azure Files وAzure File Sync العديد من سياسات شبكة التدقيق والمعالجة المفيدة التي تساعدك على مراقبة النشر وأتمتته.
تقوم السياسات بمراجعة بيئتك وتنبيهك في حالة اختلاف حسابات التخزين أو خدمات مزامنة التخزين عن السلوك المحدد. على سبيل المثال، إذا تم تمكين نقطة نهاية عامة عند تعيين النهج الخاص بك لتعطيل نقاط النهاية العامة. يؤدي تعديل/توزيع النهج إلى اتخاذ الأمور خطوة إلى الأمام وتعديل مورد بشكل استباقي (مثل Storage Sync Service) أو توزيع الموارد (مثل نقاط النهاية الخاصة) للتوافق مع النهج.
تتوفر النهج المحددة مسبقا التالية لملفات Azure ومزامنة ملفات Azure:
| الإجراء |
الخدمة |
الشرط |
اسم السياسة |
| Audit |
ملفات Azure |
تم تمكين نقطة النهاية العامة لحساب التخزين. راجع منح حق الوصول إلى خدمات Azure الموثوق بها وتعطيل الوصول إلى نقطة النهاية العامة لحساب التخزين لمزيد من المعلومات. |
يجب أن تقيد حسابات التخزين الوصول إلى الشبكة |
| Audit |
"Azure File Sync" |
تم تمكين نقطة النهاية العامة لخدمة مزامنة التخزين. راجع تعطيل الوصول إلى نقطة النهاية العامة لخدمة مزامنة التخزين للحصول على مزيد من المعلومات. |
يجب تعطيل الوصول إلى الشبكة العامة لـ Azure File Sync |
| Audit |
ملفات Azure |
يحتاج حساب التخزين إلى نقطة نهاية خاصة واحدة على الأقل. راجع إنشاء نقطة نهاية خاصة بحساب التخزين لمزيد من المعلومات. |
يجب أن يستخدم حساب التخزين اتصال ارتباط خاص |
| Audit |
"Azure File Sync" |
تحتاج خدمة مزامنة التخزين إلى نقطة نهاية خاصة واحدة على الأقل. راجع إنشاء نقطة نهاية خاصة لخدمة مزامنة التخزين لمزيد من المعلومات. |
يجب أن تستخدم خدمة Azure File Sync رابطًا خاصًا |
| تعديل |
"Azure File Sync" |
قم بتعطيل نقطة النهاية العامة لخدمة مزامنة التخزين. |
تعديل - تكوين Azure File Sync لتعطيل إمكانية الوصول إلى الشبكة العامة |
| نشر |
"Azure File Sync" |
نشر نقطة نهاية خاصة لخدمة مزامنة التخزين. |
تكوين Azure File Sync باستخدام نقاط النهاية الخاصة |
| نشر |
"Azure File Sync" |
نشر سجل A إلى منطقة DNS privatelink.afs.azure.net. |
تكوين Azure File Sync لاستخدام مناطق نظام أسماء النطاقات الخاصة |
إعداد نهج نشر نقطة نهاية خاصة
لإعداد نهج نشر نقطة نهاية خاصة، انتقل إلى مدخل Azure، وابحث عن النهج. يجب أن يكون مركز نهج Azure نتيجة أعلى. انتقل إلى تأليف> التعريفات في جدول محتويات مركز السياسات. يحتوي جزء التعريفات الناتج على النهج المحددة مسبقا عبر كافة خدمات Azure. للعثور على النهج المحدد، حدد فئة التخزين في عامل تصفية الفئات، أو ابحث عن تكوين Azure File Sync مع نقاط النهاية الخاصة. حدد ...وتعيين لإنشاء نهج جديد من التعريف.
تمكنك شفرة الأساسيات الخاصة بمعالج تعيين النهج من تعيين قائمة استبعاد نطاق أو مورد أو مجموعة موارد، ومنح النهج الخاص بك اسما مألوفا لمساعدتك في تمييزه. لست بحاجة إلى تعديلها حتى يعمل النهج، ولكن يمكنك ذلك إذا كنت ترغب في إجراء تعديلات. حدد التالي للتقدم إلى صفحة المعلمات.
على شفرة المعلمات، حدد ... بجوار القائمة المنسدلة privateEndpointSubnetId لتحديد الشبكة الظاهرية والشبكة الفرعية حيث يجب نشر نقاط النهاية الخاصة لموارد خدمة مزامنة التخزين. قد يستغرق المعالج الناتج عدة ثوان لتحميل الشبكات الظاهرية المتوفرة في اشتراكك. حدد الشبكة/الشبكة الفرعية الظاهرية المناسبة لبيئتك وانقر فوق تحديد. حدد التالي للتقدم إلى شفرة المعالجة.
لكي يتم نشر نقطة النهاية الخاصة عند تحديد خدمة مزامنة التخزين بدون نقطة نهاية خاصة، يجب تحديد مهمة إنشاء معالجة في صفحة المعالجة. وأخيرا، حدد مراجعة + إنشاء لمراجعة تعيين النهج وإنشاء لإنشائه.
سيتم تنفيذ تعيين النهج الناتج على أساس دوري وقد لا يتم تشغيله مباشرة بعد إنشائه.
(راجع أيضًا )