Bagikan melalui


Azure CLI - Membatasi akses impor/ekspor untuk disk terkelola dengan Private Links

Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel

Anda dapat menggunakan titik akhir privat untuk membatasi ekspor dan impor disk terkelola dan mengakses data dengan aman melalui Private Link dari klien di jaringan virtual Azure Anda. Titik akhir privat menggunakan alamat IP dari ruang alamat jaringan virtual untuk layanan disk terkelola Anda. Trafik jaringan antara klien di jaringan virtual mereka dan disk yang dikelola hanya melewati jaringan virtual dan tautan privat pada jaringan backbone Microsoft, sehingga menghilangkan paparan dari internet publik.

Untuk menggunakan Private Links untuk mengekspor/mengimpor disk terkelola, pertama-tama Anda membuat sumber daya akses disk dan menautkannya ke jaringan virtual dalam langganan yang sama dengan membuat titik akhir privat. Kemudian, kaitkan disk atau rekam jepret dengan instans akses disk. Terakhir, atur properti NetworkAccessPolicy dari disk atau rekam jepret ke AllowPrivate. Ini akan membatasi akses ke jaringan virtual Anda.

Anda dapat mengatur properti NetworkAccessPolicy ke DenyAll untuk mencegah siapa pun mengekspor data disk atau rekam jepret. Nilai default untuk properti NetworkAccessPolicy adalah AllowAll.

Keterbatasan

  • Anda tidak dapat mengimpor atau mengekspor lebih dari 100 disk atau rekam jepret secara bersamaan dengan sumber daya akses disk yang sama
  • Anda tidak dapat mengunggah ke sebuah disk yang memiliki sumber daya akses dan set enkripsi disk sekaligus.
  • Selain target skala yang berlaku untuk setiap disk, sumber daya untuk mengakses disk memiliki lebih banyak target skala yang berfokus pada arus masuk/keluar data. Batas ini berlaku secara kumulatif untuk semua disk yang terkait dengan sumber daya akses disk. Untuk detailnya lihat di sini

Masuk ke langganan Anda dan atur variabel Anda

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

Membuat akses disk menggunakan 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)

Buat Jaringan Virtual

Kebijakan jaringan seperti grup keamanan jaringan (NSG) tidak didukung untuk titik akhir privat. Untuk menyebarkan Titik Akhir Privat pada subnet tertentu, pengaturan nonaktifkan eksplisit diperlukan pada subnet tersebut.

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

Matikan kebijakan titik akhir pribadi subnet

Azure menyebarkan sumber daya ke subnet dalam jaringan virtual, jadi Anda perlu memperbarui subnet untuk menonaktifkan kebijakan jaringan titik akhir privat.

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

Membuat titik akhir privat untuk objek akses disk

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

Konfigurasi Zona DNS Pribadi

Buat Zona DNS Privat untuk domain blob Penyimpanan, buat tautan asosiasi dengan Virtual Network dan buat Grup Zona DNS untuk mengaitkan titik akhir privat dengan Zona DNS Privat.

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 

Langkah selanjutnya