Skip to content

Commit 34f671d

Browse files
authored
Merge pull request #681 from Blackmist/encryption-keys-cognitive
Encryption keys cognitive
2 parents a09b642 + 8e85780 commit 34f671d

File tree

3 files changed

+106
-3
lines changed

3 files changed

+106
-3
lines changed

articles/ai-studio/concepts/architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ While most of the resources used by Azure AI Studio live in your Azure subscript
7474
- **Metadata storage**: Provided by Azure Storage resources in the Microsoft subscription.
7575

7676
> [!NOTE]
77-
> If you use customer-managed keys, the metadata storage resources are created in your subscription. For more information, see [Customer-managed keys](../../ai-services/encryption/cognitive-services-encryption-keys-portal.md?context=/azure/ai-studio/context/context).
77+
> If you use customer-managed keys, the metadata storage resources are created in your subscription. For more information, see [Customer-managed keys](encryption-keys-portal.md).
7878
7979
Managed compute resources and managed virtual networks exist in the Microsoft subscription, but you manage them. For example, you control which VM sizes are used for compute resources, and which outbound rules are configured for the managed virtual network.
8080

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: Customer-Managed Keys for Azure AI Studio
3+
titleSuffix: Azure AI Studio
4+
description: Learn about using customer-managed keys for encryption to improve data security with Azure AI Studio.
5+
author: Blackmist
6+
ms.author: larryfr
7+
ms.service: azure-ai-services
8+
ms.custom:
9+
- ignite-2023
10+
ms.topic: concept-article
11+
ms.date: 10/7/2024
12+
ms.reviewer: deeikele
13+
# Customer intent: As an admin, I want to understand how I can use my own encryption keys with Azure AI Studio.
14+
---
15+
16+
# Customer-managed keys for encryption with Azure AI Studio
17+
18+
Customer-managed keys (CMKs) in Azure AI Studio 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.
19+
20+
## About encryption in Azure AI Studio
21+
22+
Azure AI Studio layers on top of Azure Machine Learning and Azure AI services. By default, these services use Microsoft-managed encryption keys.
23+
24+
Hub and project 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).
25+
26+
Azure AI services 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.
27+
28+
## Data storage in your subscription when using customer-managed keys
29+
30+
Hub resources store metadata in your Azure subscription when using customer-managed keys. Data is stored in a Microsoft-managed resource group that includes an Azure Storage account, Azure Cosmos DB resource and Azure AI Search.
31+
32+
> [!IMPORTANT]
33+
> When using a customer-managed key, the costs for your subscription will be higher because encrypted data is stored in your subscription. To estimate the cost, use the [Azure pricing calculator](https://azure.microsoft.com/pricing/calculator/).
34+
35+
The encryption key you provide when creating a hub is used to encrypt data that is stored on Microsoft-managed resources. 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.
36+
37+
The following data is stored on the managed resources.
38+
39+
|Service|What it's used for|Example|
40+
|-----|-----|-----|
41+
|Azure Cosmos DB|Stores metadata for your Azure AI projects and tools|Index names, tags; Flow creation timestamps; deployment tags; evaluation metrics|
42+
|Azure AI Search|Stores indices that are used to help query your AI studio content.|An index based off your model deployment names|
43+
|Azure Storage Account|Stores instructions for how customization tasks are orchestrated|JSON representation of flows you create in AI Studio|
44+
45+
>[!IMPORTANT]
46+
> Azure AI Studio uses Azure compute that is managed in the Microsoft subscription, for example when you fine-tune models or or build flows. Its disks are encrypted with Microsoft-managed keys. Compute is ephemeral, meaning after a task is completed the virtual machine is deprovisioned, and the OS disk is deleted. Compute instance machines used for 'Code' experiences are persistant. Azure Disk Encryption isn't supported for the OS disk.
47+
48+
## (Preview) Service-side storage of encrypted data when using customer-managed keys
49+
50+
A new architecture for customer-managed key encryption with hubs is available in preview, which resolves the dependency on the managed resource group. In this new model, encrypted 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. Due to its dedicated resource model, its Azure cost is charged in your subscription via the hub resource.
51+
52+
> [!NOTE]
53+
> During this preview key rotation and user-assigned identity capabilities are not supported. Server-side encryption is currently not supported in reference to an Azure Key Vault for storing your encryption key that has public network access disabled.
54+
55+
## Use customer-managed keys with Azure Key Vault
56+
57+
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).
58+
59+
To enable customer-managed keys, the key vault containing your keys must meet these requirements:
60+
61+
- You must enable both the **Soft Delete** and **Do Not Purge** properties on the key vault.
62+
- 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.
63+
- You must grant your hub's and Azure AI Services resource's system-assigned managed identity the following permissions on your key vault: *get key*, *wrap key*, *unwrap key*.
64+
65+
The following limitations hold for Azure AI Services:
66+
- Only Azure Key Vault with [legacy access policies](/azure/key-vault/general/assign-access-policy) are supported.
67+
- Only RSA and RSA-HSM keys of size 2048 are supported with Azure AI services encryption. 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).
68+
69+
### Enable your Azure AI Services resource's managed identity
70+
71+
If connecting with Azure AI Services, or variants of Azure AI Services such as Azure OpenAI, you need to enable managed identity as a prerequisite for using customer-managed keys.
72+
73+
1. Go to your Azure AI services resource.
74+
1. On the left, under **Resource Management**, select **Identity**.
75+
1. Switch the system-assigned managed identity status to **On**.
76+
1. Save your changes, and confirm that you want to enable the system-assigned managed identity.
77+
78+
## Enable customer-managed keys
79+
80+
Azure AI studio 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.
81+
82+
Customer-managed key encryption is configured via Azure portal in a similar way for each Azure resource:
83+
1. Create a new Azure resource in Azure portal.
84+
1. Under the encryption tab, select your encryption key.
85+
86+
:::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 server side encryption selected." lightbox="../../machine-learning/media/concept-customer-managed-keys/cmk-service-side-encryption.png":::
87+
88+
Alternatively, use infrastructure-as-code options for automation. Example Bicep templates for Azure AI Studio are available on the Azure Quickstart repo:
89+
1. [CMK encryption for hub](https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/aistudio-cmk).
90+
1. [Service-side CMK encryption preview for hub](https://github.com/azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.machinelearningservices/machine-learning-workspace-cmk-service-side-encryption).
91+
92+
## Limitations
93+
94+
* The customer-managed key for encryption can only be updated to keys in the same Azure Key Vault instance.
95+
* After deployment, hubs can't switch from Microsoft-managed keys to Customer-managed keys or vice versa.
96+
* [Azure AI services 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.
97+
* At the time of creation, you can't provide or modify resources that are created in the Microsoft-managed Azure resource group in your subscription.
98+
* You can't delete Microsoft-managed resources used for customer-managed keys without also deleting your hub.
99+
* [Azure AI services Customer-Managed Key Request Form](https://aka.ms/cogsvc-cmk) is still required for Speech and Content Moderator.
100+
101+
## Related content
102+
103+
* [What is Azure Key Vault](/azure/key-vault/general/overview)?

articles/ai-studio/toc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,10 +324,10 @@ items:
324324
href: how-to/troubleshoot-secure-connection-project.md
325325
- name: Data protection & encryption
326326
items:
327+
- name: Configure customer-managed keys
328+
href: concepts/encryption-keys-portal.md
327329
- name: Rotate keys
328330
href: ../ai-services/rotate-keys.md?context=/azure/ai-studio/context/context
329-
- name: Configure customer-managed keys
330-
href: ../ai-services/encryption/cognitive-services-encryption-keys-portal.md?context=/azure/ai-studio/context/context
331331
- name: Vulnerability management
332332
href: concepts/vulnerability-management.md
333333
- name: Disaster recovery

0 commit comments

Comments
 (0)