Check ID:
Provider: Azure
Service:
Severity: HIGH
Categories:
Resource type:
keyvault_logging_enabledProvider: Azure
Service:
keyvaultSeverity: HIGH
Categories:
loggingResource type:
microsoft.keyvault/vaultsWhat this check verifies
Azure Key Vault diagnostic settings capture audit logs (AuditEvent) when category groups audit and allLogs are enabled and routed to a supported destination. Logged events include management and data-plane operations on vaults, keys, secrets, and certificates.
Risk
Without Key Vault audit logging, access and changes to keys, secrets, and certificates are untracked. Attackers can misuse keys to decrypt data, alter or delete crypto material, and evade detection-eroding confidentiality and integrity and delaying incident response.Recommendation
Enable diagnostic settings to collectAuditEvent logs-covering category groups audit and allLogs-and send them to a central sink. Apply least privilege to log access, enforce secure retention/immutability, monitor with alerts for anomalous operations, and use separation of duties to prevent logging bypass.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://learn.microsoft.com/en-us/azure/key-vault/general/logging?tabs=Vault
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/azure/KeyVault/enable-audit-event-logging-for-azure-key-vaults.html
- https://learn.microsoft.com/en-us/security/benchmark/azure/security-controls-v3-data-protection#dp-8-ensure-security-of-key-and-certificate-repository
- https://learn.microsoft.com/en-us/azure/key-vault/general/howto-logging?tabs=azure-cli
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_logging_enabled. 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