Azure CLI – Omezení přístupu k importu a exportu pro spravované disky pomocí privátních propojení

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

Privátní koncové body můžete použít k omezení exportu a importu spravovaných disků a bezpečnému přístupu k datům přes Private Link z klientů ve vaší virtuální síti Azure. Privátní koncový bod používá IP adresu z adresního prostoru virtuální sítě pro vaši službu spravovaných disků. Síťový provoz mezi klienty ve své virtuální síti a spravovanými disky prochází pouze přes virtuální síť a privátní propojení v páteřní síti Microsoftu, čímž se eliminuje vystavení z veřejného internetu.

Pokud chcete k exportu nebo importu spravovaných disků použít privátní propojení, nejprve vytvoříte prostředek pro přístup k disku a propojíte ho s virtuální sítí ve stejném předplatném vytvořením privátního koncového bodu. Potom přidružte disk nebo snímek k instanci přístupu k disku. Nakonec nastavte vlastnost NetworkAccessPolicy disku nebo snímku na AllowPrivatehodnotu . Tím se omezí přístup k vaší virtuální síti.

Vlastnost NetworkAccessPolicy můžete nastavit tak, aby DenyAll zabránila komukoli v exportu dat disku nebo snímku. Výchozí hodnota vlastnosti NetworkAccessPolicy je AllowAll.

Omezení

  • Nemůžete importovat nebo exportovat více než pět disků nebo snímků současně se stejným objektem přístupu k disku.
  • Na disk s objektem pro přístup k disku a sadou šifrování disku se nedá nahrát.

Přihlaste se k předplatnému a nastavte proměnné.

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

Vytvoření přístupu k disku pomocí Azure CLI

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

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

Vytvoření virtuální sítě

Zásady sítě, jako jsou skupiny zabezpečení sítě (NSG), se pro privátní koncové body nepodporují. K nasazení privátního koncového bodu v dané podsíti se v této podsíti vyžaduje explicitní nastavení zákazu.

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

Zakázání zásad privátního koncového bodu podsítě

Azure nasadí prostředky do podsítě v rámci virtuální sítě, takže je potřeba aktualizovat podsíť tak, aby zakázala zásady sítě privátních koncových bodů.

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

Vytvoření privátního koncového bodu pro objekt přístupu k disku

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

Konfigurace zóny Privátní DNS

Vytvořte zónu Privátní DNS pro doménu objektů blob úložiště, vytvořte propojení přidružení s virtuální sítí a vytvořte skupinu zón DNS, která přidruží privátní koncový bod k zóně Privátní 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 

Další kroky