Partilhar via


CLI do Azure - Restringir o acesso de importação/exportação para discos gerenciados com links privados

Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível

Você pode usar pontos de extremidade privados para restringir a exportação e importação de discos gerenciados e acessar dados com segurança em um Link Privado de clientes em sua rede virtual do Azure. O ponto de extremidade privado usa um endereço IP do espaço de endereço de rede virtual para seu serviço de discos gerenciados. O tráfego de rede entre clientes em sua rede virtual e discos gerenciados atravessa apenas a rede virtual e um link privado na rede de backbone da Microsoft, eliminando a exposição da Internet pública.

Para usar Links Privados para exportar/importar discos gerenciados, primeiro crie um recurso de acesso ao disco e vincule-o a uma rede virtual na mesma assinatura criando um ponto de extremidade privado. Em seguida, associe um disco ou um instantâneo a uma instância de acesso ao disco. Finalmente, defina a propriedade NetworkAccessPolicy do disco ou do instantâneo como AllowPrivate. Isso limitará o acesso à sua rede virtual.

Você pode definir a propriedade NetworkAccessPolicy para DenyAll impedir que qualquer pessoa exporte dados de um disco ou instantâneo. O valor padrão para a propriedade NetworkAccessPolicy é AllowAll.

Limitações

  • Não é possível importar ou exportar mais de cinco discos ou instantâneos ao mesmo tempo com o mesmo objeto de acesso ao disco.
  • Não é possível carregar para um disco com um objeto de acesso ao disco e um conjunto de criptografia de disco.

Inicie sessão na sua subscrição e defina as suas variáveis

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

Criar um acesso ao disco usando a CLI do Azure

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

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

Criar uma Rede Virtual

Não há suporte para diretivas de rede, como NSG (grupos de segurança de rede), para pontos de extremidade privados. Para implantar um ponto de extremidade privado em uma determinada sub-rede, uma configuração de desativação explícita é necessária nessa sub-rede.

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

Desativar políticas de ponto de extremidade privado de sub-rede

O Azure implanta recursos em uma sub-rede dentro de uma rede virtual, portanto, você precisa atualizar a sub-rede para desabilitar as políticas de rede de ponto de extremidade privado.

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

Criar um ponto de extremidade privado para o objeto de acesso ao disco

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

Configurar a zona DNS privada

Crie uma Zona DNS Privada para domínio de blob de Armazenamento, crie um link de associação com a Rede Virtual e crie um Grupo de Zonas DNS para associar o ponto de extremidade privado à Zona DNS Privada.

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 

Próximos passos