Einschränken des Imports und Exportierens verwalteter Datenträger mit privaten Links

Gilt für: ✔️ Linux-VMs ✔️ Windows-VMs ✔️ Flexible Skalierungsgruppen

Verwenden Sie private Endpunkte, um den Import und Export des verwalteten Datenträgers einzuschränken. Sicherer Zugriff auf Daten über Private Link von Clients in Ihrem Azure virtuellen Netzwerk. Der private Endpunkt verwendet eine IP-Adresse aus dem Adressraum Ihres virtuellen Netzwerks für Ihren Dienst für verwaltete Datenträger. Der Datenverkehr zwischen Clients in Ihrem virtuellen Netzwerk und verwalteten Datenträgern bleibt innerhalb des virtuellen Netzwerks sowie über eine private Verbindung im Backbone-Netzwerk von Microsoft, wodurch die Exposition gegenüber dem öffentlichen Internet verringert wird.

Wenn Sie private Links für den Import oder Export verwalteter Datenträger verwenden möchten, erstellen Sie eine Datenträgerzugriffsressource, und verknüpfen Sie sie mit einem virtuellen Netzwerk im selben Abonnement, indem Sie einen privaten Endpunkt erstellen. Ordnen Sie dann einen Datenträger oder eine Momentaufnahme einer Datenträgerzugriffsressource zu. Legen Sie schließlich die Netzwerkzugriffsrichtlinie des Datenträgers oder Snapshots auf AllowPrivate fest, um den Netzwerkzugriff auf Ihr virtuelles Netzwerk einzuschränken.

Legen Sie die Netzwerkzugriffsrichtlinie auf DenyAll fest, um zu verhindern, dass jemand Daten von einem Datenträger oder einer Momentaufnahme exportiert. Die Standardrichtlinie für den Netzwerkzugriff lautet AllowAll.

Voraussetzungen

Bevor Sie beginnen, installieren Sie das neueste Azure CLI oder Azure PowerShell Modul.

Begrenzungen

  • Sie können nicht mehr als 100 Datenträger oder Momentaufnahmen gleichzeitig mit derselben Datenträgerzugriffsressource importieren oder exportieren.
  • Sie können nicht auf einen Datenträger mit einer Datenträgerzugriffsressource und einem Datenträgerverschlüsselungssatz hochladen.
  • Zusätzlich zu den Skalierungszielen, die für einzelne Datenträger gelten, weisen Datenträgerzugriffsressourcen mehr Skalierungsziele auf, die sich um den Ausgang/Ausgang von Daten zentrieren. Diese Grenzwerte gelten kumulativ für alle Datenträger, die einer Datenträgerzugriffsressource zugeordnet sind. Ausführliche Informationen finden Sie hier
  • Die Datenträgerzugriffsressource muss sich in derselben Region und demselben Abonnement wie der Datenträger befinden, dem Sie sie zuordnen.

Anmelden und Festlegen von Variablen

Wählen Sie eine Registerkarte aus, um Azure CLI oder Azure PowerShell zu verwenden.

subscriptionId=yourSubscriptionId
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessForPrivateLinks
vnetName=yourVNETForPrivateLinks
subnetName=yourSubnetForPrivateLinks
privateEndPointName=yourPrivateLinkForSecureMDExportImport
privateEndPointConnectionName=yourPrivateLinkConnection
privateDnsZoneName=privatelink.blob.core.windows.net
privateDnsZoneLinkName=yourDNSLink
privateDnsZoneGroupName=yourZoneGroup

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

# The name of the new snapshot secured with Private Links.
snapshotNameSecuredWithPL=yourSnapshotNameSecuredWithPL

az login
az account set --subscription $subscriptionId

Erstellen einer Datenträgerzugriffsressource

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

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

Erstellen eines virtuellen Netzwerks

Netzwerkrichtlinien wie Netzwerksicherheitsgruppen (NSGs) werden für private Endpunkte nicht unterstützt. Um einen privaten Endpunkt in einem Subnetz bereitzustellen, deaktivieren Sie richtlinien für private Endpunkte in diesem Subnetz.

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

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

Erstellen eines privaten Endpunkts für die Datenträgerzugriffsressource

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

Konfigurieren der privaten DNS-Zone

Erstellen Sie eine private DNS-Zone für die Speicher-BLOB-Domäne, erstellen Sie eine virtuelle Netzwerkverbindung, und erstellen Sie dann eine DNS-Zonengruppe, die den privaten Endpunkt der privaten DNS-Zone zuordnet.

az network private-dns zone create --resource-group $resourceGroupName \
    --name $privateDnsZoneName

az network private-dns link vnet create --resource-group $resourceGroupName \
    --zone-name $privateDnsZoneName \
    --name $privateDnsZoneLinkName \
    --virtual-network $vnetName \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
   --resource-group $resourceGroupName \
   --endpoint-name $privateEndPointName \
   --name $privateDnsZoneGroupName \
   --private-dns-zone $privateDnsZoneName \
   --zone-name disks
# These variables are specific to this step.
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
# This step reuses variables defined in the first CLI sample.

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

Nächste Schritte