Check ID:
Provider: Azure
Service:
Severity: CRITICAL
Categories:
Resource type:
sqlserver_tde_encrypted_with_cmkProvider: Azure
Service:
sqlserverSeverity: CRITICAL
Categories:
encryptionResource type:
microsoft.sql/serversWhat this check verifies
Azure SQL Server uses Transparent Data Encryption with a customer-managed key in Azure Key Vault, and each database has TDEEnabled
Risk
Without TDE with CMK, data at rest may be unencrypted or controlled by service keys, weakening confidentiality and key custody. Attackers or insiders could read backups, snapshots, or stolen disks, and you cannot enforce rotation, revocation, or separation of duties, raising compliance and incident response risks.Recommendation
Use a customer-managed TDE protector in Azure Key Vault or Managed HSM and ensure TDE isEnabled for every database.
- Apply least privilege to key access
- Enable rotation and monitor key use
- Protect keys with soft-delete and purge protection
- Enforce via policy and maintain key backups for restores
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://www.trendmicro.com/cloudoneconformity-staging/knowledge-base/azure/Sql/use-byok-for-transparent-data-encryption.html#
- https://learn.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql
- https://learn.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql&tabs=azurekeyvault%2Cazurekeyvaultrequirements%2Cazurekeyvaultrecommendations
Where this check fires
This check runs on every scheduled scan against your Azure account. Findings appear at Cloud Security → Findings filterable byCheck ID = sqlserver_tde_encrypted_with_cmk. 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