提示流程中的網路隔離
您可以使用私人網路保護提示流程。 本文說明在受私人網路保護的環境中使用提示流程的需求。
牽涉的服務
當您使用提示流程開發 LLM 應用程式時,您想要安全的環境。 您可以透過網路設定將下列服務設為私人。
- 工作區:您可以將 Azure Machine Learning 工作區設為私人,並限制其輸入和輸出。
- 計算資源:您也可以限制工作區中計算資源的輸入和輸出規則。
- 儲存體帳戶:您可以將儲存體帳戶的存取範圍限制為特定的虛擬網路。
- 容器登錄:您也想要使用虛擬網路保護您的容器登錄。
- 端點:您想要限制 Azure 服務或 IP 位址來存取您的端點。
- 相關 Azure 認知服務,例如 Azure OpenAI、Azure 內容安全和 Azure AI 搜尋服務,您可以使用網路設定將其設為私人,然後使用私人端點讓 Azure Machine Learning 服務與其通訊。
- 其他非 Azure 資源,例如 SerpAPI 等。如果您有嚴格的輸出規則,則需要新增 FQDN 規則以便存取。
不同網路設定中的選項
在 Azure Machine Learning 中,有兩個選項可以確保網路隔離性:自備網路或使用工作區受控虛擬網路。 深入了解如何保護工作區資源。
下表說明不同的網路設定中用於提示流程的選項。
輸入 | 輸出 | 製作的計算類型 | 推斷的計算類型 | 工作區的網路選項 |
---|---|---|---|---|
公開 | 公開 | 無伺服器 (建議使用),計算執行個體 | 受控線上端點 (建議) | 受控 (推薦) |
公開 | 公開 | 無伺服器 (建議使用),計算執行個體 | K8s 在線端點 | 自備 |
私用 | 公用 | 無伺服器 (建議使用),計算執行個體 | 受控線上端點 (建議) | 受控 (推薦) |
私用 | 公用 | 無伺服器 (建議使用),計算執行個體 | K8s 在線端點 | 自備 |
公開 | 私人 | 無伺服器 (建議使用),計算執行個體 | 受控線上端點 | 受控 |
私用 | 私用 | 無伺服器 (建議使用),計算執行個體 | 受控線上端點 | 受控 |
- 在私人 VNet 案例中,建議您使用已啟用工作區的受控虛擬網路。 這是保護工作區和相關資源最簡單的方式。
- 您也可以將一個工作區用於虛擬網路的提示流程製作,並且有另一個工作區可以使用受控線上端點搭配工作區受控虛擬網路進行提示流程部署。
- 我們不支援在單一工作區中混合使用受控虛擬網路與自備虛擬網路。 而且,由於受控線上端點僅在受控虛擬網路中受到支援,因此您無法在已啟用自備虛擬網路的工作區中將提示流程部署至受控線上端點。
使用工作區受控虛擬網路保護提示流程
工作區受控虛擬網路是支援提示流程中網路隔離的建議方式。 提供輕鬆的設定來保護您的工作區。 在工作區層級中啟用受控虛擬網路之後,與相同虛擬網路中工作區相關的資源將會在工作區層級使用相同的網路設定。 您也可以將工作區設定為使用私人端點來存取其他 Azure 資源,例如 Azure OpenAI、Azure 內容安全和 Azure AI 搜尋服務。 您也可以設定 FQDN 規則,以核准由您的提示流程使用的非 Azure 資源的輸出,例如 SerpAPI 等。
請遵循<工作區受管理的網路隔離>(機器翻譯) 啟用工作區受控虛擬網路。
重要
建立受控虛擬網路會延後,直到建立計算資源或手動啟動佈建為止。 您可以使用下列命令來手動觸發網路佈建。
az ml workspace provision-network --subscription <sub_id> -g <resource_group_name> -n <workspace_name>
將工作區 MSI 作為
Storage File Data Privileged Contributor
新增至與工作區連結的儲存體帳戶。2.1 移至 Azure 入口網站,尋找工作區。
2.2 尋找與工作區連結的儲存體帳戶。
2.3 跳至儲存體帳戶的角色指派頁面。
2.4 尋找儲存體檔案資料特殊權限參與者角色。
2.5 將儲存體檔案資料特殊權限參與者角色指派給工作區受控識別。
注意
此作業可能需要幾分鐘的時間才會生效。
如果您想要與私人 Azure 認知服務通訊,您需將相關的使用者定義輸出規則新增至相關資源。 Azure Machine Learning 工作區會在具有自動核准的相關資源中建立私人端點。 如果狀態停滯在擱置狀態,請移至相關資源以手動核准私人端點。
如果您將輸出流量限制為僅允許特定目的地,則須新增對應的使用者定義輸出規則,以允許相關的 FQDN。
在啟用受控 VNet 的工作區中,您只能將提示流程部署到受控的線上端點。 您可以遵循使用網路隔離保護受控線上端點來保護受控線上端點。
使用您自己的虛擬網路來保護提示流程
若要將 Azure Machine Learning 相關資源設定為私人資源,請參閱<保護工作區資源>(機器翻譯)。
如果您有嚴格的輸出規則,請確定您已開啟必要的公用網際網路存取。
將工作區 MSI 作為
Storage File Data Privileged Contributor
新增至與工作區連結的儲存體帳戶。 請遵循使用工作區受控虛擬網路保護提示流程中的步驟 2。如果您在流程製作中使用無伺服器計算類型,則必須在工作區層級中設定自訂虛擬網路。 深入了解如何使用虛擬網路保護 Azure Machine Learning 定型環境
serverless_compute: custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name> no_public_ip: false # Set to true if you don't want to assign public IP to the compute
同時,您可以遵循私人 Azure 認知服務,將其設為私人。
如果您想要在受您自己虛擬網路保護的工作區中部署提示流程,您可以將其部署到位於相同虛擬網路中的 AKS 叢集。 您可以遵循<安全的 Azure Kubernetes Service 推斷環境>(機器翻譯) 來保護 AKS 叢集。 深入了解如何透過程式碼將提示流程部署至 ASK 叢集。
您可以建立相同虛擬網路的私人端點,或利用虛擬網路對等互連,讓它們彼此通訊。
已知的限制
- Azure AI Foundry 不支援自備虛擬網路,僅支援工作區受控虛擬網路。
- 具有所選輸出的受控線上端點僅支援具有受控虛擬網路的工作區。 如果您想要使用自己的虛擬網路,您可能需要一個工作區,以便使用虛擬網路進行提示流程撰寫,還需要另一個工作區,以便使用受控上線端點搭配工作區受控虛擬網路進行提示流程部署。