Azure AI 搜尋的安全性概觀

本文說明 Azure AI 搜尋服務中保護數據和作業的安全性功能。

資料串流(網路流量模式)

Azure AI 搜尋服務 裝載於 Azure 上,通常由用戶端應用程式透過公用網路連線來存取。 雖然該模式佔主導地位,但這不是您唯一需要注意的流量模式。 瞭解所有進入點以及輸出流量都是保護開發和生產環境的必要背景。

Azure AI 搜尋有三種基本網路流量模式:

  • 用戶端對搜尋服務提出的輸入要求(主要模式)
  • 搜尋服務對 Azure 和其他地方的其他服務發出的輸出要求
  • 透過安全 Microsoft 骨幹網路的內部服務對服務要求

輸入流量

以搜尋服務端點為目標的輸入要求包括:

  • 在搜尋服務上建立、讀取、更新或刪除物件
  • 使用搜尋檔載入索引
  • 查詢索引
  • 觸發索引器或技能集執行

REST API 描述搜尋服務所處理之輸入要求的完整範圍。

至少必須使用下列其中一個選項來驗證所有輸入要求:

  • 金鑰型驗證(預設值)。 輸入要求會提供有效的 API 金鑰。
  • 角色型存取控制。 授權是透過搜尋服務上的 Microsoft Entra 身分識別和角色指派。

此外,您可以新增 網路安全性功能 ,進一步限制對端點的存取。 您可以在IP防火牆中建立輸入規則,或建立私人端點,以完全保護您的搜尋服務免受公用因特網的防護。

內部流量

內部要求受到 Microsoft 保護及管理。 您無法設定或控制這些連線。 如果您要鎖定網路存取,則不需要採取任何動作,因為內部流量無法設定客戶設定。

內部流量包含:

輸出流量

輸出要求可以受到您的保護和管理。 輸出要求源自搜尋服務至其他應用程式。 這些要求通常是由索引器在查詢時針對文字型索引、技能型 AI 擴充和向量化進行。 輸出要求包括讀取和寫入作業。

下列清單是您可以為其設定安全連線之輸出要求的完整列舉。 搜尋服務會代表自己提出要求,並代表索引器或自定義技能提出要求。

作業 案例
索引子 連線 至外部數據源以擷取數據。 如需詳細資訊,請參閱 索引器存取受 Azure 網路安全性保護的內容。
索引子 連線 Azure 儲存體 來保存知識存放區快取擴充偵錯會話
自訂技能 連線 至 Azure 函式、Azure Web 應用程式或其他執行外部程式代碼的應用程式,這些程式碼是非服務裝載。 外部處理的要求會在技能集執行期間傳送。
索引器和 整合向量化 連線 至 Azure OpenAI 和已部署的內嵌模型,或透過自定義技能連線到您提供的內嵌模型。 搜尋服務會在編制索引期間,將文字傳送至內嵌模型進行向量化。
向量化程式 連線 Azure OpenAI 或其他內嵌模型在查詢時,將使用者文字字串轉換成向量搜尋的向量。
搜尋服務 連線 至 Azure 金鑰保存庫,以用於加密和解密敏感數據的客戶管理存取密鑰

如果您使用 Microsoft Entra ID 和角色型存取,則可以使用資源的完整存取 連接字串 來建立輸出連線,包括密鑰或資料庫登入,或是受控識別

若要在防火牆後方連線 Azure 資源, 請在允許搜尋服務要求的其他 Azure 資源上建立輸入規則。

若要連線到受 Azure Private Link 保護的 Azure 資源, 請建立索引器用來建立連線的共用私人連結

相同區域搜尋和記憶體服務的例外狀況

如果 Azure 儲存體和 Azure AI 搜尋位於相同的區域,網路流量會透過私人 IP 位址路由傳送,並透過 Microsoft 骨幹網路進行。 由於使用私人IP位址,因此您無法設定IP防火牆或私人端點來獲得網路安全性。

使用下列其中一種方法設定相同區域連線:

網路安全性

網路安全性 可藉由將控件套用至網路流量,以保護資源免於未經授權的存取或攻擊。 Azure AI 搜尋服務支持網路功能,可成為防禦未經授權的存取前線。

