Skip to content

Commit 2be151f

Browse files
committed
cmk docs clarifications
1 parent 6ced28f commit 2be151f

File tree

1 file changed

+38
-52
lines changed

1 file changed

+38
-52
lines changed

articles/ai-foundry/concepts/encryption-keys-portal.md

Lines changed: 38 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -18,55 +18,50 @@ zone_pivot_groups: project-type
1818

1919
# Customer-managed keys for encryption with Azure AI Foundry
2020

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.
2222

2323
## About encryption in Azure AI Foundry
2424

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.
2626

2727
::: zone pivot="hub-project"
2828

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.
3230

3331
* 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).
3432

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.
4034

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).
4236

4337
::: zone-end
4438

45-
## Storage of encrypted data when using customer-managed keys
39+
::: zone pivot="fdp-project"
4640

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.
4842

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
5144

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.
5447
5548
::: zone pivot="hub-project"
49+
## Data storage options with Azure AI Hub CMK encryption
5650

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

59-
Two architecture options are available when using customer-managed keys:
53+
* **(Recommended) Encrypted data is stored in Microsoft subscription**
6054

61-
* **Encrypted data is stored in Microsoft subscription (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.
6256

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**
6458

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.
6660

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.
6863
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.
7065

7166
The following data is stored on the managed resources.
7267

@@ -76,33 +71,17 @@ Two architecture options are available when using customer-managed keys:
7671
|Azure AI Search|Stores indices that are used to help query your Azure AI Foundry content.|An index based off your model deployment names|
7772
|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)|
7873

79-
8074
::: zone-end
8175

8276
## Use customer-managed keys with Azure Key Vault
8377

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).
8779

8880
- You must enable both the **Soft Delete** and **Do Not Purge** properties on the key vault.
8981
- 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.
9082
- 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*.
9183
- 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).
9284

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-
10685
### Enable your Azure AI Foundry resource's managed identity
10786

10887
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
11291
1. Switch the system-assigned managed identity status to **On**.
11392
1. Save your changes, and confirm that you want to enable the system-assigned managed identity.
11493

115-
::: zone-end
116-
11794
## Enable customer-managed keys
11895

11996
::: zone pivot="fdp-project"
12097

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

123100
> [!IMPORTANT]
124101
> 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
134111

135112
::: zone pivot="hub-project"
136113

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

139-
Customer-managed key encryption is configured via Azure portal in a similar way for each Azure resource:
140116
1. Create a new Azure resource in Azure portal.
141117
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.
142119

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":::
148121

149122
::: zone-end
150123

@@ -176,16 +149,29 @@ How to Rotate Encryption Keys
176149

177150
* The service will begin using the new key for encryption of newly stored data. Existing data remains encrypted with the previous key unless reprocessed.
178151

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+
179156
## Limitations
180157

181158
* 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.
182160
* While project sub-resources exist, you can't switch AI Foundry resources from Customer-managed keys to Microsoft managed keys.
183161
* [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.
184162
* [Azure AI Foundry Customer-Managed Key Request Form](https://aka.ms/cogsvc-cmk) is required for Speech and Content Moderator.
185163
* 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.
186164

187-
## Learn more
165+
## Next steps
166+
167+
Learn more:
188168

189169
* [Customer-managed key encryption](../concepts/encryption-keys-portal.md)
190170
* [Disable local auth](../how-to/disable-local-auth.md)
191171
* [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

Comments
 (0)