Check ID: keyvault_logging_enabled
Provider: Azure
Service: keyvault
Severity: HIGH
Categories: logging
Resource type: microsoft.keyvault/vaults

What 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 collect AuditEvent 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

az monitor diagnostic-settings create --name <example_resource_name> --resource <example_resource_id> --workspace <example_resource_id> --logs '[{"categoryGroup":"audit","enabled":true},{"categoryGroup":"allLogs","enabled":true}]'

References

Where this check fires

This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable by Check 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