Skip to content

Commit 88e0019

Browse files
authored
Merge pull request #252396 from cloga/lochen/tsg-code-first
private storage support
2 parents 3afd1c4 + cee324e commit 88e0019

File tree

8 files changed

+34
-26
lines changed

8 files changed

+34
-26
lines changed

articles/machine-learning/prompt-flow/concept-runtime.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,6 @@ For users seeking further customization, Prompt flow offers the flexibility to c
3030

3131
In addition to flow execution, the runtime is also utilized to validate and ensure the accuracy and functionality of the tools incorporated within the flow, when users make updates to the prompt or code content.
3232

33-
Prompt flow offers two types of runtimes to customers: *Managed Online Deployment Runtime* and *Compute Instance Runtime*. Both runtime types provide the same capability for executing flows, but they differ in terms of scalability, resource sharing, user identity support, and ease of customizing the environment.
34-
35-
The table below outlines the key differences between these runtime types:
36-
37-
|Properties | Managed online deployment runtime | Compute instance runtime |
38-
| --------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
39-
| Underlying resource | [Azure Machine Learning managed online endpoints](../concept-endpoints-online.md) | [Azure Machine Learning compute instance](../concept-compute-instance.md) |
40-
| Scalability | Multi-nodes | Single node |
41-
| Resource sharing | Yes | No |
42-
| User identity support | No | Yes |
43-
| Ease of Customization | No | Yes |
44-
4533
## Next steps
4634

4735
- [Create runtimes](how-to-create-manage-runtime.md)

