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 AllowPrivatewartość . Spowoduje to ograniczenie dostępu do sieci wirtualnej.

Możesz ustawić właściwość NetworkAccessPolicy, aby uniemożliwić DenyAll nikomu eksportowanie danych 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łączanie zasad 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 strefę Prywatna strefa DNS dla domeny obiektu blob usługi Storage, utwórz link skojarzenia z siecią wirtualną i utwórz grupę stref DNS w celu skojarzenia prywatnego punktu końcowego z strefą Prywatna strefa 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