搭配 Azure AI Foundry 入口網站遊樂場安全地使用您的數據
使用本文來瞭解如何安全地使用 Azure AI Foundry 的數據遊樂場聊天。 下列各節提供了我們建議的組態,以透過使用 Microsoft Entra ID 角色型存取控制、受控網路和私人端點來保護您的資料和資源。 建議停用 Azure OpenAI 資源、Azure AI 搜尋服務資源和儲存體帳戶的公用網路存取。 不支援使用具有 IP 規則的選定網路,因為服務的 IP 位址是動態的。
注意
Azure AI Foundry 的受控虛擬網路設定僅適用於 Azure AI Foundry 的受控計算資源,不適用於 Azure OpenAI 或 Azure AI 搜尋等平臺即服務(PaaS)服務。 使用 PaaS 服務時,不存在資料外流風險,因為這些服務是由 Microsoft 管理的。
下表總結了本文中所做的變更:
組態 | 預設 | 安全 | 備註 |
---|---|---|---|
在服務之間傳送的資料 | 透過公用網路傳送 | 透過私人網路傳送 | 即使透過公用網路,資料會也使用 HTTPS 來加密傳送。 |
服務驗證 | API 金鑰 | Microsoft Entra ID | 擁有 API 金鑰的任何人都可以向服務進行驗證。 Microsoft Entra ID 提供了更細微且健全的驗證。 |
服務權限 | API 金鑰 | 角色型存取控制 | API 金鑰提供了對服務的完全存取權。 角色型存取控制提供了對服務的細微存取。 |
網路存取 | 公開 | 私人 | 使用私人網路可防止私人網路外部的實體存取受其保護的資源。 |
必要條件
確定已使用 記憶體帳戶的身分識別型存取 設定來部署 Azure AI Foundry 中樞。 此設定是 Azure AI Foundry Hub 的正確存取控制和安全性的必要設定。 您可以使用下列其中一種方法來驗證此組態:
- 在 Azure 入口網站中,選取中樞,然後選取 [設定]、[屬性] 和 [選項]。 在頁面底部,驗證儲存體帳戶存取類型是否設定為身分識別型存取。
- 如果使用 Azure Resource Manager 或 Bicep 範本進行部署,請在部署範本中包含
systemDatastoresAuthMode: 'identity'
屬性。 - 您必須熟悉使用 Microsoft Entra ID 角色型訪問控制,將角色指派給資源和使用者。 如需詳細資訊,請流覽 角色型訪問控制 一文。
設定網路隔離的 Azure AI Foundry 中樞
如果您要 建立新的 Azure AI Foundry 中樞,請使用下列其中一份檔來建立具有網路隔離的中樞:
如果您有 未設定為使用受控網路的現有 Azure AI Foundry 中樞 ,請使用下列步驟將它設定為使用一個:
從 Azure 入口網站中,選取中樞,然後選取 [設定]、[網路]、[公用存取]。
若要停用中樞的公用網路存取,請將 [公用網路存取] 設定為 [停用]。 選取儲存以套用變更。
選取 [工作區受控輸出存取],然後選取 [允許網際網路輸出] 或 [僅允許核准的輸出] 網路隔離模式。 選取儲存以套用變更。
設定 Azure AI 服務資源
視您的組態而定,您可以使用還包含 Azure OpenAI 的 Azure AI 服務資源或獨立的 Azure OpenAI 資源。 本節中的步驟會設定 AI 服務資源。 相同的步驟適用於 Azure OpenAI 資源。
如果您沒有適用於 Azure AI Foundry 中樞的現有 Azure AI 服務資源, 請建立一個。
從 Azure 入口網站中,選取 AI 服務資源,然後選取 [__資源管理]、[身分識別] 和 [系統指派]。
若要建立 AI 服務資源的受控識別,請將 [狀態] 設定為 [開啟]。 選取儲存以套用變更。
若要停用公用網路存取,請選取 [網路]、[防火牆和虛擬網路],然後將 [允許下列存取] 設定為 [停用]。 在 [例外狀況] 底下,確定已啟用 [允許受信任服務清單上的 Azure 服務]。 選取儲存以套用變更。
若要為 AI 服務資源建立私人端點,請選取 [網路]、[私人端點連線],然後選取 [+ 私人端點]。 此私人端點可用來允許 Azure 虛擬網路中的用戶端安全地與 AI 服務資源通訊。 如需搭配 Azure AI 服務使用私人端點的詳細資訊,請瀏覽使用私人端點一文。
- 從 [基本] 索引標籤中,輸入私人端點、網路介面的唯一名稱,然後選取要在其中建立私人端點的區域。
- 從 [資源] 索引標籤中,接受帳戶的目標子資源。
- 從 [虛擬網路] 索引標籤中,選取私人端點所連線的 Azure 虛擬網路。 此網路應與您的用戶端連線的相同網路,且 Azure AI Foundry 中樞具有私人端點連線。
- 從 [DNS] 索引標籤中,選取 DNS 設定的預設值。
- 繼續前往 [檢閱 + 建立] 索引標籤,然後選取 [建立] 以建立私人端點。
目前您無法透過 Azure 入口網站停用對 Azure AI 服務的本機 (共用金鑰) 驗證。 您可以改為使用以下 Azure PowerShell Cmdlet:
Set-AzCognitiveServicesAccount -resourceGroupName "resourceGroupName" -name "AIServicesAccountName" -disableLocalAuth $true
如需詳細資訊,請參閱在 Azure AI 服務中停用本機驗證一文。
設定 Azure AI 搜尋服務
當您需要進行下列其中一項時,建議您考慮使用 Azure AI 搜尋服務索引:
- 自訂索引建立程序。
- 從其他資料來源擷取資料,重複使用之前建立的索引。
若要使用現有的索引,其必須至少有一個可搜尋的欄位。 使用向量搜尋時,請確定至少有一個有效的向量資料行被對應。
重要
本節中的資訊僅適用於保護 Azure AI 搜尋資源以搭配 Azure AI Foundry 使用。 如果您將 Azure AI 搜尋服務用於其他目的,則可能需要設定其他設定。 如需設定 Azure AI 搜尋服務的相關資訊,請瀏覽下列文章:
如果您沒有 Azure AI Foundry 中樞的現有 Azure AI 搜尋資源, 請建立一個。
從 Azure 入口網站中,選取 AI 搜尋資源,然後選取 [設定]、[身分識別] 和 [系統指派]。
若要建立 AI 搜尋資源的受控識別,請將 [狀態] 設定為 [開啟]。 選取儲存以套用變更。
若要停用公用網路存取,請選取 [設定]、[網路 和 [防火牆和虛擬網路]。 將 [公用網路存取] 設定為 [停用]。 在 [例外狀況] 底下,確定已啟用 [允許受信任服務清單上的 Azure 服務]。 選取儲存以套用變更。
若要建立 AI 搜尋資源的私人端點,請選取 [網路]、[私人端點連線],然後選取 [+ 建立私人端點]。
- 從 [基本] 索引標籤中,輸入私人端點、網路介面的唯一名稱,然後選取要在其中建立私人端點的區域。
- 從 [資源] 索引標籤中,選取包含資源的 [訂用帳戶]、將 [資源類型] 設定為 [Microsoft.Search/searchServices],然後選取 Azure AI 搜尋服務資源。 唯一可用的子資源是 searchService。
- 從 [虛擬網路] 索引標籤中,選取私人端點所連線的 Azure 虛擬網路。 此網路應與您的用戶端連線的相同網路,且 Azure AI Foundry 中樞具有私人端點連線。
- 從 [DNS] 索引標籤中,選取 DNS 設定的預設值。
- 繼續前往 [檢閱 + 建立] 索引標籤,然後選取 [建立] 以建立私人端點。
若要根據角色型存取控制啟用 API 存取,請選取 [設定]、[金鑰],然後將 [API 存取控制] 設定為 [角色型存取控制] 或 [兩者]。 選取 _[是] 以套用變更。
注意
如果您有其他使用金鑰存取 Azure AI 搜尋服務的服務,請選取 [兩者]。 選取 [角色型存取控制] 以停用金鑰型存取。
設定 Azure 儲存體 (僅限擷取)
如果您使用 Azure 儲存體 搭配 Azure AI Foundry 入口網站遊樂場進行擷取案例,則必須設定您的 Azure 儲存體 帳戶。
建立儲存體帳戶資源
從 Azure 入口網站中,選取 [儲存體帳戶] 資源,然後選取 [安全性 + 網路]、[網路] 和 [防火牆和虛擬網路]。
若要停用公用網路存取並允許從受信任的服務存取,請將 [公用網路存取] 設定為 [從選取的虛擬網路和 IP 位址啟用]。 在 [例外狀況] 底下,確定已啟用 [允許受信任服務清單上的 Azure 服務]。
將 [公用網路存取】 設定為 [停用],然後選取 [儲存] 以套用變更。 允許從受信任服務進行存取的組態仍處於啟用狀態。
若要為 Azure 儲存體建立私人端點,請選取 [網路]、[私人端點連線],然後選取 [+ 私人端點]。
- 從 [基本] 索引標籤中,輸入私人端點、網路介面的唯一名稱,然後選取要在其中建立私人端點的區域。
- 從 [資源] 索引標籤中,將 [目標子資源] 設定為 [Blob]。
- 從 [虛擬網路] 索引標籤中,選取私人端點所連線的 Azure 虛擬網路。 此網路應與您的用戶端連線的相同網路,且 Azure AI Foundry 中樞具有私人端點連線。
- 從 [DNS] 索引標籤中,選取 DNS 設定的預設值。
- 繼續前往 [檢閱 + 建立] 索引標籤,然後選取 [建立] 以建立私人端點。
重複上一個步驟以建立私人端點,但這次將 [目標子資源] 設定為 [檔案]。 先前的私人端點允許與 Blob 儲存體進行安全通訊,而此私人端點允許與檔案儲存體進行安全通訊。
若要停用對儲存體的本機 (共用金鑰) 驗證,請選取 [設定] 下的 [組態]。 將 [允許儲存體帳戶金鑰存取] 設定為 [停用],然後選取 [儲存] 以套用變更。 如需詳細資訊,請瀏覽防止使用共用金鑰進行授權一文。
設定 Azure Key Vault
Azure AI Foundry 會使用 Azure 金鑰保存庫 安全地儲存和管理秘密。 若要允許從受信任的服務存取金鑰保存庫,請使用下列步驟。
注意
這些步驟假設當您建立 Azure AI Foundry Hub 時,密鑰保存庫已設定為網路隔離。
- 從 Azure 入口網站中,選取金鑰保存庫資源,然後選取 [設定]、[網路] 和 [防火牆和虛擬網路]。
- 從頁面的 [例外狀況] 區段中,確保 [允許受信任的 Microsoft 服務繞過防火牆] 已 [啟用]。
設定連線以使用 Microsoft Entra ID
從 Azure AI Foundry 到 Azure AI 服務和 Azure AI 搜尋的連線應該使用 Microsoft Entra ID 進行安全存取。 連線是從 Azure AI Foundry 建立,而不是 Azure 入口網站。
重要
搭配 Azure AI 搜尋服務使用 Microsoft Entra ID 目前是預覽功能。 如需連線的詳細資訊,請瀏覽新增連線一文。
- 從 Azure AI Foundry,選取 [ 連線]。 如果您有與資源的現有連線,則可以選取該連線,然後選取 [存取詳細資料] 區段中的鉛筆圖示來更新該連線。 將 [驗證] 欄位設定為 [Microsoft Entra ID],然後選取 [更新]。
- 若要建立新的連線,請選取 [+ 新增連線],然後選取資源類型。 瀏覽資源或輸入必要資訊,然後將 [驗證] 設定為 [Microsoft Entra ID]。 選取 [新增連線] 以建立連線。
針對您想要使用 Microsoft Entra ID 連線的每個資源重複這些步驟。
將角色指派給資源和使用者
服務需要相互授權才能存取連線的資源。 執行設定的系統管理員必須擁有這些資源的擁有者角色,才能新增角色指派。 下表列出每個資源的必要角色指派。 [受託人] 資料行是指所列出資源之系統指派的受控識別。 [資源] 資料行是指受託人需要存取的資源。 例如,Azure AI 搜尋服務具有系統指派的受控識別,需要為其指派 Azure 儲存體帳戶的儲存體 Blob 資料參與者角色。
如需指派角色的詳細資訊,請參閱 教學課程:授與使用者對資源的存取權。
資源 | 角色 | 受託人 | 描述 |
---|---|---|---|
Azure AI 搜尋服務 | 搜尋索引資料參與者 | Azure AI 服務/OpenAI | 索引中內容的讀寫存取權。 匯入、重新整理或查詢索引的文件集合。 僅用於擷取和推斷案例。 |
Azure AI 搜尋服務 | 搜尋索引資料讀取者 | Azure AI 服務/OpenAI | 推斷服務會從索引查詢資料。 僅適用於推斷案例。 |
Azure AI 搜尋服務 | 搜尋服務參與者 | Azure AI 服務/OpenAI | 對物件定義 (索引、別名、同義字對應、索引子、資料來源和技能集) 的讀寫存取權。 推斷服務會查詢自動欄位對應的索引結構描述。 資料擷取服務會建立索引、資料來源、技能集、索引子,以及查詢索引子狀態。 |
Azure AI 服務/OpenAI | 認知服務參與者 | Azure AI 搜尋服務 | 允許搜尋建立、讀取及更新 AI Services 資源。 |
Azure AI 服務/OpenAI | 認知服務 OpenAI 參與者 | Azure AI 搜尋服務 | 允許搜尋微調、部署和產生文字的能力 |
Azure 儲存體帳戶 | 儲存體 Blob 資料參與者 | Azure AI 搜尋服務 | 讀取 Blob 和寫入知識存放區。 |
Azure 儲存體帳戶 | 儲存體 Blob 資料參與者 | Azure AI 服務/OpenAI | 從輸入容器讀取,並將前置處理結果寫入輸出容器。 |
Azure Blob 儲存體 私人端點 | 讀取者 | Azure AI Foundry 專案 | 針對已啟用受控網路的 Azure AI Foundry 專案,可在受網路限制的環境中存取 Blob 記憶體 |
適用於聊天模型的 Azure OpenAI 資源 | 認知服務 OpenAI 使用者 | 適用於內嵌模型的 Azure OpenAI 資源 | [選擇性]只有在使用兩個 Azure OpenAI 資源進行通訊時才需要。 |
注意
只有在您使用兩個 Azure OpenAI 資源時,才需要認知服務 OpenAI 使用者角色:一個用於聊天模型,另一個用於內嵌模型。 如果適用,請啟用 [受信任的服務],「並」確定內嵌模型 Azure OpenAI 資源的連線已啟用 Entra ID。
將角色指派給開發人員
若要讓您的開發人員使用這些資源來建置應用程式,請在 Microsoft Entra 識別碼中,將下列角色指派給開發人員的身分識別。 例如,將 搜尋服務參與者 角色指派給 Azure AI 搜尋資源的開發人員Microsoft Entra 識別碼。
如需指派角色的詳細資訊,請參閱 教學課程:授與使用者對資源的存取權。
資源 | 角色 | 受託人 | 描述 |
---|---|---|---|
Azure AI 搜尋服務 | 搜尋服務參與者 | 開發人員Microsoft項目標識碼 | 從 Azure OpenAI Studio 中列出 API 金鑰,以列出索引。 |
Azure AI 搜尋服務 | 搜尋索引資料參與者 | 開發人員Microsoft項目標識碼 | 索引編製案例所需。 |
Azure AI 服務/OpenAI | 認知服務 OpenAI 參與者 | 開發人員Microsoft項目標識碼 | 從 Azure OpenAI Studio 呼叫公用擷取 API。 |
Azure AI 服務/OpenAI | 認知服務參與者 | 開發人員Microsoft項目標識碼 | 從 Azure OpenAI Studio 中列出 API 金鑰。 |
Azure AI 服務/OpenAI | 參與者 | 開發人員Microsoft項目標識碼 | 允許呼叫控制平面。 |
Azure 儲存體帳戶 | 參與者 | 開發人員Microsoft項目標識碼 | 列出帳戶 SAS 以從 Azure OpenAI Studio 上傳檔案。 |
Azure 儲存體帳戶 | 儲存體 Blob 資料參與者 | 開發人員Microsoft項目標識碼 | 開發人員讀取和寫入 Blob 儲存體所需。 |
Azure 儲存體帳戶 | 儲存體檔案資料特殊權限參與者 | 開發人員Microsoft項目標識碼 | 存取儲存體中的檔案共用以用於 Promptflow 資料所需。 |
開發人員需要在其中部署 Web 應用程式的資源群組或 Azure 訂用帳戶 | 參與者 | 開發人員Microsoft項目標識碼 | 將 Web 應用程式部署至開發人員的 Azure 訂用帳戶。 |
在 Azure AI Foundry 入口網站中使用您的數據
現在,您新增至 Azure AI Foundry 的數據會保護至 Azure AI Foundry 中樞和專案所提供的隔離網路。 如需使用資料的範例,請瀏覽建置問答 Copilot 教學課程。
部署 Web 應用程式
如需設定 Web 應用程式部署的相關資訊,請瀏覽安全地對您的資料使用 Azure OpenAI 一文。
限制
在 Azure AI Foundry 入口網站中使用聊天遊樂場時,請勿流覽至 Studio 內的另一個索引標籤。 如果您確實瀏覽至另一個索引標籤,則當您返回 [聊天] 索引標籤時,您必須移除您的資料,然後再將其新增回來。