Azure CLI - تقييد وصول الاستيراد/التصدير للأقراص المدارة باستخدام روابط خاصة

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة

يمكنك استخدام نقاط النهاية الخاصة لتقييد تصدير واستيراد الأقراص المدارة والوصول إلى البيانات بأمان من خلال رابط خاص من العملاء على شبكة Azure الظاهرية. تستخدم نقطة النهاية الخاصة عنوان IP من مساحة عنوان الشبكة الظاهرية لخدمة الأقراص المدارة. استخدام الشبكة بين العملاء على الشبكة الافتراضية والأقراص المدارة فقط عبر الشبكة الظاهرية ورابط خاص على شبكة Microsoft الأساسية، مما يلغي التعرض من الإنترنت العام.

من أجل استخدام الروابط الخاصة لتصدير/استيراد الأقراص المدارة، تقوم أولًا بإنشاء مورد الوصول إلى القرص وربطه بشبكة ظاهرية في نفس الاشتراك عن طريق إنشاء نقطة نهاية خاصة. ثم إقران قرص أو لقطة شاشة مع مثيل الوصول إلى القرص. وأخيرا، تعيين خاصية NetworkAccessPolicy للقرص أو لقطة الشاشة إلى AllowPrivate . سيؤدي هذا إلى تقييد الوصول إلى الشبكة الظاهرية.

يمكنك تعيين خاصية NetworkAccessPolicy DenyAll لمنع أي شخص من تصدير بيانات قرص أو لقطة شاشة. القيمة الافتراضية لخاصية NetworkAccessPolicy هي AllowAll .

القيود

  • لا يمكنك استيراد أو تصدير أكثر من خمسة أقراص أو لقطات في نفس الوقت باستخدام نفس كائن الوصول إلى القرص.
  • لا يمكنك التحميل إلى قرص مع كل من كائن الوصول إلى القرص ومجموعة تشفير القرص.

تسجيل الدخول إلى الاشتراك الخاص بك وتعيين المتغيرات الخاصة بك

subscriptionId=yourSubscriptionId
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessForPrivateLinks
vnetName=yourVNETForPrivateLinks
subnetName=yourSubnetForPrivateLinks
privateEndPointName=yourPrivateLinkForSecureMDExportImport
privateEndPointConnectionName=yourPrivateLinkConnection

#The name of an existing disk which is the source of the snapshot
sourceDiskName=yourSourceDiskForSnapshot

#The name of the new snapshot which will be secured via Private Links
snapshotNameSecuredWithPL=yourSnapshotNameSecuredWithPL

az login

az account set --subscription $subscriptionId

إنشاء وصول القرص باستخدام Azure CLI

az disk-access create -n $diskAccessName -g $resourceGroupName -l $region

diskAccessId=$(az disk-access show -n $diskAccessName -g $resourceGroupName --query [id] -o tsv)

إنشاء شبكة ظاهرية.

نهج الشبكة مثل مجموعات أمان الشبكة (NSG) غير مدعومة لنقاط النهاية الخاصة. لنشر نقطة نهاية خاصة على شبكة فرعية معينة، يلزم إعدادات التعطيل الصريح على تلك الشبكة الفرعية.

az network vnet create --resource-group $resourceGroupName \
    --name $vnetName \
    --subnet-name $subnetName

تعطيل نهج نقطة النهاية الخاصة بالشبكة الفرعية

يقوم Azure بنشر الموارد على شبكة فرعية داخل شبكة ظاهرية، لذا تحتاج إلى تحديث الشبكة الفرعية لتعطيل نهج شبكة نقطة النهاية الخاصة.

az network vnet subnet update --resource-group $resourceGroupName \
    --name $subnetName  \
    --vnet-name $vnetName \
    --disable-private-endpoint-network-policies true

إنشاء نقطة نهاية خاصة لكائن الوصول إلى القرص

az network private-endpoint create --resource-group $resourceGroupName \
    --name $privateEndPointName \
    --vnet-name $vnetName  \
    --subnet $subnetName \
    --private-connection-resource-id $diskAccessId \
    --group-ids disks \
    --connection-name $privateEndPointConnectionName

تكوين منطقة DNS الخاصة

إنشاء منطقة DNS خاصة لنطاق تخزين blob وإنشاء رابط اقتران مع الشبكة الظاهرية وإنشاء مجموعة منطقة DNS لربط نقطة النهاية الخاصة مع منطقة DNS الخاصة.

az network private-dns zone create --resource-group $resourceGroupName \
    --name "privatelink.blob.core.windows.net"

az network private-dns link vnet create --resource-group $resourceGroupName \
    --zone-name "privatelink.blob.core.windows.net" \
    --name yourDNSLink \
    --virtual-network $vnetName \
    --registration-enabled false 

az network private-endpoint dns-zone-group create \
   --resource-group $resourceGroupName \
   --endpoint-name $privateEndPointName \
   --name yourZoneGroup \
   --private-dns-zone "privatelink.blob.core.windows.net" \
   --zone-name disks
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessName
diskName=yourDiskName
diskSkuName=Standard_LRS
diskSizeGB=128

diskAccessId=$(az resource show -n $diskAccessName -g $resourceGroupName --namespace Microsoft.Compute --resource-type diskAccesses --query [id] -o tsv)

az disk create -n $diskName \
-g $resourceGroupName \
-l $region \
--size-gb $diskSizeGB \
--sku $diskSkuName \
--network-access-policy AllowPrivate \
--disk-access $diskAccessId 
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessName
sourceDiskName=yourSourceDiskForSnapshot
snapshotNameSecuredWithPL=yourSnapshotName

diskId=$(az disk show -n $sourceDiskName -g $resourceGroupName --query [id] -o tsv)

diskAccessId=$(az resource show -n $diskAccessName -g $resourceGroupName --namespace Microsoft.Compute --resource-type diskAccesses --query [id] -o tsv)

az snapshot create -n $snapshotNameSecuredWithPL \
-g $resourceGroupName \
-l $region \
--source $diskId \
--network-access-policy AllowPrivate \
--disk-access $diskAccessId 

الخطوات التالية