Check ID:
Provider: Azure
Service:
Severity: HIGH
Categories:
Resource type:
keyvault_access_only_through_private_endpointsProvider: Azure
Service:
keyvaultSeverity: HIGH
Categories:
internet-exposed, trust-boundariesResource type:
microsoft.keyvault/vaultsWhat this check verifies
Azure Key Vaults configured with private endpoints have public network access set toDisabled, so connectivity occurs only over the private link.
Risk
Internet exposure alongside a private endpoint breaks isolation and expands attack surface:- Brute-force or token replay on the data plane
- Abuse of misconfigured allowlists or trusted bypass
- DDoS on the public endpoint This can enable secret exfiltration or unauthorized key use, impacting confidentiality and integrity.
Recommendation
Restrict access to private endpoints only:- Set
publicNetworkAccesstoDisabled - Avoid broad allowlists; limit
Trusted services - Use private DNS with controlled egress
- Enforce least privilege and monitor access logs This sustains defense in depth and prevents Internet exposure.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
az keyvault update —resource-group <resource_group> —name <vault_name> —public-network-access Disabled
References
- https://support.icompaas.com/support/solutions/articles/62000234050-ensure-that-public-network-access-when-using-private-endpoint-is-disabled-automated-
- https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview
- https://learn.microsoft.com/en-us/azure/key-vault/general/network-security
Where this check fires
This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable byCheck ID = keyvault_access_only_through_private_endpoints. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Azure checks