You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -18,11 +18,11 @@ Data stored in your Azure Cosmos DB for PostgreSQL cluster is automatically and
18
18
19
19
## Service-managed keys
20
20
21
-
The Azure Cosmos DB for PostgreSQL service uses the FIPS 140-2 validated cryptographic module for storage encryption of data at-rest. All Data including backups and temporary files created while running queries are encrypted on disk. The service uses the AES 256-bit cipher included in Azure storage encryption, and the keys are system-managed. Storage encryption is always on and cannot be disabled.
21
+
The Azure Cosmos DB for PostgreSQL service uses the FIPS 140-2 validated cryptographic module for storage encryption of data at-rest. All Data including backups and temporary files created while running queries are encrypted on disk. The service uses the AES 256-bit cipher included in Azure storage encryption, and the keys are system-managed. Storage encryption is always on and can't be disabled.
22
22
23
23
## Customer-managed keys
24
24
25
-
Many organizations require full control of access to data using a customer-managed key. Data encryption with customer-managed keys for Azure Cosmos DB for PostgreSQL enables you to bring your own key for protecting data at rest. It also allows organizations to implement separation of duties in the management of keys and data. With customer-managed encryption, you're responsible for, and in full control of, a key's lifecycle, usage permissions, and auditing of operations.
25
+
Many organizations require full control of access to data using a customer-managed key (CMK). Data encryption with customer-managed keys for Azure Cosmos DB for PostgreSQL enables you to bring your own key for protecting data at rest. It also allows organizations to implement separation of duties in the management of keys and data. With customer-managed encryption, you're responsible for, and in full control of, a key's lifecycle, usage permissions, and auditing of operations.
26
26
27
27
Data encryption with customer-managed keys for Azure Cosmos DB for PostgreSQL is set at the server level. Data, including backups, are encrypted on disk. This encryption includes the temporary files created while running queries. For a given cluster, a customer-managed key, called the key encryption key (**KEK**), is used to encrypt the service's data encryption key (**DEK**). The KEK is an asymmetric key stored in a customer-owned and customer-managed [Azure Key Vault](../../key-vault/index.yml) instance.
28
28
@@ -49,7 +49,7 @@ For a cluster to use customer-managed keys stored in Key Vault for encryption of
49
49
The key vault administrator can also enable logging of Key Vault audit events, so they can be audited later.
50
50
When the Azure Cosmos DB for PostgreSQL cluster is configured to use the customer-managed key stored in the key vault, the cluster sends the DEK to the key vault for encryptions. Key Vault returns the encrypted DEK, which is stored in the user database. Similarly, when needed, the server sends the protected DEK to the key vault for decryption. Auditors can use [Azure Monitor](../../azure-monitor/index.yml) to review Key Vault audit event logs, if logging is enabled.
51
51
52
-
[](media/concepts-customer-managed-keys/architecture-customer-managed-keys.png#lightbox)
52
+
[](media/concepts-customer-managed-keys/architecture-customer-managed-keys.png#lightbox)
53
53
54
54
## Benefits
55
55
@@ -64,4 +64,4 @@ Data encryption with customer-managed keys for Azure Cosmos DB for PostgreSQL pr
64
64
## Next steps
65
65
66
66
>[!div class="nextstepaction"]
67
-
>[Enable encryption with customermanaged keys](how-to-customer-managed-keys.md)
67
+
>[Enable encryption with customer-managed keys](how-to-customer-managed-keys.md)
Copy file name to clipboardExpand all lines: articles/cosmos-db/postgresql/how-to-customer-managed-keys.md
+28-34Lines changed: 28 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
-
title: How to enable encryption with customermanaged keys in Azure Cosmos DB for PostgreSQL.
3
-
description: How to enable data encryption with customermanaged keys.
2
+
title: How to enable encryption with customer-managed keys in Azure Cosmos DB for PostgreSQL.
3
+
description: Steps to enable data encryption with customer-managed keys.
4
4
ms.author: akashrao
5
5
author: akashraokm
6
6
ms.service: cosmos-db
7
7
ms.subservice: postgresql
8
8
ms.topic: how-to
9
-
ms.date: 05/16/2023
9
+
ms.date: 01/03/2024
10
10
---
11
11
# Enable data encryption with customer-managed keys in Azure Cosmos DB for PostgreSQL
12
12
@@ -24,29 +24,29 @@ ms.date: 05/16/2023
24
24
> [!IMPORTANT]
25
25
> Create all the following resources in the same region where your Azure Cosmos DB for PostgreSQL cluster will be deployed.
26
26
27
-
1. Create a User-Assigned Managed Identity. Currently, Azure Cosmos DB for PostgreSQL only supports user-assigned managed identities.
27
+
1. Create a user-assigned managed identity. Currently, Azure Cosmos DB for PostgreSQL only supports user-assigned managed identities.
28
28
29
29
1. Create an Azure Key Vault and add an access policy to the created User-Assigned Managed Identity with the following key permissions: Get, Unwrap Key, and Wrap Key.
30
30
31
-
1. Generate a Key in the Key Vault (supported key types: RSA 2048, 3071, 4096).
31
+
1. Generate a key in the key vault (supported key types: RSA 2048, 3071, 4096).
32
32
33
-
1. Select the Customer-Managed Key encryption option during the creation of the Azure Cosmos DB for PostgreSQL cluster and select the appropriate User-Assigned Managed Identity, Key Vault, and Key created in Steps 1, 2, and 3.
33
+
1. Select the customer-managed key encryption option during the creation of the Azure Cosmos DB for PostgreSQL cluster and select the appropriate user-assigned managed identity, key vault, and key created in steps 1, 2, and 3.
34
34
35
35
## Detailed steps
36
36
37
-
### User Assigned Managed Identity
37
+
### User-assigned managed identity
38
38
39
-
1. Search for Managed Identities in the global search bar.
39
+
1. Search for **Managed identities** in the global search bar.
40
40
41
41

42
42
43
43
44
-
1. Create a new User assigned managed Identity in the same region as your Azure Cosmos DB for PostgreSQL cluster.
44
+
1. Create a new user assigned managed identity in the same region as your Azure Cosmos DB for PostgreSQL cluster.
45
45
46
46

47
47
48
48
49
-
Learn more about [User Assigned Managed Identity.](../../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md?pivots=identity-mi-methods-azp#create-a-user-assigned-managed-identity).
49
+
Learn more about [user-assigned managed identity](../../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md?pivots=identity-mi-methods-azp#create-a-user-assigned-managed-identity).
50
50
51
51
### Key Vault
52
52
@@ -61,10 +61,10 @@ Using customer-managed keys with Azure Cosmos DB for PostgreSQL requires you to
61
61
* How to use [soft-delete with PowerShell.](../../key-vault/general/key-vault-recovery.md)
62
62
* How to use [soft-delete with Azure CLI.](../../key-vault/general/key-vault-recovery.md)
63
63
64
-
1. The key Vault must be set with 90 days for 'Days to retain deleted vaults'. If the existing key Vault has been configured with a lower number, you'll need to create a new key vault as it can't be modified after creation.
64
+
1. The key Vault must be set with 90 days for **Days to retain deleted vaults**. If the existing key Vault is configured with a lower number, you'll need to create a new key vault as this setting can't be modified after creation.
65
65
66
66
> [!IMPORTANT]
67
-
> Your Azure Key Vault instance must be allow public access from all the networks.
67
+
> Your Azure Key Vault instance must allow public access from all networks.
68
68
69
69
### Add an Access Policy to the Key Vault
70
70
@@ -79,7 +79,7 @@ Make sure <b>Vault access policy</b> is selected under Permission model and then
79
79
80
80
[](media/how-to-customer-managed-keys/access-policy-permissions.png#lightbox)
81
81
82
-
1. In the Principal Tab, select the User Assigned Managed Identity you had created in prerequisite step.
82
+
1. In the Principal Tab, select the User Assigned Managed Identity you created in prerequisite step.
83
83
84
84
1. Navigate to Review + create select Create.
85
85
@@ -101,26 +101,26 @@ Make sure <b>Vault access policy</b> is selected under Permission model and then
101
101
102
102
1. If you're manually rotating the key, the old key version shouldn't be deleted for at least 24 hours.
103
103
104
-
### Enable CMK encryption during the provisioning for a new cluster
104
+
### Enable CMK encryption during the provisioning of a new cluster
105
105
106
106
# [Portal](#tab/portal)
107
107
108
-
1. During the provisioning of a new Cosmos DB for PostgreSQL cluster, after providing the necessary information under Basics and Networking Tab, Navigate to the Encryption (Preview) Tab.
108
+
1. During the provisioning of a new Azure Cosmos DB for PostgreSQL cluster, after providing the necessary information under Basics and Networking tabs, navigate to the **Encryption** tab.
109
109
[](media/how-to-customer-managed-keys/encryption-tab.png#lightbox)
110
110
111
-
1. Select Customer Managed Key under Data encryption key option.
1. Select the User Assigned Managed Identity created in the previous section.
113
+
1. Select the user assigned managed identity created in the previous section.
114
114
115
-
1. Select the Key Vault created in the previous step, which has the access policy to the user managed identity selected in the previous step.
115
+
1. Select the key vault created in the previous step, which has the access policy to the user managed identity selected in the previous step.
116
116
117
-
1. Select the Key created in the previous step, and then select Review+create.
117
+
1. Select the key created in the previous step, and then select **Review + create**.
118
118
119
-
1.Verify that CMK is encryption is enabled by Navigating to the Data Encryption blade of the Cosmos DB for PostgreSQL cluster in the Azure portal.
119
+
1.Once the cluster is created, verify that CMK encryption is enabled by navigating to the **Data Encryption** blade of the Azure Cosmos DB for PostgreSQL cluster in the Azure portal.
120
120

121
121
122
122
> [!NOTE]
123
-
> Data encryption can only be configured during the creation of a new cluster and can't be updated on an existing cluster. A workaround for updating the encryption configuration on an existing cluster is to restore an existing PITR backup to a new cluster and configure the data encryption during the creation of the newly restored cluster.
123
+
> Data encryption can only be configured during the creation of a new cluster and can't be updated on an existing cluster. A workaround for updating the encryption configuration on an existing cluster is to perform a [cluster restore](./howto-restore-portal.md) and configure the data encryption during the creation of the newly restored cluster.
124
124
125
125
# [ARM Template](#tab/arm)
126
126
```json
@@ -238,26 +238,18 @@ Make sure <b>Vault access policy</b> is selected under Permission model and then
238
238
239
239
### High availability
240
240
241
-
When CMK encryption is enabled on the primary cluster, all standby HA replicas are automatically encrypted by the primary cluster’s CMK
242
-
243
-
### Restrictions
244
-
245
-
* CMK encryption can't be enabled on cross region read replicas.
246
-
247
-
* CMK encryption can only be enabled during the creation of a new Azure Cosmos DB for PostgreSQL cluster.
248
-
249
-
* CMK encryption isn't supported with Private access (including VNET).
241
+
When CMK encryption is enabled on the primary cluster, all HA standby nodes are automatically encrypted by the primary cluster’s key.
250
242
251
243
### Changing encryption configuration by performing a PITR
252
244
253
-
Encryption configuration can be changed from servicemanaged encryption to CMK encryption or vice versa while performing a Point in restore operation to a new cluster.
245
+
Encryption configuration can be changed from service-managed encryption to customer-managed encryption or vice versa while performing a cluster restore operation (PITR - point-in-time restore).
254
246
255
247
# [Portal](#tab/portal)
256
248
257
-
1. Navigate to the Data Encryption blade, and select Initiate restore operation. Alternatively, you can perform PITR by selecting the Restore option in the overview blade.
249
+
1. Navigate to the **Data encryption** blade, and select **Initiate restore operation**. Alternatively, you can perform PITR by selecting the **Restore** option in the **Overview** blade.
258
250
[](media/how-to-customer-managed-keys/point-in-time-restore.png#lightbox)
259
251
260
-
1. You can change/configure the Data Encryption from the Encryption Tab.
252
+
1. You can change/configure the data encryption on the **Encryption** tab of the cluster restore page.
261
253
262
254
# [ARM Template](#tab/arm)
263
255
@@ -343,5 +335,7 @@ To monitor the database state, and to enable alerting for the loss of transparen
343
335
344
336
*[Action groups](../../azure-monitor/alerts/action-groups.md): Define these groups to send you notifications and alerts based on your preference.
345
337
338
+
## Next steps
346
339
347
-
340
+
- Learn about [data encryption with customer-managed keys](./concepts-customer-managed-keys.md)
341
+
- Check out [CMK limits and limitations](./reference-limits.md#storage) in Azure Cosmos DB for PostgreSQL
Copy file name to clipboardExpand all lines: articles/cosmos-db/postgresql/reference-limits.md
+10-2Lines changed: 10 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ author: niklarin
6
6
ms.service: cosmos-db
7
7
ms.subservice: postgresql
8
8
ms.topic: conceptual
9
-
ms.date: 08/07/2023
9
+
ms.date: 01/03/2024
10
10
---
11
11
12
12
# Azure Cosmos DB for PostgreSQL limits and limitations
@@ -65,6 +65,14 @@ be scaled down (decreased).
65
65
Up to 32 TiB of storage is supported on coordinator and worker nodes in multi-node configuration. Up to 2 TiB of storage is supported for single node configurations. See [the available storage options and IOPS calculation](resources-compute.md)
66
66
for various node and cluster sizes.
67
67
68
+
### Customer-managed keys for storage encryption
69
+
70
+
[Data encryption with customer-managed keys (CMK)](./concepts-customer-managed-keys.md) for Azure Cosmos DB for PostgreSQL clusters has the following limitations.
71
+
* CMK encryption can only be enabled during the creation of a new Azure Cosmos DB for PostgreSQL cluster.
72
+
* CMK encryption **can be** enabled or disabled on a [restored cluster](./concepts-backup.md#restore)
73
+
* CMK encryption **can be** enabled or disabled on a [cluster read replica](./concepts-read-replicas.md)
74
+
* CMK encryption isn't supported with private access (Private Link).
If [Microsoft Entra ID](./concepts-authentication.md#azure-active-directory-authentication-preview) is enabled on an Azure Cosmos DB for PostgreSQL cluster, the following is currently **not supported**:
0 commit comments