Udostępnij za pośrednictwem


Interfejs wiersza polecenia platformy Azure — ograniczanie dostępu importu/eksportu dla dysków zarządzanych za pomocą linków prywatnych

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️

Za pomocą prywatnych punktów końcowych można ograniczyć eksportowanie i importowanie dysków zarządzanych oraz bezpiecznie uzyskiwać dostęp do danych za pośrednictwem usługi Private Link od klientów w sieci wirtualnej platformy Azure. Prywatny punkt końcowy używa adresu IP z przestrzeni adresowej sieci wirtualnej dla usługi dysków zarządzanych. Ruch sieciowy między klientami w sieci wirtualnej i dyskach zarządzanych przechodzi tylko przez sieć wirtualną i łącze prywatne w sieci szkieletowej firmy Microsoft, eliminując narażenie z publicznego Internetu.

Aby użyć linków prywatnych do eksportowania/importowania dysków zarządzanych, najpierw należy utworzyć zasób dostępu do dysku i połączyć go z siecią wirtualną w tej samej subskrypcji, tworząc prywatny punkt końcowy. Następnie skojarz dysk lub migawkę z wystąpieniem dostępu do dysku. Na koniec ustaw właściwość NetworkAccessPolicy dysku lub migawki na wartość AllowPrivate. Spowoduje to ograniczenie dostępu do sieci wirtualnej.

Możesz ustawić właściwość NetworkAccessPolicy, aby uniemożliwić DenyAll komukolwiek eksportowanie danych z dysku lub migawki. Wartość domyślna właściwości NetworkAccessPolicy to AllowAll.

Ograniczenia

  • Nie można jednocześnie importować ani eksportować więcej niż pięciu dysków ani migawek z tym samym obiektem dostępu do dysku.
  • Nie można przekazać na dysk zarówno obiektu dostępu do dysku, jak i zestawu szyfrowania dysków.

Zaloguj się do subskrypcji i ustaw zmienne

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

Tworzenie dostępu do dysku przy użyciu interfejsu wiersza polecenia platformy Azure

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

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

Tworzenie sieci wirtualnej

Zasady sieciowe, takie jak sieciowe grupy zabezpieczeń, nie są obsługiwane w przypadku prywatnych punktów końcowych. Aby wdrożyć prywatny punkt końcowy w danej podsieci, wymagane jest jawne ustawienie wyłączenia w tej podsieci.

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

Wyłącz zasady prywatnego punktu końcowego podsieci

Platforma Azure wdraża zasoby w podsieci w sieci wirtualnej, dlatego należy zaktualizować podsieć, aby wyłączyć zasady sieci prywatnego punktu końcowego.

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

Tworzenie prywatnego punktu końcowego dla obiektu dostępu do dysku

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

Konfigurowanie strefy Prywatna strefa DNS

Utwórz prywatną strefę DNS dla domeny obiektu blob magazynu, utwórz link skojarzenia z siecią wirtualną i utwórz grupę stref DNS w celu skojarzenia prywatnego punktu końcowego z prywatną strefą 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 

Następne kroki