透過IP防火牆的輸入連線

搜尋服務會布建公用端點,以允許使用公用IP位址進行存取。 若要限制來自公用端點的流量,請建立輸入防火牆規則,以允許來自特定IP位址或IP位址範圍的要求。 所有用戶端連線都必須透過允許的IP位址進行,或拒絕連線。

IP 限制存取的範例架構圖表

您可以使用入口網站來 設定防火牆存取

或者,您可以使用管理 REST API。 從 API 2020-03-13 版開始,使用 IpRule 參數,您可以藉由識別您想要授與搜尋服務的存取權,個別或範圍來限制服務的存取權。

私人端點的輸入連線(網路隔離,沒有因特網流量)

為了獲得更嚴格的安全性,您可以為 Azure AI 搜尋建立私人端點,讓虛擬網路上的用戶端透過 Private Link 安全地存取搜尋索引中的數據。

私人端點會使用虛擬網路位址空間中的IP位址來連線到您的搜尋服務。 用戶端與搜尋服務之間的網路流量會透過虛擬網路和 Microsoft 骨幹網路上的私人連結周遊,從而消除來自公用因特網的風險。 虛擬網路可讓您使用內部部署網路和因特網,在資源之間安全地通訊。

私人端點存取的範例架構圖表

雖然此解決方案最安全,但使用更多服務是額外的成本,因此請務必清楚瞭解潛水前的優點。 如需成本的詳細資訊,請參閱 定價頁面。 如需這些元件如何一起運作的詳細資訊, 請觀看這段影片。 私人端點選項的涵蓋範圍從影片的 5:48 開始。 如需如何設定端點的指示,請參閱 建立 Azure AI 搜尋的私人端點。

驗證

一旦向搜尋服務承認要求,它仍必須接受驗證和授權,以判斷是否允許要求。 Azure AI 搜尋支援兩種方法:

  • Microsoft Entra 驗證 會將呼叫端(而非要求)建立為已驗證的身分識別。 Azure 角色指派會決定授權。

  • 密鑰型驗證 是透過 API 金鑰對要求執行(而非呼叫應用程式或使用者),其中密鑰是由隨機產生的數位和字母組成的字串,可證明要求來自可信任的來源。 每個要求都需要金鑰。 提交有效的金鑰會視為要求源自信任實體的證明。

您可以使用這兩種驗證方法,或 停用您不想在搜尋服務上使用的方法

授權

Azure AI 搜尋提供服務管理和內容管理的授權模型。

授權服務管理

資源管理是透過 Microsoft Entra 租使用者中的角色型訪問控制 來授權。

在 Azure AI 搜尋服務中,Resource Manager 可用來建立或刪除服務、管理 API 金鑰、調整服務規模,以及設定安全性。 因此,無論他們 使用的是入口網站PowerShell管理 REST API,Azure 角色指派都會決定誰可以執行這些工作。

三個基本角色 (擁有者、參與者、讀者)適用於搜尋服務管理。 您可以使用任何支援的方法進行角色指派(入口網站、PowerShell 等等),並接受全服務。

注意

使用全 Azure 機制,您可以鎖定訂用帳戶或資源,以防止具有系統管理員許可權的使用者意外或未經授權的刪除搜尋服務。 如需詳細資訊,請參閱 鎖定資源以防止意外刪除

授權存取內容

內容管理是指在搜尋服務上建立和裝載的物件。

  • 針對角色型授權, 請使用 Azure 角色指派 來建立作業的讀寫存取權。

  • 對於金鑰型授權, API 金鑰 和限定端點會決定存取權。 端點可能是服務本身、索引集合、特定索引、檔集合或特定檔。 鏈結在一起時,端點、作業(例如建立或更新要求)和密鑰類型(管理員或查詢)會授權存取內容和作業。

限制索引的存取

使用 Azure 角色,只要以程式設計方式完成,就可以 設定個別索引 的許可權。

使用金鑰時,具有 服務管理金鑰 的任何人都可以讀取、修改或刪除相同服務中的任何索引。 為了防止意外或惡意刪除索引,程式代碼資產的內部原始檔控制是撤銷不想要的索引刪除或修改的解決方案。 Azure AI 搜尋服務在叢集中具有故障轉移以確保可用性,但不會儲存或執行您用來建立或載入索引的專屬程序代碼。