articles/machine-learning/prompt-flow/how-to-secure-prompt-flow.md

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,30 +44,57 @@ Workspace managed virtual network is the recommended way to support network isol
4444
az ml workspace provision-network --subscription <sub_id> -g <resource_group_name> -n <workspace_name>
4545
```
4646

47-
2. If you want to communicate with [private Azure Cognitive Services](../../ai-services/cognitive-services-virtual-networks.md), you need to add related user defined outbound rules to related resource. The Azure Machine Learning workspace creates private endpoint in the related resource with auto approve. If the status is stuck in pending, go to related resource to approve the private endpoint manually.
47+
2. Add workspace MSI as `Storage File Data Privileged Contributor` to storage account linked with workspace.
48+
49+
2.1 Go to azure portal, find the workspace.
50+
51+
:::image type="content" source="./media/how-to-secure-prompt-flow/go-to-azure-portal.png" alt-text="Diagram showing how to go from AzureML portal to Azure portal." lightbox = "./media/how-to-secure-prompt-flow/go-to-azure-portal.png":::
52+
53+
54+
2.2 Find the storage account linked with workspace.
55+
56+
:::image type="content" source="./media/how-to-secure-prompt-flow/linked-storage.png" alt-text="Diagram showing how to find workspace linked storage account in Azure portal." lightbox = "./media/how-to-secure-prompt-flow/linked-storage.png":::
57+
58+
2.3 Jump to role assignment page of storage account.
59+
60+
:::image type="content" source="./media/how-to-secure-prompt-flow/add-role-storage.png" alt-text="Diagram showing how to jump to role assignment of storage account." lightbox = "./media/how-to-secure-prompt-flow/add-role-storage.png":::
61+
62+
2.4 Find storage file data privileged contributor role.
63+
64+
:::image type="content" source="./media/how-to-secure-prompt-flow/storage-file-data-privileged-contributor.png" alt-text="Diagram showing how to find storage file data privileged contributor role." lightbox = "./media/how-to-secure-prompt-flow/storage-file-data-privileged-contributor.png":::
65+
66+
2.5 Assign storage file data privileged contributor role to workspace managed identity.
67+
68+
:::image type="content" source="./media/how-to-secure-prompt-flow/managed-identity-workspace.png" alt-text="Diagram showing how to assign storage file data privileged contributor role to workspace managed identity." lightbox = "./media/how-to-secure-prompt-flow/managed-identity-workspace.png":::
69+
70+
> [!NOTE]
71+
> This operation may take several minutes to take effect.
72+
73+
3. If you want to communicate with [private Azure Cognitive Services](../../ai-services/cognitive-services-virtual-networks.md), you need to add related user defined outbound rules to related resource. The Azure Machine Learning workspace creates private endpoint in the related resource with auto approve. If the status is stuck in pending, go to related resource to approve the private endpoint manually.
4874

4975
:::image type="content" source="./media/how-to-secure-prompt-flow/outbound-rule-cognitive-services.png" alt-text="Screenshot of user defined outbound rule for Azure Cognitive Services." lightbox = "./media/how-to-secure-prompt-flow/outbound-rule-cognitive-services.png":::
5076

5177
:::image type="content" source="./media/how-to-secure-prompt-flow/outbound-private-endpoint-approve.png" alt-text="Screenshot of user approve private endpoint." lightbox = "./media/how-to-secure-prompt-flow/outbound-private-endpoint-approve.png":::
5278

53-
3. If you're restricting outbound traffic to only allow specific destinations, you must add a corresponding user-defined outbound rule to allow the relevant FQDN.
79+
4. If you're restricting outbound traffic to only allow specific destinations, you must add a corresponding user-defined outbound rule to allow the relevant FQDN.
5480
5581
:::image type="content" source="./media/how-to-secure-prompt-flow/outbound-rule-non-azure-resources.png" alt-text="Screenshot of user defined outbound rule for non Azure resource." lightbox = "./media/how-to-secure-prompt-flow/outbound-rule-non-azure-resources.png":::
5682
57-
4. In workspace which enable managed VNet, you can only deploy prompt flow to managed online endpoint. You can follow [Secure your managed online endpoints with network isolation](../how-to-secure-kubernetes-inferencing-environment.md) to secure your managed online endpoint.
83+
5. In workspaces that enable managed VNet, you can only deploy prompt flow to managed online endpoint. You can follow [Secure your managed online endpoints with network isolation](../how-to-secure-kubernetes-inferencing-environment.md) to secure your managed online endpoint.
5884
5985
## Secure prompt flow use your own virtual network
6086
6187
- To set up Azure Machine Learning related resources as private, see [Secure workspace resources](../how-to-secure-workspace-vnet.md).
88+
- Add workspace MSI as `Storage File Data Privileged Contributor` to storage account linked with workspace. Please follow step 2 in [Secure prompt flow with workspace managed virtual network](#secure-prompt-flow-with-workspace-managed-virtual-network).
6289
- Meanwhile, you can follow [private Azure Cognitive Services](../../ai-services/cognitive-services-virtual-networks.md) to make them as private.
63-
- If you want to deploy prompt flow in workspace which secured by your own virtual network, you can deploy it to AKS cluster which is in the same virtual network. You can follow [Secure your RAG workflows with network isolation](../how-to-secure-rag-workflows.md) to secure your AKS cluster.
90+
- If you want to deploy prompt flow in workspace which secured by your own virtual network, you can deploy it to AKS cluster which is in the same virtual network. You can follow [Secure Azure Kubernetes Service inferencing environment](../how-to-secure-kubernetes-inferencing-environment.md) to secure your AKS cluster.
6491
- You can either create private endpoint to the same virtual network or leverage virtual network peering to make them communicate with each other.
6592
6693
## Known limitations
6794
68-
- Only public access enable storage account is supported. You can't use private storage account now. Find workaround here: [Why can't I create or upgrade my flow when I disable public network access of storage account?](./tools-reference/troubleshoot-guidance.md#why-cant-i-create-or-upgrade-my-flow-when-i-disable-public-network-access-of-storage-account)
6995
- Workspace hub / lean workspace and AI studio don't support bring your own virtual network.
70-
- Managed online endpoint only supports workspace managed virtual network. If you want to use your own virtual network, you may need one workspace for prompt flow authoring with your virtual network and another workspace for prompt flow deployment using managed online endpoint with workspace managed virtual network.
96+
- Org registry didn't support managed virtual network.
97+
- Managed online endpoint only supports workspace with managed virtual network. If you want to use your own virtual network, you may need one workspace for prompt flow authoring with your virtual network and another workspace for prompt flow deployment using managed online endpoint with workspace managed virtual network.
7198
7299
## Next steps
73100
222 KB
Loading
299 KB
Loading
125 KB
Loading
128 KB
Loading
Loading

articles/machine-learning/prompt-flow/tools-reference/troubleshoot-guidance.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,9 @@ To resolve the issue, you have two options:
4343
- Update your runtime to latest version.
4444
- Remove the old tool and re-create a new tool.
4545

46-
## Why can't I create or upgrade my flow when I disable public network access of storage account?
47-
Prompt flow relies on fileshare to store snapshot of flow. Prompt flow didn't support private storage account now. Here are some workarounds you can try:
48-
- Make the storage account as public access enabled if there's no security concern.
49-
- If you're only using UI to authoring prompt flow, you can add following flights (flight=PromptFlowCodeFirst=false) to use our old UI.
50-
- You can use our CLI/SDK to authoring prompt flow, CLI/SDK authoring didn't rely on fileshare. See [Integrate Prompt Flow with LLM-based application DevOps ](../how-to-integrate-with-llm-app-devops.md).
51-
52-
5346
## Why can't I upgrade my old flow?
5447
Prompt flow relies on fileshare to store snapshot of flow. If fileshare has some issue, you may encounter this issue. Here are some workarounds you can try:
55-
- If you're using private storage account, please see [Why can't I create or upgrade my flow when I disable public network access of storage account?](#why-cant-i-create-or-upgrade-my-flow-when-i-disable-public-network-access-of-storage-account)
48+
- If you're using private storage account, please see follow [Network isolation in prompt flow](../how-to-secure-prompt-flow.md) to make sure your storage account can be accessed by your workspace.
5649
- If the storage account is enabled public access, please check whether there are datastore named `workspaceworkingdirectory` in your workspace, it should be fileshare type.
5750
![workspaceworkingdirectory](../media/faq/working-directory.png)
5851
- If you didn't get this datastore, you need add it in your workspace.

0 commit comments

Comments
 (0)