Interfaccia della riga di comando di Azure: limitare l'accesso di importazione/esportazione per i dischi gestiti con collegamenti privati
Si applica a: ✔️ macchine virtuali di Linux ✔️ set di scalabilità flessibili
È possibile usare endpoint privati per limitare l'esportazione e l'importazione di dischi gestiti e accedere in modo sicuro ai dati tramite un collegamento privato dai client nella rete virtuale di Azure. L'endpoint privato usa un indirizzo IP dello spazio di indirizzi della rete virtuale per il servizio Managed Disks. Il traffico di rete tra i client nella rete virtuale e i dischi gestiti passa soltanto attraverso la rete virtuale e un collegamento privato sulla rete backbone Microsoft, eliminando l'esposizione alla rete Internet pubblica.
Per usare i Collegamenti privati per esportare/importare i dischi gestiti, creare prima di tutto una risorsa di accesso al disco e collegarla a una rete virtuale nella stessa sottoscrizione creando un endpoint privato. Quindi, associare un disco o uno snapshot a un'istanza di accesso al disco. Infine, impostare la proprietà NetworkAccessPolicy del disco o dello snapshot su AllowPrivate
. In questo modo si limiterà l'accesso alla rete virtuale.
È possibile impostare la proprietà NetworkAccessPolicy su DenyAll
per impedire a chiunque di esportare i dati di un disco o uno snapshot. Il valore predefinito per la proprietà NetworkAccessPolicy è AllowAll
.
Limiti
- Non è possibile importare o esportare più di cinque dischi o snapshot contemporaneamente con lo stesso oggetto accesso al disco.
- Non è possibile caricare in un disco con un oggetto accesso al disco e un set di crittografia del disco.
Accedere alla sottoscrizione e impostare le variabili
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
Creare un accesso al disco usando l'interfaccia della riga di comando
az disk-access create -n $diskAccessName -g $resourceGroupName -l $region
diskAccessId=$(az disk-access show -n $diskAccessName -g $resourceGroupName --query [id] -o tsv)
Creare una rete virtuale
I criteri di rete come i gruppi di sicurezza di rete (NSG) non sono supportati per gli endpoint privati. Per distribuire un endpoint privato in una determinata subnet, è necessaria un'impostazione di disabilitazione esplicita in tale subnet.
az network vnet create --resource-group $resourceGroupName \
--name $vnetName \
--subnet-name $subnetName
Disabilitare i criteri per gli endpoint privati della subnet
Azure distribuisce le risorse in una subnet all'interno di una rete virtuale, di conseguenza è necessario aggiornare la subnet per disabilitare i criteri di rete per gli endpoint privati.
az network vnet subnet update --resource-group $resourceGroupName \
--name $subnetName \
--vnet-name $vnetName \
--disable-private-endpoint-network-policies true
Creare un endpoint privato per l'oggetto accesso 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
Configurare la zona DNS privato
Creare una zona DNS privato per il dominio del BLOB del servizio di archiviazione, quindi creare un collegamento di associazione con la rete virtuale e creare un gruppo di zone DNS per associare l'endpoint privato con la zona DNS privato.
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
Creare un disco protetto con i collegamenti privati
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
Creare uno snapshot di un disco protetto con i collegamenti privati
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
Passaggi successivi
- Caricare un disco rigido virtuale in Azure o copiare un disco gestito in un'altra area - Interfaccia della riga di comando di Azure o modulo di Azure PowerShell
- Scaricare un disco rigido virtuale - Windows o Linux
- Domande frequenti sui collegamenti privati
- Esportare/copiare snapshot gestiti come disco rigido virtuale in un account di archiviazione di un'area diversa con l'interfaccia della riga di comando