對於需要索引層級安全性界限的多租用戶解決方案,通常會在應用程式程式碼的仲介層中處理索引隔離。 如需多租使用者使用案例的詳細資訊,請參閱 多租使用者 SaaS 應用程式和 Azure AI 搜尋的設計模式。

限制對檔的存取

Azure AI 搜尋服務不支援檔層級的用戶權力,也稱為 數據列層級安全性。 如果您從提供數據列層級安全性的外部系統匯入數據,例如 Azure Cosmos DB,這些許可權將不會隨著 Azure AI 搜尋所編製索引而傳送數據。

如果您需要在搜尋結果中對內容具有許可權的存取權,有一種技術可用來根據使用者身分識別來套用包含或排除文件的篩選。 此因應措施會在數據源中新增字串欄位,此欄位代表群組或使用者身分識別,您可以在索引中進行篩選。 下表說明修剪未經授權內容的搜尋結果的兩種方法。

方法 描述
根據身分識別篩選進行安全性調整 記載實作使用者身分識別訪問控制的基本工作流程。 其涵蓋將安全性標識元新增至索引,然後說明篩選該字段以修剪禁止內容的結果。
根據 Microsoft Entra 身分識別進行安全性調整 本文擴充了上一篇文章,提供從 Azure 雲端平臺中 其中一個免費服務 Microsoft Entra ID 擷取身分識別的步驟。

資料落地

當您設定搜尋服務時,您可以選擇決定客戶資料儲存和處理位置的位置或區域。 除非您設定相依於另一個 Azure 資源的功能,且該資源布建在不同的區域中,否則 Azure AI 搜尋不會將客戶資料儲存在指定區域之外。

目前,搜尋服務寫入的唯一外部資源是 Azure 儲存體。 記憶體帳戶是您提供的帳戶,而且它可以位於任何區域中。 如果您使用下列任何功能,搜尋服務會寫入至 Azure 儲存體:擴充快取偵錯會話知識存放區

數據落地承諾的例外狀況

物件名稱將會在您選取的區域或位置之外儲存和處理。 客戶不應將任何敏感數據放在名稱欄位中,或建立設計用來將這些欄位中儲存敏感數據的應用程式。 此數據會出現在 Microsoft 用來為服務提供支援的遙測記錄中。 物件名稱包括索引、索引器、數據源、技能集、資源、容器和密鑰保存庫存放區的名稱。

遙測記錄會保留一年半。 在此期間,Microsoft 可能會在下列情況下存取和參考物件名稱:

  • 診斷問題、改善功能或修正錯誤。 在此案例中,數據存取僅供內部使用,沒有第三方存取權。

  • 在支持期間,此資訊可用來提供問題的快速解決方式,並視需要呈報產品小組

資料保護

儲存層會針對儲存至磁碟的所有服務管理內容內建數據加密,包括索引、同義字對應,以及索引器、數據源和技能集的定義。 服務管理的加密適用於長期數據儲存和暫存資料記憶體。

您可以選擇性地新增客戶自控密鑰 (CMK),以補充索引內容加密,以便對待用數據進行雙重加密。 對於在 2020 年 8 月 1 日之後建立的服務,CMK 加密會延伸到暫存磁碟上的短期數據。

傳輸中資料

在 Azure AI 搜尋中,加密會從連線和傳輸開始。 針對公用因特網上的搜尋服務,Azure AI 搜尋會接聽 HTTPS 埠 443。 所有客戶端對服務連線都會使用 TLS 1.2 加密。 不支援舊版 (1.0 或 1.1)。

待用資料

對於搜尋服務在內部處理的數據,下表描述 數據加密模型。 某些功能,例如知識存放區、累加擴充和以索引器為基礎的索引編製、讀取或寫入其他 Azure 服務中的數據結構。 相依於 Azure 儲存體的服務可以使用這項技術的加密功能

