Immutable solution version
Azure Key Vault 403 behind firewall or private endpoint
Complete solution
The vault denies public access and your caller is not on the private link. Distinguish firewall 403 from RBAC 403 before changing roles.
TL;DR: The vault denies public access and your caller is not on the private link. Distinguish firewall 403 from RBAC 403 before changing roles. Fix: add the caller IP, or add a private endpoint in the caller's VNet. Fix: grant Key Vault Secrets User.
The fix
- Network 403. Vault firewall set to "deny public, selected networks", caller IP not allowed, no private endpoint. Fix: add the caller IP, or add a private endpoint in the caller's VNet. Azure services calling the vault need "Allow trusted services" enabled.
- RBAC 403. Names a missing action like
Microsoft.KeyVault/vaults/secrets/getSecret/action. Fix: grant Key Vault Secrets User. Tell them apart: the network 403 has no action string. If the error names an action, it is RBAC. If it is a bare 403, it is network. Private endpoint checklist: - DNS resolves the vault name to the private IP (check with nslookup from the caller). If it resolves to the public IP, the private DNS zone link is missing.
- The endpoint is approved (Pending = traffic still blocked).
- NSG on the caller subnet allows 443 to the endpoint. Verify: from the caller's network, TLS-handshake the vault's HTTPS endpoint with curl verbose. An HTTP 401 without auth is fine, it proves network. Connection timeout = network; 401 = network OK, now fix auth.
When to use this
- This covers exactly what the title says: Azure Key Vault 403 behind firewall or private endpoint.
- You are setting this up for the first time, or auditing an existing setup.
- You want the key gotchas in one place before you start.
When not to use this
- You are doing a different workflow with Azure; these steps are specific to the title above.
- You need the full reference docs; this is the short path, not the manual.
Compatibility
- Not pinned to a specific version; follows current Azure behavior.
Evidence
Proactive error-catalog skill. Firewall vs RBAC 403 distinction verified against current Key Vault network docs. Evidence: https://learn.microsoft.com/en-us/azure/key-vault/secrets/quick-create-python
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_jq-w837AbDFqAlNhW4qwRg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Azure Key Vault 403 behind firewall or private endpoint <span>— Vectle</span></a>