Azure CLI - Özel Bağlantı ile yönetilen diskler için içeri/dışarı aktarma erişimini kısıtlama

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Yönetilen disklerin dışarı ve içeri aktarılmasını kısıtlamak ve Azure sanal ağınızdaki istemcilerden bir Özel Bağlantı üzerinden verilere güvenli bir şekilde erişmek için özel uç noktaları kullanabilirsiniz. Özel uç nokta, yönetilen diskler hizmetiniz için sanal ağ adres alanından bir IP adresi kullanır. Sanal ağlarındaki istemcilerle yönetilen diskler arasındaki ağ trafiği yalnızca sanal ağ üzerinden ve Microsoft omurga ağındaki özel bir bağlantı üzerinden geçiş yaparak genel İnternet'ten etkilenmeyi ortadan kaldırır.

yönetilen diskleri dışarı/içeri aktarmak için Özel Bağlantı kullanmak için önce bir disk erişim kaynağı oluşturur ve özel uç nokta oluşturarak bunu aynı abonelikteki bir sanal ağa bağlarsınız. Ardından, bir diski veya anlık görüntüyü disk erişimi örneğiyle ilişkilendirin. Son olarak, diskin Veya anlık görüntünün NetworkAccessPolicy özelliğini olarak AllowPrivateayarlayın. Bu, sanal ağınıza erişimi sınırlandıracaktır.

Herhangi birinin disk veya anlık görüntü verilerini dışarı aktarmasını önlemek için NetworkAccessPolicy özelliğini DenyAll olarak ayarlayabilirsiniz. NetworkAccessPolicy özelliğinin varsayılan değeridir AllowAll.

Sınırlamalar

  • Aynı disk erişim nesnesiyle aynı anda beşten fazla diski veya anlık görüntüyü içeri veya dışarı aktaramazsınız.
  • Hem disk erişim nesnesi hem de disk şifreleme kümesi olan bir diske yükleyemezsiniz.

Aboneliğinizde oturum açın ve değişkenlerinizi ayarlayın

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

Azure CLI kullanarak disk erişimi oluşturma

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

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

Sanal Ağ Oluşturma

Ağ güvenlik grupları (NSG) gibi ağ ilkeleri özel uç noktalar için desteklenmez. Belirli bir alt ağa Özel Uç Nokta dağıtmak için bu alt ağda açık bir devre dışı bırakma ayarı gerekir.

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

Alt ağ özel uç nokta ilkelerini devre dışı bırakma

Azure, kaynakları sanal ağ içindeki bir alt ağa dağıtır, bu nedenle özel uç nokta ağ ilkelerini devre dışı bırakmak için alt ağı güncelleştirmeniz gerekir.

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

Disk erişim nesnesi için özel uç nokta oluşturma

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

Özel DNS Bölgesini Yapılandırma

Depolama blob etki alanı için bir Özel DNS Bölgesi oluşturun, Sanal Ağ ile bir ilişkilendirme bağlantısı oluşturun ve özel uç noktayı Özel DNS Bölgesi ile ilişkilendirmek için bir DNS Bölge Grubu oluşturun.

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 

Sonraki adımlar