Skip to content

Commit 50ddfe2

Browse files
authored
Merge pull request #186061 from ThomasWeiss/thweiss-cosmosdb=msi2
Restore PITR + CMK clarifications
2 parents dc0478e + d4de75e commit 50ddfe2

File tree

4 files changed

+23
-6
lines changed

4 files changed

+23
-6
lines changed

articles/cosmos-db/continuous-backup-restore-introduction.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,19 @@ For example, if you have 1-TB of data in two regions then:
9999

100100
* Restore cost is calculated as (1000 * 0.15) = $150 per restore
101101

102+
## Customer-managed keys
103+
104+
See [How do customer-managed keys affect continuous backups?](./how-to-setup-cmk.md#how-do-customer-managed-keys-affect-continuous-backups) to learn:
105+
106+
- How to configure your Azure Cosmos DB account when using customer-managed keys in conjunction with continuous backups.
107+
- How do customer-managed keys affect restores.
108+
102109
## Current limitations
103110

104111
Currently the point in time restore functionality has the following limitations:
105112

106113
* Only Azure Cosmos DB APIs for SQL and MongoDB are supported for continuous backup. Cassandra, Table, and Gremlin APIs are not yet supported.
107114

108-
* Accounts with customer-managed keys are not supported to use continuous backup.
109-
110115
* Multi-regions write accounts are not supported.
111116

112117
* Azure Synapse Link and periodic backup mode can coexist in the same database account. However, analytical store data isn't included in backups and restores. When Synapse Link is enabled, Azure Cosmos DB will continue to automatically take backups of your data in the transactional store at a scheduled backup interval.

articles/cosmos-db/how-to-setup-cmk.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,18 @@ Azure Cosmos DB takes [regular and automatic backups](./online-backup-and-restor
406406
407407
The following conditions are necessary to successfully restore a periodic backup:
408408
- The encryption key that you used at the time of the backup is required and must be available in Azure Key Vault. This means that no revocation was made and the version of the key that was used at the time of the backup is still enabled.
409-
- If you [used a system-assigned managed identity in the Azure Key Vault access policy](#to-use-a-system-assigned-managed-identity) of the source account, you must temporarily grant access to the Azure Cosmos DB first-party identity in that access policy as described [here](#add-access-policy) before restoring your data. Once the data is fully restored to the target account, you can remove the first-party identity from the Key Vault access policy and set your desired identity configuration.
409+
- If you [used a system-assigned managed identity in the Azure Key Vault access policy](#to-use-a-system-assigned-managed-identity) of the source account, you must temporarily grant access to the Azure Cosmos DB first-party identity in that access policy as described [here](#add-access-policy) before restoring your data. This is because a system-assigned managed identity is specific to an account and cannot be re-used in the target account. Once the data is fully restored to the target account, you can set your desired identity configuration and remove the first-party identity from the Key Vault access policy.
410+
411+
### How do customer-managed keys affect continuous backups?
412+
413+
Azure Cosmos DB gives you the option to configure [continuous backups](./continuous-backup-restore-introduction.md) on your account. With continuous backups, you can restore your data to any point in time within the past 30 days. To use continuous backups on an account where customer-managed keys are enabled, you must [use a user-assigned managed identity](#to-use-a-user-assigned-managed-identity) in the Key Vault access policy; the Azure Cosmos DB first-party identity or a system-assigned managed identity aren't currently supported on accounts using continuous backups.
414+
415+
The following conditions are necessary to successfully perform a point-in-time restore:
416+
- The encryption key that you used at the time of the backup is required and must be available in Azure Key Vault. This means that no revocation was made and the version of the key that was used at the time of the backup is still enabled.
417+
- You must ensure that the user-assigned managed identity originally used on the source account is still declared in the Key Vault access policy.
418+
419+
> [!IMPORTANT]
420+
> If you revoke the encryption key before deleting your account, your account's backup may miss the data written up to 1 hour before the revocation was made.
410421
411422
### How do I revoke an encryption key?
412423

articles/cosmos-db/migrate-continuous-backup.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,9 @@ The following are the key reasons to migrate into continuous mode:
3030
>
3131
> * If the account is of type SQL API or API for MongoDB.
3232
> * If the account has a single write region.
33-
> * If the account isn't enabled with customer managed keys(CMK).
3433
> * If the account isn't enabled with analytical store.
34+
>
35+
> If the account is using [customer-managed keys](./how-to-setup-cmk.md), a user-assigned managed identity must be declared in the Key Vault access policy and must be set as the default identity on the account.
3536
3637
## Permissions
3738

@@ -169,7 +170,7 @@ Yes.
169170
#### Which accounts can be targeted for backup migration?
170171
Currently, SQL API and API for MongoDB accounts with single write region, that have shared, provisioned, or autoscale provisioned throughput support migration.
171172

172-
Accounts enabled with analytical storage, multiple-write regions, and Customer Managed Keys(CMK) are not supported for migration.
173+
Accounts enabled with analytical storage and multiple-write regions are not supported for migration.
173174

174175
#### Does the migration take time? What is the typical time?
175176
Migration takes time and it depends on the size of data and the number of regions in your account. You can get the migration status using Azure CLI or PowerShell commands. For large accounts with 10s of terabytes of data, the migration can take up to few days to complete.

articles/cosmos-db/synapse-link.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ Synapse Link enables you to run near real-time analytics over your mission-criti
132132

133133
* **Network isolation using private endpoints** - You can control network access to the data in the transactional and analytical stores independently. Network isolation is done using separate managed private endpoints for each store, within managed virtual networks in Azure Synapse workspaces. To learn more, see how to [Configure private endpoints for analytical store](analytical-store-private-endpoints.md) article.
134134

135-
* **Data encryption with customer-managed keys** - You can seamlessly encrypt the data across transactional and analytical stores using the same customer-managed keys in an automatic and transparent manner. Azure Synapse Link only supports configuring customer-managed keys using your Azure Cosmos DB account's managed identity. You must configure your account's managed identity in your Azure Key Vault access policy before enabling Azure Synapse Link](configure-synapse-link.md#enable-synapse-link) on your account. To learn more, see how to [Configure customer-managed keys using Azure Cosmos DB accounts' managed identities](how-to-setup-cmk.md#using-managed-identity) article.
135+
* **Data encryption with customer-managed keys** - You can seamlessly encrypt the data across transactional and analytical stores using the same customer-managed keys in an automatic and transparent manner. Azure Synapse Link only supports configuring customer-managed keys using your Azure Cosmos DB account's managed identity. You must configure your account's managed identity in your Azure Key Vault access policy before [enabling Azure Synapse Link](configure-synapse-link.md#enable-synapse-link) on your account. To learn more, see how to [Configure customer-managed keys using Azure Cosmos DB accounts' managed identities](how-to-setup-cmk.md#using-managed-identity) article.
136136

137137
* **Secure key management** - Accessing the data in analytical store from Synapse Spark and Synapse serverless SQL pools requires managing Azure Cosmos DB keys within Synapse Analytics workspaces. Instead of using the Azure Cosmos DB account keys inline in Spark jobs or SQL scripts, Azure Synapse Link provides more secure capabilities:
138138

0 commit comments

Comments
 (0)