Skip to content

Commit 8f1169d

Browse files
author
Jill Grant
authored
Merge pull request #262502 from niklarin/limits
CMK limits and limitations update
2 parents 20c46b2 + f1b8d8b commit 8f1169d

4 files changed

Lines changed: 47 additions & 45 deletions

File tree

articles/cosmos-db/postgresql/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
- name: Node DNS names
108108
href: concepts-node-domain-name.md
109109
displayName: DNS, FQDN, connection, connect
110-
- name: Customer managed keys
110+
- name: Customer-managed keys
111111
href: concepts-customer-managed-keys.md
112112
displayName: customer-managed, keys, cmk
113113
- name: Row-level security
@@ -231,7 +231,7 @@
231231
- name: Manage Microsoft Entra ID and Postgres users
232232
href: how-to-configure-authentication.md
233233
displayName: Azure Active Directory, PosgreSQL roles, authentication
234-
- name: Customer managed keys
234+
- name: Customer-managed keys
235235
href: how-to-customer-managed-keys.md
236236
displayName: customer-managed, keys, cmk
237237
- name: Configure TLS/SSL

articles/cosmos-db/postgresql/concepts-customer-managed-keys.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
2-
title: Concepts of customer managed keys in Azure Cosmos DB for PostgreSQL.
3-
description: Concepts of customer managed keys.
2+
title: Concepts of customer-managed keys in Azure Cosmos DB for PostgreSQL.
3+
description: Concepts of customer-managed keys.
44
ms.author: akashrao
55
author: akashraokm
66
ms.service: cosmos-db
77
ms.subservice: postgresql
88
ms.topic: conceptual
99
ms.date: 04/06/2023
1010
---
11-
# Data Encryption with Customer Managed Keys
11+
# Data encryption with customer-managed keys
1212

1313
[!INCLUDE [PostgreSQL](../includes/appliesto-postgresql.md)]
1414

@@ -18,11 +18,11 @@ Data stored in your Azure Cosmos DB for PostgreSQL cluster is automatically and
1818

1919
## Service-managed keys
2020

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.
2222

2323
## Customer-managed keys
2424

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.
2626

2727
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.
2828

@@ -49,7 +49,7 @@ For a cluster to use customer-managed keys stored in Key Vault for encryption of
4949
The key vault administrator can also enable logging of Key Vault audit events, so they can be audited later.
5050
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.
5151

52-
[ ![Screenshot of architecture of Data Enrcryption with Customer Managed Keys.](media/concepts-customer-managed-keys/architecture-customer-managed-keys.png)](media/concepts-customer-managed-keys/architecture-customer-managed-keys.png#lightbox)
52+
[ ![Screenshot of architecture of data enrcryption with customer-managed keys.](media/concepts-customer-managed-keys/architecture-customer-managed-keys.png)](media/concepts-customer-managed-keys/architecture-customer-managed-keys.png#lightbox)
5353

5454
## Benefits
5555

@@ -64,4 +64,4 @@ Data encryption with customer-managed keys for Azure Cosmos DB for PostgreSQL pr
6464
## Next steps
6565

6666
>[!div class="nextstepaction"]
67-
>[Enable encryption with customer managed keys](how-to-customer-managed-keys.md)
67+
>[Enable encryption with customer-managed keys](how-to-customer-managed-keys.md)

articles/cosmos-db/postgresql/how-to-customer-managed-keys.md

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
---
2-
title: How to enable encryption with customer managed keys in Azure Cosmos DB for PostgreSQL.
3-
description: How to enable data encryption with customer managed 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.
44
ms.author: akashrao
55
author: akashraokm
66
ms.service: cosmos-db
77
ms.subservice: postgresql
88
ms.topic: how-to
9-
ms.date: 05/16/2023
9+
ms.date: 01/03/2024
1010
---
1111
# Enable data encryption with customer-managed keys in Azure Cosmos DB for PostgreSQL
1212

@@ -24,29 +24,29 @@ ms.date: 05/16/2023
2424
> [!IMPORTANT]
2525
> Create all the following resources in the same region where your Azure Cosmos DB for PostgreSQL cluster will be deployed.
2626
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.
2828

2929
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.
3030

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).
3232

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.
3434

3535
## Detailed steps
3636

37-
### User Assigned Managed Identity
37+
### User-assigned managed identity
3838

39-
1. Search for Managed Identities in the global search bar.
39+
1. Search for **Managed identities** in the global search bar.
4040

4141
![Screenshot of Managed Identities in Azure portal.](media/how-to-customer-managed-keys/user-assigned-managed-identity.png)
4242

4343

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.
4545

4646
![Screenshot of User assigned managed Identity page in Azure portal.](media/how-to-customer-managed-keys/user-assigned-managed-identity-provisioning.png)
4747

4848

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).
5050