模型 鑰匙 要求 限制 適用於
伺服器端加密 Microsoft 管理的金鑰 無 (內建) 在 2018 年 1 月 24 日之後建立的內容,在所有階層中,所有層級都無法使用。 資料磁碟和暫存磁碟上的內容(索引和同義字對應)和定義(索引器、數據源、技能集)
伺服器端加密 客戶自控金鑰 Azure Key Vault 適用於 2020 年 8 月 1 日之後所建立之內容的可計費層。 資料磁碟上的內容(索引和同義字對應)
伺服器端完整加密 客戶自控金鑰 Azure Key Vault 可在 2021 年 5 月 13 日之後的搜尋服務上,於所有區域提供計費層。 資料磁碟和暫存磁碟上的內容(索引和同義字對應)

服務受控金鑰

服務管理的加密是使用 256 位 AES 加密的 Microsoft 內部作業。 它會自動在所有索引編製上發生,包括未完全加密之索引的累加式更新(在 2018 年 1 月之前建立)。

服務管理的加密適用於長期和短期記憶體上的所有內容。

客戶管理的金鑰 (CMK)

客戶管理的密鑰需要另一個可計費的服務 Azure 金鑰保存庫,它可以位於不同的區域,但在與 Azure AI 搜尋相同的訂用帳戶下。

CMK 支援分兩個階段推出。 如果您在第一個階段建立搜尋服務,CMK 加密僅限於長期記憶體和特定區域。 在 2021 年 5 月之後的第二個階段中建立的服務可以在任何區域中使用 CMK 加密。 在第二波推出期間,內容會在長期和短期記憶體上以 CMK 加密。 如需 CMK 支援的詳細資訊,請參閱 完整雙重加密

啟用 CMK 加密會增加索引大小,並降低查詢效能。 根據迄今為止的觀察,您可能會預期查詢時間會增加 30-60%,不過實際效能會根據索引定義和查詢類型而有所不同。 由於效能的負面影響,我們建議您只在真正需要此功能的索引上啟用此功能。 如需詳細資訊,請參閱 在 Azure AI 搜尋中設定客戶管理的加密密鑰。

安全性管理

管理 API 金鑰

依賴 API 金鑰型驗證表示您應該根據 Azure 安全性最佳做法,定期重新產生系統管理金鑰的計劃。 每個搜尋服務最多有兩個系統管理金鑰。 如需保護和管理 API 金鑰的詳細資訊,請參閱 建立和管理 API 金鑰

活動和資源記錄

Azure AI 搜尋不會記錄使用者身分識別,因此您無法參考記錄以取得特定使用者的相關信息。 不過,服務會執行記錄 create-read-update-delete 作業,您可能能夠與其他記錄相互關聯,以瞭解特定動作的代理程式。

使用 Azure 中的警示和記錄基礎結構,您可以挑選查詢磁碟區尖峰或其他偏離預期工作負載的動作。 如需設定記錄的詳細資訊,請參閱收集和分析記錄數據和監視查詢要求

認證與合規性

Azure AI 搜尋會參與定期稽核,並已針對公用雲端和 Azure Government 的許多全球、地區和業界特定標準進行認證。 如需完整清單,請從官方稽核報告頁面下載 Microsoft Azure 合規性供應專案 白皮書

為了符合規範,您可以使用 Azure 原則 來實作 Microsoft 雲端安全性效能評定的高安全性最佳做法。 Microsoft 雲端安全性效能評定是安全性建議的集合,編纂為安全性控制,其對應至您應該採取的重要動作,以減輕服務與數據的威脅。 目前有12個安全性控制措施,包括 網路安全性、記錄和監視,以及 數據保護

Azure 原則 是 Azure 內建的功能,可協助您管理多個標準的合規性,包括 Microsoft 雲端安全性基準。 對於已知的基準檢驗,Azure 原則 提供內建定義,提供準則和可採取動作的回應,以解決不符合規範。

針對 Azure AI 搜尋,目前有一個內建定義。 這是用於資源記錄。 您可以指派原則來識別遺漏資源記錄的搜尋服務,然後開啟它。 如需詳細資訊,請參閱 azure AI 搜尋 Azure 原則 法規合規性控制。

觀看這段視訊

觀看這段快速節奏的影片,以取得安全性架構和每個功能類別的概觀。

另請參閱