Description:

Infrastructure double encryption adds an encryption layer on top of the default Azure Storage encryption for PostgreSQL Flexible Servers. With this feature enabled, data is encrypted twice using two separate encryption algorithms and two independent key sets. This provides enhanced data protection, meeting high-security and regulatory requirements for sensitive workloads. Double encryption ensures data remains protected even if one encryption layer is compromised.


Rationale:

Dual encryption strengthens the confidentiality of database storage by enforcing defense-in-depth at the infrastructure layer. It protects sensitive data from advanced threats, reduces exposure in case of key compromise, and helps satisfy strict compliance mandates such as financial, government, and regulated industry standards. Without double encryption, PostgreSQL relies only on the default single encryption layer, which may not meet elevated regulatory requirements.


Impact:

Enabling double encryption increases the security posture of PostgreSQL servers. However, it must be configured at server creation and cannot be enabled afterward, requiring recreation of the server if not initially set.


Default Value:

Infrastructure double encryption is Disabled by default.


Pre-Requisites:

  • PostgreSQL Server (double encryption not supported on a Single Server)

  • Encryption must be configured during server creation

  • Appropriate permissions to deploy PostgreSQL servers


Test Plan:

  1. Sign in to the Azure Portal at https://portal.azure.com

  2. Search for Azure Database for PostgreSQL – Flexible Server

  3. Select the target PostgreSQL server

  4. From the left menu, open Data encryption

  5. Review the Data encryption key configuration

  6. Verify Customer-managed key is selected, indicating Infrastructure Double Encryption is enabled

  7. If double encryption is not enabled, follow the implementation steps


Implementation Steps:

  1. Sign in to the Azure Portal at https://portal.azure.com

  2. Search for Azure Database for PostgreSQL – Flexible Server

  3. Select Create to deploy a new PostgreSQL server

  1. During server creation, navigate to the Data encryption section

  2. Under security, select Customer-managed key

  3. Choose the User-assigned managed identity

  4. Select the Azure Key Vault and encryption key

  1. Complete the remaining configuration and create the server


Backout Plan:

  1. Sign in to the Azure Portal at https://portal.azure.com

  2. Restore data to a new PostgreSQL server

  3. During server creation, select Service-managed key under security.

  4. Complete the server creation process


Reference: