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
# Customer-managed keys for encryption with Azure AI Foundry
20
20
21
-
Customer-managed keys (CMKs) in [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs) provide enhanced control over the encryption of your data. By using CMKs, you can manage your own encryption keys to add an extra layer of protection and meet compliance requirements more effectively.
21
+
Customer-managed key (CMK) encryption in [Azure AI Foundry](https://ai.azure.com/?cid=learnDocs) provide enhanced control over the encryption of your data. By using CMK, you can manage your own encryption keys to add an extra layer of protection and meet compliance requirements more effectively.
22
22
23
23
## About encryption in Azure AI Foundry
24
24
25
-
Azure AI Foundry is a service in the Microsoft Azure cloud. By default, services use Microsoft-managed encryption keys to encrypt data in transit and at rest.
25
+
Azure AI Foundry is a service in the Microsoft Azure cloud. By default, Azure services use Microsoft-managed encryption keys to encrypt data in transit and at rest.
26
26
27
27
::: zone pivot="hub-project"
28
28
29
-
Azure AI Hub resource takes a dependency on Azure AI Foundry resource as a dependency. Both resources are managed in your Azure subscription. You must configure customer-managed key encryption on both.
30
-
31
-
* AI Foundry resources, data is encrypted and decrypted using [FIPS 140-2](https://en.wikipedia.org/wiki/FIPS_140-2) compliant [256-bit AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) encryption. Encryption and decryption are transparent, meaning encryption and access are managed for you. Your data is secure by default and you don't need to modify your code or applications to take advantage of encryption.
29
+
When you use hub-based projects, the Azure AI hub resource acts as gateway to a number of Azure services including Azure AI Hub, Azure Storage account and Azure AI Foundry resource. You must configure customer-managed key encryption on each of these services to use CMK encryption throughout with AI Foundry.
32
30
33
31
* AI Hub resources, and [!INCLUDE [hub](../includes/hub-project-name.md)] resources are implementations of the Azure Machine Learning workspace and encrypt data in transit and at rest. For details, see [Data encryption with Azure Machine Learning](../../machine-learning/concept-data-encryption.md).
34
32
35
-
::: zone-end
36
-
37
-
::: zone pivot="fdp-project"
38
-
39
-
When an Azure AI Foundry resource is created, you can update from Microsoft-managed keys to customer-managed keys. However, you cannot switch back from customer-managed keys to Microsoft-managed keys.
33
+
* AI Foundry resources data is encrypted and decrypted using [FIPS 140-2](https://en.wikipedia.org/wiki/FIPS_140-2) compliant [256-bit AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) encryption. Encryption and decryption are transparent, meaning encryption and access are managed for you. Your data is secure by default and you don't need to modify your code or applications to take advantage of encryption.
40
34
41
-
Data is encrypted and decrypted using [FIPS 140-2](https://en.wikipedia.org/wiki/FIPS_140-2) compliant [256-bit AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard) encryption. Encryption and decryption are transparent, meaning encryption and access are managed for you. Your data is secure by default and you don't need to modify your code or applications to take advantage of encryption.
35
+
* Azure Storage accounts are used to store data uploaded when using AI Foundry portal and when using Foundry tools. For details on how to setup CMK encryption, see [Customer-managed keys for Azure Storage encryption](/azure/storage/common/customer-managed-keys-overview).
42
36
43
37
::: zone-end
44
38
45
-
## Storage of encrypted data when using customer-managed keys
39
+
::: zone pivot="fdp-project"
46
40
47
-
Customer-managed key encryption can be enabled during resource creation through the Azure portal or template options. The encrypted data is stored service-side on Microsoft-managed resources using your encryption key.
41
+
On your Azure AI Foundry resource data is encrypted and decrypted using [FIPS 140-2](https://en.wikipedia.org/wiki/FIPS_140-2) compliant [256-bit AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)encryption. Encryption and decryption are transparent, meaning encryption and access are managed for you. Your data is secure by default and you don't need to modify your code or applications to take advantage of encryption.
48
42
49
-
> [!NOTE]
50
-
> Due to the dedicated hosting model for certain services when using customer-managed key encrypted data, additional charges may apply.
43
+
::: zone-end
51
44
52
-
> [!NOTE]
53
-
> When you use server-side encryption, Azure charges will continue to accrue during the soft delete retention period.
45
+
> [!IMPORTANT]
46
+
> If you [connect AI Foundry with other Azure tools](../how-to/connections-add.md), note that CMK encryption must be configured on every top level Azure resource.
54
47
55
48
::: zone pivot="hub-project"
49
+
## Data storage options with Azure AI Hub CMK encryption
56
50
57
-
## Service-side storage of encrypted data when using customer-managed keys with AI hub
51
+
Two architecture options are available when using customer-managed keys with Azure AI Hubs:
58
52
59
-
Two architecture options are available when using customer-managed keys:
53
+
***(Recommended) Encrypted data is stored in Microsoft subscription**
60
54
61
-
***Encrypted data is stored in Microsoftsubscription (recommended)**
55
+
Data is stored service-side on Microsoft-managed resources instead of in managed resources in your subscription. Metadata is stored in multitenant resources using document-level CMK encryption. An Azure AI Search instance is hosted in the Microsoft-subscription per customer, for each hub, in order to provide data isolation of encrypted data. It is recommended to pick this option for any new deployments.
62
56
63
-
Data is stored service-side on Microsoft-managed resources instead of in managed resources in your subscription. Metadata is stored in multitenant resources using document-level CMK encryption. An Azure AI Search instance is hosted on the Microsoft-side per customer, and for each hub.
57
+
***(Legacy) Encrypted data is stored in your subscription**
64
58
65
-
***Encrypted data is stored in your subscription**
59
+
Traditionally in Azure Machine Learning platform (which AI Hub resource is built on), data is stored in your subscription using a Microsoft-managed resource group that includes an Azure Storage account, Azure Cosmos DB resource and Azure AI Search. The configuration of these resources cannot be modified. Changes to its configurations are not supported.
66
60
67
-
Data is stored in your subscription using a Microsoft-managed resource group that includes an Azure Storage account, Azure Cosmos DB resource and Azure AI Search. The configuration of these resources cannot be modified. Changes to its configurations are not supported.
61
+
> [!IMPORTANT]
62
+
> This option is available for backwards compatibility, and is not recommended for new workloads.
68
63
69
-
All projects using the same hub store data on the resources in a managed resource group identified by the name `azureml-rg-hubworkspacename_GUID`. Projects use Microsoft Entra ID authentication when interacting with these resources. If your hub has a private link endpoint, network access to the managed resources is restricted. The managed resource group is deleted, when the hub is deleted.
64
+
All projects using the same hub store data on the resources in a managed resource group identified by the name `azureml-rg-hubworkspacename_GUID`. Projects use Microsoft Entra ID authentication when interacting with these resources. If your hub has a private link endpoint, network access to the managed resources is restricted. The managed resource group is deleted, when the hub is deleted.
70
65
71
66
The following data is stored on the managed resources.
72
67
@@ -76,33 +71,17 @@ Two architecture options are available when using customer-managed keys:
76
71
|Azure AI Search|Stores indices that are used to help query your Azure AI Foundry content.|An index based off your model deployment names|
77
72
|Azure Storage Account|Stores instructions for how customization tasks are orchestrated|JSON representation of flows you create in [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs)|
78
73
79
-
80
74
::: zone-end
81
75
82
76
## Use customer-managed keys with Azure Key Vault
83
77
84
-
::: zone pivot="fdp-project"
85
-
86
-
You must use Azure Key Vault to store your customer-managed keys. You can either create your own keys and store them in a key vault, or you can use the Azure Key Vault APIs to generate keys. The Azure AI Foundry resource and the key vault must be in the same region and in the same Microsoft Entra tenant, but they can be in different subscriptions. For more information about Azure Key Vault, see [What is Azure Key Vault?](/azure/key-vault/general/overview).
78
+
You must use Azure Key Vault to store your customer-managed keys. You can either create your own keys and store them in a key vault, or you can use the Azure Key Vault APIs to generate keys. Your Azure resources and the Azure Key vault resources must be in the same region and in the same Microsoft Entra tenant, but they can be in different subscriptions. For more information about Azure Key Vault, see [What is Azure Key Vault?](/azure/key-vault/general/overview).
87
79
88
80
- You must enable both the **Soft Delete** and **Do Not Purge** properties on the key vault.
89
81
- If you use the [Key Vault firewall](/azure/key-vault/general/access-behind-firewall), you must allow trusted Microsoft services to access the key vault.
90
82
- You must grant your [!INCLUDE [fdp](../includes/fdp-project-name.md)] system-assigned managed identity the following permissions on your key vault: *get key*, *wrap key*, *unwrap key*.
91
83
- Only RSA and RSA-HSM keys of size 2048 are supported. For more information about keys, see **Key Vault keys** in [About Azure Key Vault keys, secrets, and certificates](/azure/key-vault/general/about-keys-secrets-certificates).
92
84
93
-
::: zone-end
94
-
95
-
::: zone pivot="hub-project"
96
-
97
-
You must use Azure Key Vault to store your customer-managed keys. You can either create your own keys and store them in a key vault, or you can use the Azure Key Vault APIs to generate keys. The Azure AI services resource and the key vault must be in the same region and in the same Microsoft Entra tenant, but they can be in different subscriptions. For more information about Azure Key Vault, see [What is Azure Key Vault?](/azure/key-vault/general/overview).
98
-
99
-
To enable customer-managed keys, the key vault containing your keys must meet these requirements:
100
-
101
-
- You must enable both the **Soft Delete** and **Do Not Purge** properties on the key vault.
102
-
- If you use the [Key Vault firewall](/azure/key-vault/general/access-behind-firewall), you must allow trusted Microsoft services to access the key vault.
103
-
- You must grant your hub and Azure AI Foundry resource's system-assigned managed identity the following permissions on your key vault: *get key*, *wrap key*, *unwrap key*.
104
-
- Only RSA and RSA-HSM keys of size 2048 are supported. For more information about keys, see **Key Vault keys** in [About Azure Key Vault keys, secrets, and certificates](/azure/key-vault/general/about-keys-secrets-certificates).
105
-
106
85
### Enable your Azure AI Foundry resource's managed identity
107
86
108
87
Managed identity must be enabled as a prerequisite for using customer-managed keys.
@@ -112,13 +91,11 @@ Managed identity must be enabled as a prerequisite for using customer-managed ke
112
91
1. Switch the system-assigned managed identity status to **On**.
113
92
1. Save your changes, and confirm that you want to enable the system-assigned managed identity.
114
93
115
-
::: zone-end
116
-
117
94
## Enable customer-managed keys
118
95
119
96
::: zone pivot="fdp-project"
120
97
121
-
Customer-managed key encryption is configured via Azure portal in a similar way for each Azure resource:
98
+
Customer-managed key encryption is configured via Azure portal (or alternatively infrastructure-as-code options) in a similar way for each Azure resource:
122
99
123
100
> [!IMPORTANT]
124
101
> The Azure Key Vault used for encryption **must be in the same resource group** as the AI Foundry project. Key Vaults in other resource groups are not currently supported by the deployment wizards or project configuration workflows.
@@ -134,17 +111,13 @@ Customer-managed key encryption is configured via Azure portal in a similar way
134
111
135
112
::: zone pivot="hub-project"
136
113
137
-
Azure AI Foundry builds on hub as implementation of Azure Machine Learning workspace, Azure AI Services, and lets you connect with other resources in Azure. You must set encryption specifically on each resource.
114
+
Customer-managed key encryption is configured via Azure portal (or alternatively infrastructure-as-code options) in a similar way for each Azure resource:
138
115
139
-
Customer-managed key encryption is configured via Azure portal in a similar way for each Azure resource:
140
116
1. Create a new Azure resource in Azure portal.
141
117
1. Under the encryption tab, select your encryption key.
118
+
1. For Azure AI Hub, check or uncheck 'Service-side encryption' to select your prefered data storage option. Service-side encryption is recommended for any new workload.
142
119
143
-
:::image type="content" source="../../machine-learning/media/concept-customer-managed-keys/cmk-service-side-encryption.png" alt-text="Screenshot of the encryption tab with the option for service side encryption selected." lightbox="../../machine-learning/media/concept-customer-managed-keys/cmk-service-side-encryption.png":::
144
-
145
-
Alternatively, use infrastructure-as-code options for automation. Example Bicep templates for Azure AI Foundry are available on the Azure Quickstart repo:
146
-
1.[CMK encryption for hub](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/aifoundry-cmk).
147
-
1.[Service-side CMK encryption preview for hub](https://github.com/azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/aistudio-cmk-service-side-encryption).
120
+
:::image type="content" source="../../machine-learning/media/concept-customer-managed-keys/cmk-service-side-encryption.png" alt-text="Screenshot of the encryption tab with the option for service side encryption selected." lightbox="../../machine-learning/media/concept-customer-managed-keys/cmk-service-side-encryption.png":::
148
121
149
122
::: zone-end
150
123
@@ -176,16 +149,29 @@ How to Rotate Encryption Keys
176
149
177
150
* The service will begin using the new key for encryption of newly stored data. Existing data remains encrypted with the previous key unless reprocessed.
178
151
152
+
## Additional Azure cost when using customer-managed keys
153
+
154
+
When using customer-managed keys, generally your data is stored using document-level encryption in Microsoft-managed storage components. To ensure your data can be stored in isolation and encrypted using your keys, certain backend Azure services used by Azure AI Foundry must be hosted in a dedicated manner per AI Foundry resource in combination with CMK encryption. Additional charges apply when using CMK to accomodate this dedicated hosting model. These charges will show in Azure Cost management as sub line items under your Azure AI Foundry resource.
155
+
179
156
## Limitations
180
157
181
158
* The customer-managed key for encryption can only be updated to keys in the same Azure Key Vault instance.
159
+
* Azure OpenAI assistants service does not support CMK encryption.
182
160
* While project sub-resources exist, you can't switch AI Foundry resources from Customer-managed keys to Microsoft managed keys.
183
161
*[Azure AI Foundry Customer-Managed Key Request Form](https://aka.ms/cogsvc-cmk) is required to use customer-managed keys in combination with Azure Speech and Content Moderator capabilities.
184
162
*[Azure AI Foundry Customer-Managed Key Request Form](https://aka.ms/cogsvc-cmk) is required for Speech and Content Moderator.
185
163
* If your AI Foundry resource is in a soft-deleted state, any additional Azure charges will continue to accrue during the soft delete retention period.
*[Disable local auth](../how-to/disable-local-auth.md)
191
171
*[What is Azure Key Vault](/azure/key-vault/general/overview)?
172
+
173
+
Reference infrastructure-as-code templates:
174
+
175
+
*[Bicep sample for CMK encyption for Azure AI Foundry resource](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/infrastructure-setup/30-customer-managed-keys)
176
+
*[Bicep sample for CMK encyption for Azure AI Foundry resource and Agent service standard setup](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/infrastructure-setup/31-customer-managed-keys-standard-agent)
177
+
*[Bicep sample for CMK encryption for Azure AI hub](https://github.com/azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/aistudio-cmk-service-side-encryption).
0 commit comments