Begränsa import- och exportåtkomst för hanterade diskar med hjälp av Private Link

Gäller för: ✔️ Virtuella Linux-datorer ✔️ Virtuella Windows-datorer ✔️ Flexibla skalningsuppsättningar

Använd privata slutpunkter för att begränsa import och export av hanterade diskar. Få säker åtkomst till data via Azure Private Link från klienter i ditt Azure virtuella nätverk. Den privata slutpunkten använder en IP-adress från adressutrymmet för ditt virtuella nätverk för tjänsten för hanterade diskar. Trafik mellan klienter i ditt virtuella nätverk och hanterade diskar finns kvar i det virtuella nätverket och Private Link på Microsoft stamnätverk, vilket minskar exponeringen för det offentliga Internet.

Den här artikeln visar hur du konfigurerar Private Link för import och export av hanterade diskar med hjälp av Azure CLI eller Azure PowerShell. Skapa en diskåtkomstresurs och länka den till ett virtuellt nätverk i samma prenumeration genom att skapa en privat slutpunkt. Associera sedan en disk eller ögonblicksbild med diskåtkomstresursen. Slutligen ställer du in principen för nätverksåtkomst för disken eller ögonblicksbilden till AllowPrivate för att begränsa åtkomsten till ditt virtuella nätverk.

Ange principen för nätverksåtkomst till DenyAll för att förhindra att någon exporterar data från en disk eller ögonblicksbild. Standardprincipen för nätverksåtkomst är AllowAll.

Förutsättningar

Innan du börjar installerar du den senaste modulen Azure CLI eller Azure PowerShell.

Begränsningar

  • Du kan inte importera eller exportera fler än 100 diskar eller ögonblicksbilder samtidigt med samma diskåtkomstresurs
  • Du kan inte ladda upp till en disk med både en diskåtkomstresurs och en diskkrypteringsuppsättning
  • Förutom de skalningsmål som gäller för enskilda diskar har diskåtkomstresurser fler skalningsmål som är centrerade kring inkommande/utgående data. Dessa gränser gäller kumulativt för alla diskar som är associerade med en diskåtkomstresurs. Mer information finns här
  • Diskåtkomstresursen måste finnas i samma region och prenumeration som den disk som du associerar den med

Logga in och ange variabler

Välj en flik för att använda Azure CLI eller Azure PowerShell. Ange värden för din prenumeration, resursgrupp, region, diskåtkomstresurs, virtuellt nätverk, undernät, privat slutpunkt och privat DNS-zon. De återstående procedurerna återanvänder dessa variabler. Om du vill skapa en skyddad ögonblicksbild anger du även namnet på en befintlig källdisk och ett namn på den nya ögonblicksbilden.

subscriptionId=yourSubscriptionId
resourceGroupName=yourResourceGroupName
region=northcentralus
diskAccessName=yourDiskAccessForPrivateLink
vnetName=yourVnetForPrivateLink
subnetName=yourSubnetForPrivateLink
privateEndpointName=yourPrivateEndpointForSecureMDExportImport
privateEndpointConnectionName=yourPrivateEndpointConnection
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 Link.
snapshotNameSecuredWithPrivateLink=yourSnapshotNameSecuredWithPrivateLink

az login
az account set --subscription $subscriptionId

Skapa en diskåtkomstresurs

Använd resursnamnet för resursgruppen, regionen och diskåtkomsten som du definierade tidigare. Kommandot az disk-access create skapar diskåtkomstresursen. Sedan lagrar az disk-access show sitt resurs-ID i $diskAccessId för senare procedurer.

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

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

Skapa ett virtuellt nätverk

Nätverksprinciper som nätverkssäkerhetsgrupper (NSG:er) stöds inte för privata slutpunkter. Om du vill distribuera en privat slutpunkt i ett undernät inaktiverar du privata slutpunktsnätverksprinciper i det undernätet.

Använd resursgruppen, det virtuella nätverket och undernätsnamnen som du definierade tidigare. Kommandot az network vnet create skapar det virtuella nätverket och undernätet. Sedan inaktiverar az network vnet subnet update privata slutpunktsnätverksprinciper i undernätet.

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

Skapa en privat slutpunkt för diskåtkomstresursen

Använd resursgruppen, den privata slutpunkten, det virtuella nätverket, undernätet och anslutningsnamnen som du definierade tidigare. Den här proceduren använder $diskAccessId också från resursproceduren för diskåtkomst. Kommandot az network private-endpoint create skapar en privat slutpunkt för diskåtkomstresursen.

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

Konfigurera den privata DNS-zonen

Skapa en privat DNS-zon för lagringsblobdomänen, skapa en virtuell nätverkslänk och skapa sedan en DNS-zongrupp som associerar den privata slutpunkten med den privata DNS-zonen.

Använd resursgruppen, den privata DNS-zonen, länken för virtuellt nätverk, den privata slutpunkten och dns-zongruppens namn som du definierade tidigare. Följande kommandon skapar den privata DNS-zonen, länkar den till det virtuella nätverket och associerar den med den privata slutpunkten.

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

Definiera namnet på den hanterade disken, lagrings-SKU:n och storleken för den här proceduren. Proceduren återanvänder resursnamnet för resursgruppen, regionen och diskåtkomsten som du definierade tidigare. Kommandot az disk create skapar en tom hanterad disk, associerar den med diskåtkomstresursen och anger nätverksåtkomstprincipen till AllowPrivate.

# 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

Använd den befintliga källdisken, den nya ögonblicksbilden, resursgruppen, regionen och resursnamnen för diskåtkomst som du definierade tidigare. Kommandot az disk show hämtar källdisk-ID:t. Sedan skapar az snapshot create ögonblicksbilden, associerar den med diskåtkomstresursen och anger dess nätverksåtkomstprincip till AllowPrivate.

# 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 $snapshotNameSecuredWithPrivateLink \
    -g $resourceGroupName \
    -l $region \
    --source $diskId \
    --network-access-policy AllowPrivate \
    --disk-access $diskAccessId

Nästa steg