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
Data stored in your Azure Cosmos account is automatically and seamlessly encrypted. Azure Cosmos DB offers two options to manage the keys used to encrypt the data at rest:
18
18
19
-
-**Service-managed keys**: By default, Microsoft manages the keys used to encrypt the data in your Azure Cosmos account.
19
+
-**Service-managed keys**: By default, Microsoft manages the keys that are used to encrypt the data in your Azure Cosmos account.
20
20
21
-
-**Customer-managed keys (CMK)**: You can choose to add a second layer of encryption with your own keys.
21
+
-**Customer-managed keys (CMK)**: You can optionally choose to add a second layer of encryption with your own keys.
22
22
23
-
You'll need to store your customer-managed keys in the [Azure Key Vault](../key-vault/key-vault-overview.md) and provide a key for each Azure Cosmos account that is enabled with customer-managed keys. This key is used to encrypt all the data stored in that account.
23
+
You must store customer-managed keys in the [Azure Key Vault](../key-vault/key-vault-overview.md) and provide a key for each Azure Cosmos account that is enabled with customer-managed keys. This key is used to encrypt all the data stored in that account.
24
24
25
25
> [!NOTE]
26
-
> Customer-managed keys are only available for new Azure Cosmos accounts. You should configure them during account creation.
26
+
> Currently, customer-managed keys are available only for new Azure Cosmos accounts. You should configure them during account creation.
27
27
28
28
## <aid="register-resource-provider"></a> Register the Azure Cosmos DB resource provider for your Azure subscription
29
29
30
-
1. Sign into the [Azure portal](https://portal.azure.com/), go to your Azure subscription, and select **Resource providers** under the **Settings** tab:
30
+
1. Sign in to the [Azure portal](https://portal.azure.com/), go to your Azure subscription, and select **Resource providers** under the **Settings** tab:
31
31
32
32

33
33
@@ -37,44 +37,44 @@ You'll need to store your customer-managed keys in the [Azure Key Vault](../key-
37
37
38
38
## Configure your Azure Key Vault instance
39
39
40
-
To use customer-managed keys with Azure Cosmos DB, you'll need to set two properties on the Azure Key Vault instance that you plan to use to host your encryption keys. These properties include **soft-delete** and **do not purge**. These properties aren't enabled by default, but you can enable them by using either PowerShell or Azure CLI.
40
+
Using customer-managed keys with Azure Cosmos DB requires youto set two properties on the Azure Key Vault instance that you plan to use to host your encryption keys. These properties include **Soft Delete** and **Do Not Purge**. These properties aren't enabled by default. You can enable them by using either PowerShell or the Azure CLI.
41
41
42
-
To learn how to enable these properties on an existing Azure Key Vault instance, see the **Enabling soft-delete** and **Enabling purge protection** sections in either of these articles:
42
+
To learn how to enable these properties on an existing Azure Key Vault instance, see the "Enabling soft-delete" and "Enabling Purge Protection" sections in one of the following articles:
43
43
44
44
-[How to use soft-delete with PowerShell](../key-vault/key-vault-soft-delete-powershell.md)
45
45
-[How to use soft-delete with Azure CLI](../key-vault/key-vault-soft-delete-cli.md)
46
46
47
47
## Add an access policy to your Azure Key Vault instance
48
48
49
-
1. From the Azure portal, go to the Azure Key Vault instance that you plan to use to host your encryption keys. Select **Access policies** from the left menu:
49
+
1. From the Azure portal, go to the Azure Key Vault instance that you plan to use to host your encryption keys. Select **Access Policies** from the left menu:
50
50
51
51

52
52
53
-
1. Select **+ Add access policy**.
53
+
1. Select **+ Add Access Policy**.
54
54
55
-
1. Under the **Key permissions**dropdown menu, select **Get**, **Unwrap Key**, and **Wrap Key** permissions:
55
+
1. Under the **Key permissions**drop-down menu, select **Get**, **Unwrap Key**, and **Wrap Key** permissions:
56
56
57
57

58
58
59
-
1. Under **Select principal**, select **None selected**. Then, search for **Azure Cosmos DB** principal and select it. Finally, select**Select** at the bottom. If the **Azure Cosmos DB** principal isn't in the list, you may need to reregister the **Microsoft.DocumentDB** resource provider, described in the [register the resource provider](#register-resource-provider) section of this article.
59
+
1. Under **Select principal**, select **None selected**. Then, search for **Azure Cosmos DB** principal and select it. Finally, choose**Select** at the bottom. If the **Azure Cosmos DB** principal isn't in the list, you might need to re-register the **Microsoft.DocumentDB** resource provider as described in the [Register the resource provider](#register-resource-provider) section of this article.
60
60
61
61

62
62
63
63
1. Select **Add** to add the new access policy.
64
64
65
65
## Generate a key in Azure Key Vault
66
66
67
-
1. From the Azure portal, go the Azure Key Vault instance that you plan to use to host your encryption keys, and select **Keys** from the left menu:
67
+
1. From the Azure portal, go the Azure Key Vault instance that you plan to use to host your encryption keys. Then, select **Keys** from the left menu:
68
68
69
69

70
70
71
-
1. Select **Generate/Import**, provide a name for the new key, select an RSA key size (a minimum of 3072 is recommended for best security), and then select **Create**:
71
+
1. Select **Generate/Import**, provide a name for the new key, and select an RSA key size. A minimum of 3072 is recommended for best security. Then select **Create**:
72
72
73
73

74
74
75
-
1. After the key is created, select the newly created key, and select its current version.
75
+
1. After the key is created, select the newly created key, then its current version.
76
76
77
-
1. Copy the key’s **Key Identifier**, except the part after the last forward slash:
77
+
1. Copy the key's **Key Identifier**, except the part after the last forward slash:
78
78
79
79

80
80
@@ -95,7 +95,7 @@ When you create a new Azure Cosmos DB account with PowerShell:
95
95
- Use **2019-12-12** as the API version.
96
96
97
97
> [!IMPORTANT]
98
-
> You'll need to set the `Location` parameter explicitly for the account to be successfully created with customer-managed keys.
98
+
> You must set the `Location` parameter explicitly for the account to be successfully created with customer-managed keys.
### Is there any additional charge when using customer-managed keys?
189
+
### Is there any additional charge for using customer-managed keys?
190
190
191
191
Yes. To account for the additional compute load that is required to manage data encryption and decryption with customer-managed keys, all operations executed against the Azure Cosmos account consume a 25 percent increase in [Request Units](./request-units.md).
192
192
@@ -200,19 +200,19 @@ All the data stored in your Azure Cosmos account is encrypted with the customer-
200
200
201
201
- The property paths declared in your [indexing policies](./index-policy.md)
202
202
203
-
- The values of your container's[partition key](./partitioning-overview.md)
203
+
- The values of your containers'[partition keys](./partitioning-overview.md)
204
204
205
205
### Are customer-managed keys supported for existing Azure Cosmos accounts?
206
206
207
-
This feature is currently available for new accounts only.
207
+
This feature is currently available only for new accounts.
208
208
209
209
### Is there a plan to support finer granularity than account-level keys?
210
210
211
211
Not currently, but container-level keys are being considered.
212
212
213
213
### How do customer-managed keys affect a backup?
214
214
215
-
Azure Cosmos DB takes [regular and automatic backups](./online-backup-and-restore.md) of the data stored in your account. This operation backs up the encrypted data. To use the restored backup, the encryption key that you used at the time of the backup is required. This means that no revocation will have been made and the version of the key that was used at the time of the backup will still be enabled.
215
+
Azure Cosmos DB takes [regular and automatic backups](./online-backup-and-restore.md) of the data stored in your account. This operation backs up the encrypted data. To use the restored backup, the encryption key that you used at the time of the backup is required. This means that no revocation was made and the version of the key that was used at the time of the backup will still be enabled.
216
216
217
217
### How do I revoke an encryption key?
218
218
@@ -230,5 +230,5 @@ The only operation possible when the encryption key has been revoked is account
230
230
231
231
## Next steps
232
232
233
-
- Learn more about [data encryption in Azure Cosmos DB](./database-encryption-at-rest.md)
234
-
- Get an overview of [secure access to data in Cosmos DB](secure-access-to-data.md)
233
+
- Learn more about [data encryption in Azure Cosmos DB](./database-encryption-at-rest.md).
234
+
- Get an overview of [secure access to data in Cosmos DB](secure-access-to-data.md).
0 commit comments