Skip to content

Commit eb0d6f7

Browse files
authored
Merge pull request #102618 from shawnmariejones/how-to-setup-cmk2
edit pass: how-to-set-up-cmk
2 parents fd14624 + d15156f commit eb0d6f7

File tree

1 file changed

+28
-28
lines changed

1 file changed

+28
-28
lines changed

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

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@ ROBOTS: noindex, nofollow
1616
1717
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:
1818

19-
- **Service-managed keys** - By default, Microsoft manages the keys that are 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.
2020

21-
- **Customer-managed keys (CMK)**- You can optionally 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.
2222

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.
23+
You must store customer-managed keys in [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.
2424

2525
> [!NOTE]
26-
> Currently, customer-managed keys are only available for new Azure Cosmos accounts and 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.
2727
2828
## <a id="register-resource-provider"></a> Register the Azure Cosmos DB resource provider for your Azure subscription
2929

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:
3131

3232
!["Resource providers" entry from the left menu](./media/how-to-setup-cmk/portal-rp.png)
3333

@@ -37,7 +37,7 @@ You must store customer-managed keys in the [Azure Key Vault](../key-vault/key-v
3737

3838
## Configure your Azure Key Vault instance
3939

40-
Using customer-managed keys with Azure Cosmos DB requires you 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, you can enable them by using either PowerShell or the Azure CLI.
40+
Using customer-managed keys with Azure Cosmos DB requires you 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. You can enable them by using either PowerShell or the Azure CLI.
4141

4242
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:
4343

@@ -50,47 +50,47 @@ To learn how to enable these properties on an existing Azure Key Vault instance,
5050

5151
!["Access policies" from the left menu](./media/how-to-setup-cmk/portal-akv-ap.png)
5252

53-
1. Select **+ Add Access Policy**
53+
1. Select **+ Add Access Policy**.
5454

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:
5656

5757
![Selecting the right permissions](./media/how-to-setup-cmk/portal-akv-add-ap-perm2.png)
5858

59-
1. Under **Select principal**, select **None selected**. Then, search for **Azure Cosmos DB** principal and select it. Finally, click **Select** at the bottom (if the **Azure Cosmos DB** principal isn't in the list, you may need to re-register the **Microsoft.DocumentDB** resource provider as described in [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.
6060

6161
![Select the Azure Cosmos DB principal](./media/how-to-setup-cmk/portal-akv-add-ap.png)
6262

63-
1. Select **Add** to add the new access policy
63+
1. Select **Add** to add the new access policy.
6464

6565
## Generate a key in Azure Key Vault
6666

6767
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:
6868

6969
!["Keys" entry from the left menu](./media/how-to-setup-cmk/portal-akv-keys.png)
7070

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**:
7272

7373
![Create a new key](./media/how-to-setup-cmk/portal-akv-gen.png)
7474

75-
1. After the key is created, select the newly created key, and then on its current version.
75+
1. After the key is created, select the newly created key and then its current version.
7676

77-
1. Copy the keys **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:
7878

7979
![Copying the key's key identifier](./media/how-to-setup-cmk/portal-akv-keyid.png)
8080

8181
## Create a new Azure Cosmos account
8282

8383
### Using the Azure portal
8484

85-
When creating a new Azure Cosmos DB account from the Azure portal, choose **Customer-managed key** in the **Encryption** step. In the **Key URI** field, paste the URI/key identifier of the Azure Key Vault key that you copied from the previous step:
85+
When you create a new Azure Cosmos DB account from the Azure portal, choose **Customer-managed key** in the **Encryption** step. In the **Key URI** field, paste the URI/key identifier of the Azure Key Vault key that you copied from the previous step:
8686

8787
![Setting CMK parameters in the Azure portal](./media/how-to-setup-cmk/portal-cosmos-enc.png)
8888

8989
### Using Azure PowerShell
9090

91-
When creating a new Azure Cosmos DB account with PowerShell,
91+
When you create a new Azure Cosmos DB account with PowerShell:
9292

93-
- Pass the URI of the Azure Key Vault key copied from earlier under the **keyVaultKeyUri** property in the **PropertyObject**
93+
- Pass the URI of the Azure Key Vault key copied earlier under the **keyVaultKeyUri** property in **PropertyObject**.
9494

9595
- Use **2019-12-12** as the API version.
9696

@@ -117,9 +117,9 @@ New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
117117
-Location $accountLocation -Name $accountName -PropertyObject $CosmosDBProperties
118118
```
119119

120-
### Using Azure Resource Manager template
120+
### Using an Azure Resource Manager template
121121

122-
When creating a new Azure Cosmos account through an Azure Resource Manager template:
122+
When you create a new Azure Cosmos account through an Azure Resource Manager template:
123123

124124
- Pass the URI of the Azure Key Vault key that you copied earlier under the **keyVaultKeyUri** property in the **properties** object.
125125

@@ -186,33 +186,33 @@ New-AzResourceGroupDeployment `
186186

187187
## Frequently asked questions
188188

189-
### Is there any additional charge when using customer-managed keys?
189+
### Is there any additional charge for using customer-managed keys?
190190

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% increase in [Request Units](./request-units.md).
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).
192192

193193
### What data gets encrypted with the customer-managed keys?
194194

195-
All the data stored in your Azure Cosmos account is encrypted with the customer-managed keys, except for the following meta-data:
195+
All the data stored in your Azure Cosmos account is encrypted with the customer-managed keys, except for the following metadata:
196196

197197
- The names of your Azure Cosmos DB [accounts, databases, and containers](./account-overview.md#elements-in-an-azure-cosmos-account)
198198

199199
- The names of your [stored procedures](./stored-procedures-triggers-udfs.md)
200200

201201
- The property paths declared in your [indexing policies](./index-policy.md)
202202

203-
- The values of your containers' [partition key](./partitioning-overview.md)
203+
- The values of your containers' [partition keys](./partitioning-overview.md)
204204

205205
### Are customer-managed keys supported for existing Azure Cosmos accounts?
206206

207-
This feature is currently available for new accounts only.
207+
This feature is currently available only for new accounts.
208208

209209
### Is there a plan to support finer granularity than account-level keys?
210210

211-
Not currently, however container-level keys are being considered.
211+
Not currently, but container-level keys are being considered.
212212

213-
### How does customer-managed keys affect a backup?
213+
### How do customer-managed keys affect a backup?
214214

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 shall have been made and the version of the key that was used at the time of the backup shall 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.
216216

217217
### How do I revoke an encryption key?
218218

@@ -230,5 +230,5 @@ The only operation possible when the encryption key has been revoked is account
230230

231231
## Next steps
232232

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

Comments
 (0)