Restricción de la importación y exportación de discos administrados con vínculos privados

Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjuntos de escalado flexibles

Use puntos de conexión privados para restringir la importación y exportación de discos administrados. Acceda de forma segura a los datos a través de Private Link desde los clientes de la red virtual Azure. El punto de conexión privado usa una dirección IP del espacio de direcciones de la red virtual para el servicio Managed Disks. El tráfico entre los clientes de la red virtual y los discos administrados permanece en la red virtual y un vínculo privado en la red troncal de Microsoft, lo que reduce la exposición a la red pública de Internet.

Para usar Private Links para la importación o exportación de discos administrados, cree un recurso de acceso a disco y vincule a una red virtual en la misma suscripción mediante la creación de un punto de conexión privado. A continuación, asocie un disco o una instantánea a un recurso de acceso a disco. Por último, establezca la directiva de acceso a la red del disco o de la instantánea en AllowPrivate para limitar el acceso a su red virtual.

Establezca la directiva de acceso a la red en DenyAll para evitar que nadie exporte datos de un disco o de una instantánea. La directiva de acceso de red predeterminada es AllowAll.

Prerequisites

Antes de empezar, instale el módulo de CLI de Azure o Azure PowerShell más reciente.

Limitaciones

  • No se pueden importar ni exportar más de 100 discos o instantáneas al mismo tiempo con el mismo recurso de acceso al disco.
  • No se puede subir a un disco con un recurso de acceso al disco y un conjunto de cifrado de disco.
  • Además de los destinos de escalado que se aplican a discos individuales, los recursos de acceso a discos tienen más destinos de escalado centrados en la entrada y salida de datos. Estos límites se aplican acumulativamente a todos los discos asociados a un recurso de acceso a disco. Para obtener más información, consulte aquí.
  • El recurso de acceso al disco debe estar en la misma región y suscripción que el disco al que se asocia.

Inicio de sesión y establecimiento de variables

Elija una pestaña para usar CLI de Azure o Azure PowerShell.

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

Creación de un recurso de acceso a disco

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

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

Creación de una red virtual

Las directivas de red, como los grupos de seguridad de red (NSGs), no se admiten para los puntos de conexión privados. Para implementar un punto de conexión privado en una subred, deshabilite las directivas de red de punto de conexión privado en esa subred.

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

Creación de un punto de conexión privado para el recurso de acceso al disco

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

Configuración de la zona DNS privada

Cree una zona DNS privada para el dominio de blob de almacenamiento, cree un vínculo de red virtual y, a continuación, cree un grupo de zonas DNS que asocie el punto de conexión privado a la zona DNS privada.

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

Pasos siguientes