5151
### Key Vault
5252

@@ -61,10 +61,10 @@ Using customer-managed keys with Azure Cosmos DB for PostgreSQL requires you to
6161
* How to use [soft-delete with PowerShell.](../../key-vault/general/key-vault-recovery.md)
6262
* How to use [soft-delete with Azure CLI.](../../key-vault/general/key-vault-recovery.md)
6363

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.
6565

6666
> [!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.
6868
6969
### Add an Access Policy to the Key Vault
7070

@@ -79,7 +79,7 @@ Make sure <b>Vault access policy</b> is selected under Permission model and then
7979

8080
[ ![Screenshot of Key Vault's permissions settings.](media/how-to-customer-managed-keys/access-policy-permissions.png) ](media/how-to-customer-managed-keys/access-policy-permissions.png#lightbox)
8181

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.
8383

8484
1. Navigate to Review + create select Create.
8585

@@ -101,26 +101,26 @@ Make sure <b>Vault access policy</b> is selected under Permission model and then
101101

102102
1. If you're manually rotating the key, the old key version shouldn't be deleted for at least 24 hours.
103103

104-
### Enable CMK encryption during the provisioning for a new cluster
104+
### Enable CMK encryption during the provisioning of a new cluster
105105

106106
# [Portal](#tab/portal)
107107

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.
109109
[ ![Screenshot of Encrytion configuration page.](media/how-to-customer-managed-keys/encryption-tab.png)](media/how-to-customer-managed-keys/encryption-tab.png#lightbox)
110110

111-
1. Select Customer Managed Key under Data encryption key option.
111+
1. Select **Customer-managed key** under **Data encryption key** option.
112112

113-
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.
114114

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.
116116

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**.
118118

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.
120120
![Screenshot of data encryption tab.](media/how-to-customer-managed-keys/data-encryption-tab-note.png)
121121

122122
> [!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.
124124
125125
# [ARM Template](#tab/arm)
126126
```json
@@ -238,26 +238,18 @@ Make sure <b>Vault access policy</b> is selected under Permission model and then
238238

239239
### High availability
240240

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.
250242

251243
### Changing encryption configuration by performing a PITR
252244

253-
Encryption configuration can be changed from service managed 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).
254246

255247
# [Portal](#tab/portal)
256248

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.
258250
[ ![Screenshot of PITR.](media/how-to-customer-managed-keys/point-in-time-restore.png)](media/how-to-customer-managed-keys/point-in-time-restore.png#lightbox)
259251

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.
261253

262254
# [ARM Template](#tab/arm)
263255

@@ -343,5 +335,7 @@ To monitor the database state, and to enable alerting for the loss of transparen
343335

344336
* [Action groups](../../azure-monitor/alerts/action-groups.md): Define these groups to send you notifications and alerts based on your preference.
345337

338+
## Next steps
346339

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

articles/cosmos-db/postgresql/reference-limits.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: niklarin
66
ms.service: cosmos-db
77
ms.subservice: postgresql
88
ms.topic: conceptual
9-
ms.date: 08/07/2023
9+
ms.date: 01/03/2024
1010
---
1111

1212
# Azure Cosmos DB for PostgreSQL limits and limitations
@@ -65,6 +65,14 @@ be scaled down (decreased).
6565
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)
6666
for various node and cluster sizes.
6767

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).
75+
6876
## Compute
6977

7078
### Subscription vCore limits
@@ -92,7 +100,7 @@ currently **not supported**:
92100

93101
<a name='azure-active-directory-authentication'></a>
94102

95-
### Microsoft Entra authentication
103+
### Microsoft Entra ID authentication
96104
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**:
97105

98106
* PostgreSQL 11, 12, and 13

0 commit comments

Comments
 (0)