π Azure SQL Server Transparent Data Encryption Protector is not encrypted with Customer-managed key π’
- Contextual name: π Server Transparent Data Encryption Protector is not encrypted with Customer-managed key π’
- ID:
/ce/ca/azure/sql-database/server-transparent-data-encryption-protector-with-cmk
- Located in: π Azure SQL Database
Flagsβ
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
Our Metadataβ
- Policy Type:
BEST_PRACTICE
- Policy Category:
SECURITY
Similar Policiesβ
- Cloud Conformity
- Internal
dec-x-230b5e35
Similar Internal Rulesβ
Rule | Policies | Flags |
---|---|---|
βοΈ dec-x-230b5e35 | 1 |
Logicβ
- π§ prod.logic.yaml π’
Descriptionβ
Descriptionβ
Transparent Data Encryption (TDE) with Customer-managed key support provides increased transparency and control over the TDE Protector, increased security with an HSM-backed external service, and promotion of separation of duties.
With TDE, data is encrypted at rest with a symmetric key (called the database encryption key) stored in the database or data warehouse distribution. To protect this data encryption key (DEK) in the past, only a certificate that the Azure SQL Service managed could be used. Now, with Customer-managed key support for TDE, the DEK can be protected with an asymmetric key that is stored in the Azure Key Vault. The Azure Key Vault is a highly available and scalable cloud-based key store which offers central key management, leverages FIPS 140-2 Level 2 validated hardware security modules (HSMs), and allows separation of management of keys and data for additional security.
Based on business needs or criticality of data/databases hosted on a SQL server, it is recommended that the TDE protector is encrypted by a key that is managed by the data owner (Customer-managed key).
... see more
Remediationβ
Remediationβ
From Azure Consoleβ
- Go to
SQL servers
.- For each SQL server, under
Security
, clickTransparent data encryption
.- Set
Transparent data encryption
toCustomer-managed key
.- Select a key or enter a key identifier.
- Check
Make this key the default TDE protector
.- Click
Save
.From Azure CLIβ
Use the below command to encrypt SQL server's TDE protector with a Customer-managed key:
az sql server tde-key set --resource-group <resourceName> --server <dbServerName> --server-key-type {AzureKeyVault} --kid <keyIdentifier>
From PowerShellβ
Use the below command to encrypt SQL server's TDE protector with a Customer-managed Key Vault key:
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <KeyIdentifier> -ServerName <ServerName> -ResourceGroupName <ResourceGroupName>
Select
Y
when prompted.