Description:
Use private endpoints for your Azure Storage accounts to allow clients and services to securely access data located over a network via an encrypted Private Link. To do this, the private endpoint uses an IP address from the VNet for each service. Network traffic between disparate services securely traverses encrypted over the VNet. This VNet can also link addressing space, extending your network and accessing resources on it. Similarly, it can be a tunnel through public networks to connect remote infrastructures together. This creates further security through segmenting network traffic and preventing outside sources from accessing it.
Rationale:
Securing traffic between services through encryption protects the data from easy interception and reading.
There is no cost in deploying VNets between Azure resources. If improperly implemented, it may result in loss of critical network traffic.
From Azure Portal
Repeat the above procedure for each Private Endpoint required within every Storage Account.
From PowerShell
$storageAccount = Get-AzStorageAccount -ResourceGroupName '' -Name ''
$privateEndpointConnection = @{
Name = 'connectionName'
PrivateLinkServiceId = $storageAccount.Id
GroupID = "blob|blob_secondary|file|file_secondary|table|table_secondary|queue|queue_secondary|web|web_secondary|dfs|dfs_secondary"
}
$privateLinkServiceConnection = New-AzPrivateLinkServiceConnection @privateEndpointConnection
$virtualNetDetails = Get-AzVirtualNetwork -ResourceGroupName '' -Name ''
$privateEndpoint = @{
ResourceGroupName = ''
Name = ''
Location = ''
Subnet = $virtualNetDetails.Subnets[0]
PrivateLinkServiceConnection = $privateLinkServiceConnection
}
New-AzPrivateEndpoint @privateEndpoint
From Azure CLI
az network private-endpoint create --resource-group <ResourceGroupName --location --name --vnet-name --subnet --private-connection-resource-id --connection-name --group-id <blob|blob_secondary|file|file_secondary|table|table_secondary|queue|queue_secondary|web|web_secondary|dfs|dfs_secondary>