Check ID: storage_ensure_encryption_with_customer_managed_keys
Provider: Azure
Service: storage
Severity: HIGH
Categories: encryption
Resource type: microsoft.storage/storageaccounts

What this check verifies

Azure Storage accounts use customer-managed keys (CMK) from Key Vault/Managed HSM for service-side encryption of data at rest, rather than platform-managed keys (encryption_type=Microsoft.Keyvault).

Risk

Without CMK, keys are provider-controlled, reducing confidentiality and governance.
  • Cannot promptly revoke access during incidents
  • No custom rotation or separation of duties
  • Limited key-use auditing This weakens data sovereignty and hinders effective crypto-shredding.

Recommendation

Adopt CMK with keys in Key Vault or Managed HSM. Enforce least privilege for the storage identity, regular key rotation, and separation of duties between key custodians and operators. Audit key usage, enable tamper-resistant key protection (soft-delete/purge protection), and plan for key revocation/crypto-shredding.

Remediation

az storage account update —name <STORAGE_ACCOUNT_NAME> —resource-group <RESOURCE_GROUP> —encryption-key-name <KEY_NAME> —encryption-key-source Microsoft.Keyvault —encryption-key-vault <KEY_VAULT_URI>

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 = storage_ensure_encryption_with_customer_managed_keys. 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