Skip to content

Commit 6a02e84

Browse files
Merge pull request #7061 from jonburchel/2025-09-12-break-out-hub-project-docs
Breaks out hub articles into new pages and remove zone pivots from original files
2 parents d4ad1bb + cf48615 commit 6a02e84

40 files changed

+1237
-1604
lines changed

.openpublishing.redirection.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
},
88
{
99
"source_path": "articles/ai-foundry/how-to/develop/connections-add-sdk.md",
10-
"redirect_url": "/azure/ai-foundry/how-to/connections-add?pivots=hub-project",
10+
"redirect_url": "/azure/ai-foundry/how-to/connections-add",
1111
"redirect_document_id": false
1212
},
1313
{

articles/ai-foundry/agents/how-to/tools/browser-automation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: cognitive-services
66
manager: nitinme
77
ms.service: azure-ai-agent-service
88
ms.topic: how-to
9-
ms.date: 08/12/2025
9+
ms.date: 09/15/2025
1010
author: aahill
1111
ms.author: aahi
1212
ms.custom: azure-ai-agents
@@ -65,7 +65,7 @@ An example flow would be:
6565

6666
* **Key**: [Get the Playwright access token](https://aka.ms/pww/docs/generate-access-token)
6767

68-
For more information on creating a connection, see [Create a connection](../../../how-to/connections-add.md?pivots=fdp-project).
68+
For more information on creating a connection, see [Create a connection](../../../how-to/connections-add.md).
6969

7070
1. Configure your client by adding a Browser Automation tool using the Azure Playwright connection ID.
7171

articles/ai-foundry/concepts/ai-resources.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: This article introduces concepts about Azure AI Foundry hubs for yo
55
ms.author: sgilley
66
author: sdgilley
77
ms.reviewer: deeikele
8-
ms.date: 08/11/2025
8+
ms.date: 09/15/2025
99
ms.service: azure-ai-foundry
1010
ms.topic: concept-article
1111
ms.custom:
@@ -36,7 +36,7 @@ Hubs group one or more projects together with common settings including data acc
3636

3737
## Create a hub-based project
3838

39-
To start developing, [create a [!INCLUDE [hub-project-name](../includes/hub-project-name.md)]](../how-to/create-projects.md?pivots=hub-project). Hub-based projects can be accessed in [AI Foundry Portal](https://ai.azure.com/?cid=learnDocs) to build with generative AI tools, and [ML Studio](https://ml.azure.com) to build with tools designed for custom machine learning model training.
39+
To start developing, [create a [!INCLUDE [hub-project-name](../includes/hub-project-name.md)]](../how-to/hub-create-projects.md). Hub-based projects can be accessed in [AI Foundry Portal](https://ai.azure.com/?cid=learnDocs) to build with generative AI tools, and [ML Studio](https://ml.azure.com) to build with tools designed for custom machine learning model training.
4040

4141
## Project concepts
4242

@@ -88,7 +88,7 @@ If not provided by you, the following dependent resources are automatically crea
8888

8989
## Next steps
9090

91-
- [Create a [!INCLUDE [hub-project-name](../includes/hub-project-name.md)]](../how-to/create-projects.md?pivots=hub-project)
91+
- [Create a [!INCLUDE [hub-project-name](../includes/hub-project-name.md)]](../how-to/hub-create-projects.md)
9292
- [Quickstart: Analyze images and video in the chat playground](/azure/ai-foundry/openai/gpt-v-quickstart)
9393
- [Learn more about Azure AI Foundry](../what-is-azure-ai-foundry.md)
94-
- [Learn more about projects](../how-to/create-projects.md?pivots=hub-project)
94+
- [Learn more about hub projects](../how-to/hub-create-projects.md)

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

Lines changed: 26 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -17,68 +17,28 @@ ai-usage: ai-assisted
1717
# Customer intent: As an admin, I want to understand how I can use my own encryption keys with Azure AI Foundry.
1818
---
1919

20-
# Customer-managed keys for encryption with Azure AI Foundry
20+
# Customer-managed keys for encryption with Azure AI Foundry (Foundry projects)
21+
22+
> [!NOTE]
23+
> An alternate hub-focused CMK article is available: [Customer-managed keys for hub projects](hub-encryption-keys-portal.md).
2124
2225
Customer-managed key (CMK) encryption in [Azure AI Foundry](https://ai.azure.com/?cid=learnDocs) provides enhanced control over encryption of your data. Learn how to use customer-managed keys to add an extra layer of protection and meet compliance requirements more effectively with Azure Key Vault integration.
2326

2427
## About encryption in Azure AI Foundry
2528

26-
Azure AI Foundry is a service in the Azure cloud. By default, Azure services use Microsoft-managed encryption keys to encrypt data in transit and at rest.
27-
28-
::: zone pivot="hub-project"
29-
30-
When you use hub-based projects, the Azure AI Hub resource acts as a gateway to multiple Azure services, including Azure AI Hub, Azure Storage, and Azure AI Foundry resources. You must configure CMK encryption on each of these services to use CMK encryption throughout with Azure AI Foundry.
31-
32-
* Azure 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 more information, see [Data encryption with Azure Machine Learning](../../machine-learning/concept-data-encryption.md).
33-
* Azure AI Foundry resources data is encrypted and decrypted by 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, which means that 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.
34-
* Azure Storage accounts are used to store uploaded data when you use the Azure AI Foundry portal and tools. For more information on how to set up CMK encryption, see [Customer-managed keys for Azure Storage encryption](/azure/storage/common/customer-managed-keys-overview).
35-
36-
::: zone-end
37-
38-
::: zone pivot="fdp-project"
39-
4029
On your Azure AI Foundry resource, data is encrypted and decrypted by 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, which means that 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.
4130

42-
::: zone-end
43-
4431
> [!IMPORTANT]
4532
> If you [connect Azure AI Foundry with other Azure tools](../how-to/connections-add.md), we recommend that you configure CMK encryption on every other Azure resource to optimize security.
4633
47-
::: zone pivot="hub-project"
48-
## Data storage options with Azure AI Hub CMK encryption
49-
50-
Two architecture options are available when you use CMKs with Azure AI Hub:
51-
52-
* **(Recommended) Encrypted data is stored in a Microsoft subscription**
53-
54-
Data is stored service side on Microsoft-managed resources instead of in managed resources in your subscription. Metadata is stored in multitenant resources by using document-level CMK encryption. An Azure AI Search instance is hosted in the Microsoft-subscription per customer, for each hub, to provide data isolation of encrypted data. We recommend that you use this option for any new deployments.
55-
* **(Legacy) Encrypted data is stored in your subscription**
56-
57-
Traditionally, on the Machine Learning platform (on which the Azure AI Hub resource is built), data is stored in your subscription by using a Microsoft-managed resource group. The group includes an Azure Storage account, an Azure Cosmos DB resource, and Azure AI Search. You can't modify the configuration of these resources because the changes aren't supported.
58-
59-
> [!IMPORTANT]
60-
> This option is available for backward compatibility. We don't recommend it for new workloads.
61-
62-
All projects that use 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 they interact 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.
63-
64-
The following data is stored on the managed resources.
65-
66-
|Service|What it's used for|Example|
67-
|-----|-----|-----|
68-
|Azure Cosmos DB|Stores metadata for your Azure AI projects and tools.|Index names and tags, flow creation timestamps, deployment tags, evaluation metrics|
69-
|Azure AI Search|Stores indices that are used to help query your Azure AI Foundry content.|An index based off your model deployment names|
70-
|Azure Storage account|Stores instructions for how customization tasks are orchestrated.|JSON representation of flows that you create in the [Azure AI Foundry portal](https://ai.azure.com/?cid=learnDocs)|
71-
72-
::: zone-end
73-
7434
## Use CMKs with Azure Key Vault
7535

7636
You must use Azure Key Vault to store your CMKs. You can either create your own keys and store them in a key vault or use the Key Vault APIs to generate keys. Your Azure resources and the Key Vault resources must be in the same region and in the same Microsoft Entra tenant. You can use different subscriptions for the resources. For more information about Key Vault, see [What is Azure Key Vault?](/azure/key-vault/general/overview).
7737

7838
- Enable both the **Soft-delete** and **Purge protection** properties on the key vault.
7939
- Allow trusted Microsoft services to access the key vault if you use the [key vault firewall](/azure/key-vault/general/access-behind-firewall).
80-
- 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.
81-
- Note that only RSA and RSA-HSM keys of size 2048 are supported. For more information about keys, see the "Key Vault keys" section in [About Azure Key Vault keys, secrets, and certificates](/azure/key-vault/general/about-keys-secrets-certificates).
40+
- Grant your project system-assigned managed identity the following permissions on your key vault: Get key, Wrap key, Unwrap key.
41+
- Only RSA and RSA-HSM keys of size 2048 are supported. For more information about keys, see the "Key Vault keys" section in [About Azure Key Vault keys, secrets, and certificates](/azure/key-vault/general/about-keys-secrets-certificates).
8242

8343
### Enable the managed identity for your Azure AI Foundry resource
8444

@@ -91,12 +51,10 @@ Managed identity must be enabled as a prerequisite for using CMKs.
9151

9252
## Enable customer-managed keys
9353

94-
::: zone pivot="fdp-project"
95-
96-
CMK encryption is configured via the Azure portal (or alternatively via infrastructure-as-code options) in a similar way for each Azure resource.
54+
CMK encryption is configured via the Azure portal (or via infrastructure-as-code) similarly for each Azure resource.
9755

9856
> [!IMPORTANT]
99-
> The key vault that you use for encryption *must be in the same resource group* as the Azure AI Foundry project. Currently, deployment wizards or project configuration workflows don't support key vaults in other resource groups.
57+
> The key vault that you use for encryption must be in the same resource group as the Azure AI Foundry project. Deployment wizards or project configuration workflows don't currently support key vaults in other resource groups.
10058
10159
1. Create a new Azure AI Foundry resource in the [Azure portal](https://portal.azure.com/).
10260
1. On the **Encryption** tab, select **Encrypt data using a customer-managed key** > **Select vault and key**. Then select the key vault and the key to use.
@@ -105,82 +63,55 @@ CMK encryption is configured via the Azure portal (or alternatively via infrastr
10563

10664
1. Continue creating your resource as normal.
10765

108-
::: zone-end
109-
110-
::: zone pivot="hub-project"
111-
112-
CMK encryption is configured via the Azure portal (or alternatively via infrastructure-as-code options) in a similar way for each Azure resource.
113-
114-
1. Create a new Azure resource in the Azure portal.
115-
1. On the **Encryption** tab, select your encryption key.
116-
1. For Azure AI Hub, select or clear **Use service-side encryption** to select your preferred data storage option. We recommend service-side encryption for any new workload.
117-
118-
:::image type="content" source="../../machine-learning/media/concept-customer-managed-keys/cmk-service-side-encryption.png" alt-text="Screenshot that shows the Encryption tab with the option for service-side encryption selected." lightbox="../../machine-learning/media/concept-customer-managed-keys/cmk-service-side-encryption.png":::
119-
120-
::: zone-end
121-
12266
## Encryption key rotation
12367

124-
You can rotate a CMK in Key Vault according to your compliance policies. When the key is rotated, you must update the Azure AI Foundry resource to use the new key URI. Rotating the key doesn't trigger reencryption of data in the resource.
68+
Rotate a CMK in Key Vault according to your compliance policies. When the key is rotated, update the Azure AI Foundry resource to use the new key URI. Rotating the key doesn't trigger reencryption of existing data.
12569

12670
### Rotation limitations
12771

128-
* **Same key vault requirement**: You can rotate encryption keys only to another key within the same Key Vault instance. Cross-vault key rotation isn't supported.
129-
* **Scope of rotation**: The new key must be compatible with the existing encryption configuration. Ensure that the new key is properly configured with the necessary access policies and permissions.
130-
* **Update from customer managed to Microsoft managed**: When an Azure AI Foundry resource or an Azure AI hub is created, you can update from Microsoft-managed keys to CMKs. You can't switch back from CMKs to Microsoft-managed keys.
72+
* Same key vault only: rotate to another key within the same Key Vault instance.
73+
* Scope: new key must have required access policies.
74+
* Can't revert from CMKs to Microsoft-managed keys after switching.
13175

13276
### Rotate encryption keys
13377

134-
* In your key vault, create or identify the new key that you want to use for new data encryption.
135-
* From Azure portal or template options, update the resource configuration to reference the new key within the same key vault.
136-
* Your resource takes a few minutes to configure wrapping data by using your new encryption key. During this period, certain service operations are available.
137-
* The service begins using the new key for encryption of newly stored data. Existing data remains encrypted with the previous key unless reprocessed.
78+
1. In your key vault, create or identify the new key.
79+
2. Update the resource configuration to reference the new key within the same key vault.
80+
3. The service begins using the new key for newly stored data; existing data remains under the previous key unless reprocessed.
13881

13982
## Revoke a customer-managed key
14083

141-
To revoke a CMK, you can change the access policy, change the permissions on the key vault, or delete the key.
142-
143-
To change the access policy of the managed identity that your registry uses, run the [az-keyvault-delete-policy](/cli/azure/keyvault#az-keyvault-delete-policy) command:
84+
Change the access policy, update permissions, or delete the key.
14485

86+
Remove access policy:
14587
```azurecli
14688
az keyvault delete-policy \
14789
--resource-group <resource-group-name> \
14890
--name <key-vault-name> \
14991
--key_id <key-vault-key-id>
15092
```
15193

152-
To delete the individual versions of a key, run the [az-keyvault-key-delete](/cli/azure/keyvault/key#az-keyvault-key-delete) command. This operation requires the Keys/Delete permission.
153-
94+
Delete key version:
15495
```azurecli
15596
az keyvault key delete \
15697
--vault-name <key-vault-name> \
157-
--id <key-ID>
98+
--id <key-ID>
15899
```
159-
Revoking access to an active CMK while CMK encryption is still enabled prevents downloading of training data and results files, fine-tuning new models, and deploying fine-tuned models. Previously deployed fine-tuned models continue to operate and serve traffic until those deployments are deleted.
100+
101+
Revoking access to an active CMK while CMK encryption is still enabled prevents downloading training data, fine-tuning new models, and deploying fine-tuned models. Existing deployments continue until deleted.
160102

161103
## Added Azure cost when you use CMKs
162104

163-
When you use CMKs, generally your data is stored by using document-level encryption in Microsoft-managed storage components. To ensure that your data can be stored in isolation and encrypted by using your keys, certain back-end Azure services used by Azure AI Foundry must be hosted in a dedicated manner according to the Azure AI Foundry resource in combination with CMK encryption. More charges apply when you use CMKs to accommodate this dedicated hosting model. These charges show in Microsoft Cost Management as subline items under your Azure AI Foundry resource.
105+
Using CMKs may incur extra subline cost items due to dedicated hosting of certain encrypted back-end services.
164106

165107
## Limitations
166108

167-
* Azure AI Foundry resources can be updated from Microsoft-managed keys to CMKs but not from CMKs to Microsoft-managed keys.
168-
* Azure AI Foundry hub resources can't be updated from Microsoft-managed keys to CMKs, or vice versa, post-creation.
169-
* CMK for encryption can be updated only to keys in the same Key Vault instance.
170-
* [Azure AI Foundry Customer-Managed Key Request Form](https://aka.ms/cogsvc-cmk) is required to use CMKs in combination with Azure AI Speech and Azure AI Content Safety capabilities.
171-
* [Azure AI Foundry Customer-Managed Key Request Form](https://aka.ms/cogsvc-cmk) is required for Azure AI Speech and Azure AI Content Safety.
172-
* If your Azure AI Foundry resource is in a soft-deleted state, any storage-related charges for CMK encryption continue to accrue during the soft-deleted retention period.
109+
* Projects can be updated from Microsoft-managed keys to CMKs but not reverted.
110+
* Project CMK can be updated only to keys in the same Key Vault instance.
111+
* Request form required for some services: [Azure AI Foundry Customer-Managed Key Request Form](https://aka.ms/cogsvc-cmk) for Speech and Content Safety.
112+
* Storage-related charges for CMK encryption continue during soft-deleted retention.
173113

174114
## Related content
175115

176-
Learn more:
177-
178-
* [Customer-managed key encryption](../concepts/encryption-keys-portal.md)
179116
* [Disable local authorization](../how-to/disable-local-auth.md)
180117
* [What is Azure Key Vault?](/azure/key-vault/general/overview)
181-
182-
Reference infrastructure-as-code templates:
183-
184-
* [Bicep sample for CMK encryption for an Azure AI Foundry resource](https://github.com/azure-ai-foundry/foundry-samples/tree/main/samples/microsoft/infrastructure-setup/30-customer-managed-keys)
185-
* [Bicep sample for CMK encryption for Azure an 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)
186-
* [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)