Description
Private endpoints will secure network traffic from Azure Key Vault to the resources requesting secrets and keys.
Rationaleβ
Private endpoints will keep network requests to Azure Key Vault limited to the endpoints attached to the resources that are whitelisted to communicate with each other. Assigning the Key Vault to a network without an endpoint will allow other resources on that network to view all traffic from the Key Vault to its destination. In spite of the complexity in configuration, this is recommended for high security secrets.
Impactβ
Incorrect or poorly-timed changing of network configuration could result in service interruption. There are also additional costs tiers for running a private endpoint per petabyte or more of networking traffic.
Auditβ
From Azure Portalβ
- From Azure Home open the Portal Menu in the top left.
- Select Key Vaults.
- Select a Key Vault to audit.
- Select
Networking
in the left column. - Select
Private endpoint connections
from the top row. - View if there is an endpoint attached.
From Azure CLIβ
Run the following command within a subscription for each Key Vault you wish to audit:
az keyvault show --name <keyVaultName>
Ensure that privateEndpointConnections
is not null.
From Powershellβ
Run the following command within a subscription for each Key Vault you wish to audit:
Get-AzPrivateEndpointConnection -PrivateLinkResourceId '/subscriptions/<subscriptionNumber>/resourceGroups/<resourceGroup>/providers/Microsoft.KeyVault/vaults/<keyVaultName>/'
From Azure Policyβ
If referencing a digital copy of this Benchmark, clicking a Policy ID will open a link to the associated Policy definition in Azure.
- Policy ID: a6abeaec-4d90-4a02-805f-6b26c4d3fbe9 - Name:
Azure Key Vaults should use private link
Default Valueβ
By default, Private Endpoints are not enabled for any services within Azure.
Referencesβ
- https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-overview
- https://docs.microsoft.com/en-us/azure/storage/common/storage-private-endpoints
- https://azure.microsoft.com/en-us/pricing/details/private-link/
- https://docs.microsoft.com/en-us/azure/key-vault/general/private-link-service?tabs=portal
- https://docs.microsoft.com/en-us/azure/virtual-network/quick-create-portal
- https://docs.microsoft.com/en-us/azure/private-link/tutorial-private-endpoint-storage-portal
- https://docs.microsoft.com/en-us/azure/bastion/bastion-overview
- https://docs.microsoft.com/azure/dns/private-dns-getstarted-cli#create-an-additional-dns-record
- https://learn.microsoft.com/en-us/security/benchmark/azure/mcsb-data-protection#dp-8-ensure-security-of-key-and-certificate-repository
Additional Informationβ
This recommendation assumes that you have created a Resource Group containing a Virtual Network that the services are already associated with and configured private DNS. A Bastion on the virtual network is also required, and the service to which you are connecting must already have a Private Endpoint. For information concerning the installation of these services, please see the attached documentation.
Microsoft's own documentation lists the requirements as: A Key Vault. An Azure virtual network. A subnet in the virtual network. Owner or contributor permissions for both the Key Vault and the virtual network.