π‘οΈ 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 - Tags:
- π’ Policy with categories
- π’ Policy with type
- π’ Production policy
- Policy Type:
BEST_PRACTICE - Policy Categories:
SECURITY
Logicβ
- π§ prod.logic.yamlπ’
Similar Policiesβ
- Cloud Conformity: Use BYOK for Transparent Data Encryption
- Internal:
dec-x-230b5e35
Similar Internal Rulesβ
| Rule | Policies | Flags |
|---|---|---|
| βοΈ dec-x-230b5e35 | 1 |
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 encryptiontoCustomer-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
Ywhen prompted.