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
With data encryption with customer-managed keys for Azure Database for MySQL - Flexible Server Preview, you can bring your own key (BYOK) for data protection at rest and implement separation of duties for managing keys and data. With customer managed keys (CMKs), the customer is responsible for and in a full control of key lifecycle management (key creation, upload, rotation, deletion), key usage permissions, and auditing operations on keys.
16
18
17
19
Data encryption with CMKs is set at the server level. For a given server, a CMK, called the key encryption key (KEK), is used to encrypt the data encryption key (DEK) used by the service. The KEK is an asymmetric key stored in a customer-owned and customer-managed [Azure Key Vault instance](../../key-vault/general/security-features.md). Key Vault is highly available and scalable secure storage for RSA cryptographic keys, optionally backed by FIPS 140-2 Level 2 validated hardware security modules (HSMs). Key Vault does not allow direct access to a stored key, but instead provides encryption/decryption services using the key to the authorized entities. The key can be generated by the key vault, imported, or [transferred to the key vault from an on-prem HSM device](../../key-vault/keys/hsm-protected-keys.md).
18
20
21
+
> [!Note]
22
+
> In the Public Preview, we can't enable geo redundancy on a flexible server that has CMK enabled, nor can we enable geo redundancy on a flexible server that has CMK enabled.
23
+
19
24
## Terminology and description
20
25
21
26
**Data encryption key (DEK)**: A symmetric AES256 key used to encrypt a partition or block of data. Encrypting each block of data with a different key makes crypto analysis attacks more difficult. Access to DEKs is needed by the resource provider or application instance that is encrypting and decrypting a specific block. When you replace a DEK with a new key, only the data in its associated block must be re-encrypted with the new key.
@@ -44,7 +49,7 @@ To configure the CMK for an Azure Database for MySQL flexible server, you need t
44
49
45
50
When you configure a flexible server to use a CMK stored in the key vault, the server 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 flexible server will send the protected DEK to the key vault for decryption.
46
51
47
-
:::image type="content" source="media/concepts-customer-managed-key-mysql-flexible-server/mysql-customer-managed-key.jpg" alt-text="Diagram of how data encryption with a customer-managed key works.":::
52
+
:::image type="content" source="media/concepts-customer-managed-key/mysql-customer-managed-key.jpg" alt-text="Diagram of how data encryption with a customer-managed key works.":::
48
53
49
54
After logging is enabled, auditors can use Azure Monitor to review Key Vault audit event logs. To enable logging of [Key Vault auditing events](../../key-vault/key-vault-insights-overview.md), see Monitoring your key vault service with Key Vault insights.
50
55
@@ -70,7 +75,7 @@ Before you attempt to configure the CMK, be sure to address the following requir
70
75
- If you're [importing an existing key](/rest/api/keyvault/keys/import-key/import-key?tabs=HTTP) into the key vault, make sure to provide it in the supported file formats (.pfx, .byok, .backup).
71
76
72
77
> [!Note]
73
-
> For detailed, step-by-step instructions about how to configure date encryption for an Azure Database for MySQL flexible server via the Azure portal, see [Configure data encryption for MySQL Flexible server](../single-server/how-to-data-encryption-portal.md).
78
+
> For detailed, step-by-step instructions about how to configure date encryption for an Azure Database for MySQL flexible server via the Azure portal, see [Configure data encryption for MySQL Flexible server](how-to-data-encryption-portal.md).
74
79
75
80
## Recommendations for configuring data encryption
76
81
@@ -114,16 +119,13 @@ Once Azure Database for MySQL flexible server is encrypted with a customer's man
114
119
115
120
When attempting to restore an Azure Database for MySQL flexible server, you're given the option to select the User managed identity, and Key to encrypt the restore server.
116
121
117
-
> [!Note]
118
-
> In the Public Preview, we cannot enable geo redundancy on a flexible server that has CMK enabled, nor can we enable geo redundancy on a flexible server that has CMK enabled.
119
-
120
122
To avoid issues while setting up customer-managed data encryption during restore or read replica creation, it's important to follow these steps on the source and restored/replica servers:
121
123
122
124
- Initiate the restore or read replica creation process from the source Azure Database for MySQL Flexible server.
123
125
- On the restored/replica server, revalidate the customer-managed key in the data encryption settings to ensure that the User managed identity is given _Get, List, Wrap key_ and _Unwrap key_ permissions to the key stored in Key Vault.
124
126
125
127
## Next steps
126
-
-[Data encryption with Azure CLI (Preview)](tutorial-data-encryption-mysql-flexible-server-cli.md)
127
-
-[Data encryption with Azure portal (Preview)](tutorial-data-encryption-mysql-flexible-server-portal.md)
128
+
-[Data encryption with Azure CLI (Preview)](how-to-data-encryption-cli.md)
129
+
-[Data encryption with Azure portal (Preview)](how-to-data-encryption-portal.md)
Copy file name to clipboardExpand all lines: articles/mysql/flexible-server/how-to-data-encryption-cli.md
+10-4Lines changed: 10 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,12 @@ ms.reviewer: maghan
7
7
ms.date: 09/15/2022
8
8
ms.service: mysql
9
9
ms.subservice: flexible-server
10
-
ms.topic: conceptual
10
+
ms.topic: how-to
11
11
---
12
12
13
-
# Tutorial: Data encryption for Azure Database for MySQL - Flexible Server with Azure CLI Preview
13
+
# Data encryption for Azure Database for MySQL - Flexible Server with Azure CLI Preview
14
+
15
+
[!INCLUDE[applies-to](../includes/applies-to.md)]
14
16
15
17
This tutorial shows you how to set up and manage data encryption for your Azure Database for MySQL - Flexible Server using Azure CLI preview.
16
18
@@ -77,6 +79,9 @@ You can verify the above attributes of the key by using the following command:
77
79
az keyvault key show --vault-name \<key\_vault\_name\> -n \<key\_name\>
78
80
```
79
81
82
+
> [!Note]
83
+
> In the Public Preview, we can't enable geo redundancy on a flexible server that has CMK enabled, nor can we enable geo redundancy on a flexible server that has CMK enabled.
84
+
80
85
## Update an existing MySQL flexible server with data encryption
81
86
82
87
Set or change key and identity for data encryption:
@@ -243,5 +248,6 @@ The params **identityUri** and **primaryKeyUri** are the resource ID of the user
243
248
244
249
## Next steps
245
250
246
-
-[Customer managed keys data encryption (Preview)](concepts-customer-managed-key-mysql-flexible-server.md)
247
-
-[Data encryption with Azure portal (Preview)](tutorial-data-encryption-mysql-flexible-server-portal.md)
251
+
-[Customer managed keys data encryption (Preview)](concepts-customer-managed-key.md)
252
+
-[Data encryption with Azure portal (Preview)](how-to-data-encryption-portal.md)
Copy file name to clipboardExpand all lines: articles/mysql/flexible-server/how-to-data-encryption-portal.md
+19-14Lines changed: 19 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,12 @@ ms.reviewer: maghan
7
7
ms.date: 09/15/2022
8
8
ms.service: mysql
9
9
ms.subservice: flexible-server
10
-
ms.topic: conceptual
10
+
ms.topic: how-to
11
11
---
12
12
13
-
# Tutorial: Data encryption for Azure Database for MySQL - Flexible Server by using the Azure portal Preview
13
+
# Data encryption for Azure Database for MySQL - Flexible Server by using the Azure portal Preview
14
+
15
+
[!INCLUDE[applies-to](../includes/applies-to.md)]
14
16
15
17
This tutorial shows you how to set up and manage data encryption for your Azure Database for MySQL flexible server.
16
18
@@ -32,33 +34,36 @@ In this tutorial, you learn how to:
32
34
33
35
1. In Key Vault, select **Access policies**, and then select **Create**.
34
36
35
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/1-mysql-key-vault-access-policy.jpeg" alt-text="Screenshot of Key Vault Access Policy in the Azure portal.":::
37
+
:::image type="content" source="media/how-to-data-encryption-portal/1-mysql-key-vault-access-policy.jpeg" alt-text="Screenshot of Key Vault Access Policy in the Azure portal.":::
36
38
37
39
2. On the **Permissions** tab, select the following **Key permissions - Get** , **List** , **Wrap Key** , **Unwrap Key**.
38
40
39
41
3. On the **Principal** tab, select the User-assigned Managed Identity.
40
42
41
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/2-mysql-principal-tab.jpeg" alt-text="Screenshot of the principal tab in the Azure portal.":::
43
+
:::image type="content" source="media/how-to-data-encryption-portal/2-mysql-principal-tab.jpeg" alt-text="Screenshot of the principal tab in the Azure portal.":::
42
44
43
45
4. Select **Create**.
44
46
47
+
> [!Note]
48
+
> In the Public Preview, we can't enable geo redundancy on a flexible server that has CMK enabled, nor can we enable geo redundancy on a flexible server that has CMK enabled.
49
+
45
50
## Configure customer managed key
46
51
47
52
To set up the customer managed key, perform the following steps.
48
53
49
54
1. In the portal, navigate to your Azure Database for MySQL flexible server, and then, under **Security** , select **Data encryption**.
50
55
51
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/3-mysql-data-encryption.jpeg" alt-text="Screenshot of the data encryption page.":::
56
+
:::image type="content" source="media/how-to-data-encryption-portal/3-mysql-data-encryption.jpeg" alt-text="Screenshot of the data encryption page.":::
52
57
53
58
2. On the **Data encryption** page, under **No identity assigned** , select **Change identity** ,
54
59
55
60
3. In the **Select user assigned**** managed identity **dialog box, select the** demo-umi **identity, and then select** Add**.
56
61
57
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/4-mysql-assigned-managed-identity-demo-uni.jpeg" alt-text="Screenshot of selecting the demo-umi from the assigned managed identity page.":::
62
+
:::image type="content" source="media/how-to-data-encryption-portal/4-mysql-assigned-managed-identity-demo-uni.jpeg" alt-text="Screenshot of selecting the demo-umi from the assigned managed identity page.":::
58
63
59
64
4. To the right of **Key selection method** , either **Select a key** and specify a key vault and key pair, or select **Enter a key identifier**.
60
65
61
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/5-mysql-select-key.jpeg" alt-text="Screenshot of the Select Key page in the Azure portal.":::
66
+
:::image type="content" source="media/how-to-data-encryption-portal/5-mysql-select-key.jpeg" alt-text="Screenshot of the Select Key page in the Azure portal.":::
62
67
63
68
5. Select **Save**.
64
69
@@ -69,29 +74,29 @@ To use data encryption as part of a restore operation, perform the following ste
69
74
1. In the Azure portal, on the navigate Overview page for your server, select **Restore**.
70
75
1. On the **Security** tab, you specify the identity and the key.
71
76
72
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/6-mysql-navigate-overview-page.jpeg" alt-text="Screenshot of overview page.":::
77
+
:::image type="content" source="media/how-to-data-encryption-portal/6-mysql-navigate-overview-page.jpeg" alt-text="Screenshot of overview page.":::
73
78
74
79
2. Select **Change identity** and select the **User assigned managed identity** and select on **Add**
75
80
**To select the Key** , you can either select a **key vault** and **key pair** or enter a **key identifier**
76
81
77
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/7-mysql-change-identity.jpeg" alt-text="SCreenshot of the change identity page.":::
82
+
:::image type="content" source="media/how-to-data-encryption-portal/7-mysql-change-identity.jpeg" alt-text="SCreenshot of the change identity page.":::
78
83
79
84
## Using Data encryption for replica servers
80
85
81
86
After your Azure Database for MySQL flexible server is encrypted with a customer's managed key stored in Key Vault, any newly created copy of the server will also be encrypted.
82
87
83
88
1. To configuration replication, under **Settings** , select **Replication** , and then select **Add replica**.
84
89
85
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/8-mysql-replication.jpeg" alt-text="Screenshot of the Replication page.":::
90
+
:::image type="content" source="media/how-to-data-encryption-portal/8-mysql-replication.jpeg" alt-text="Screenshot of the Replication page.":::
86
91
87
92
2. In the Add Replica server to Azure Database for MySQL dialog box, select the appropriate **Compute + storage** option, and then select **OK**.
88
93
89
-
:::image type="content" source="media/tutorial-set-data-encryption-portal-mysql-flexible-server/9-mysql-compute-storage.jpeg" alt-text="Screenshot of the Compute + Storage page.":::
94
+
:::image type="content" source="media/how-to-data-encryption-portal/9-mysql-compute-storage.jpeg" alt-text="Screenshot of the Compute + Storage page.":::
90
95
91
-
> [!Important}
96
+
> [!Important]
92
97
> When trying to encrypt Azure Database for MySQL flexible server with a customer managed key that already has a replica(s), we recommend configuring the replica(s) as well by adding the managed identity and key.
93
98
94
99
## Next steps
95
100
96
-
-[Customer managed keys data encryption (Preview)](concepts-customer-managed-key-mysql-flexible-server.md)
97
-
-[Data encryption with Azure CLI (Preview)](tutorial-data-encryption-mysql-flexible-server-cli.md)
101
+
-[Customer managed keys data encryption (Preview)](concepts-customer-managed-key.md)
102
+
-[Data encryption with Azure CLI (Preview)](how-to-data-encryption-cli.md)
0 commit comments