註
Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。
重要
標記(預覽)的功能、能力或屬性不受服務等級協議涵蓋,也不建議用於生產工作負載,且在正式上架前可能會有所變動或受限。 Azure AI 搜尋服務 預覽條款適用於所有預覽功能,無論是獨立功能還是正式推出功能的一部分。
Azure AI 搜尋服務 支援擷取 Microsoft Purview 敏感度標籤,並在查詢時強制套用(預覽)。 在索引過程中,它會自動擷取並儲存每份文件的敏感性標籤元資料。 在查詢時,它根據 Microsoft Purview 現有的資訊保護政策強制執行基於標籤的存取控制,確保只有授權使用者能檢索搜尋結果中標註的內容。
此功能適用於以下資料來源:
先決條件
在索引前,先設定 Microsoft Purview 敏感度標籤政策,並將其套用到文件上。
在您的 Microsoft Entra 租戶中設定全域管理員或特權角色管理員角色,以授權搜尋服務存取 Purview API 與敏感性標籤。
Azure AI 搜尋服務 服務與發出查詢的使用者必須在同一個 Microsoft Entra 租戶中。
使用同時由 Purview 敏感標籤支援且由 Azure AI 搜尋服務 索引器支援的檔案類型的原始文件。
請使用 REST API 版本 2026-08-01-preview 或等效的預覽 SDK 套件。
重要
搜尋服務必須使用其系統指派的管理身份來與 Microsoft Purview 進行認證。 此功能不支援使用者指派的受管理身份。
限制
Azure 入口網站不支援這個功能。
不支援來賓帳戶和跨租用戶查詢。
使用者指派的管理身份不支援 Microsoft Purview 角色指派。 只有該服務的 系統指派的受控識別 才能擁有標籤擷取所需的
Content.SuperUser和UnifiedPolicy.Tenant.Read角色。 請將這些角色直接指派給服務本身的識別,因為該識別會代表索引子執行具特殊權限的EXTRACT作業,包括讀取加密內容和安全性分類。 請參考 第一步 和 第三步。以下索引器功能不支援帶有敏感度標籤的文件。 如果你在技能集或索引器中使用這些功能,帶有敏感標籤的文件就不會被處理。
政策執行方式
敏感性標籤支援分為兩個階段:索引與查詢時強制執行。
索引
當你在 排程中設定索引時,索引器會從資料來源拉取新文件和更新。 它會擷取每個文件的下列內容:
- 文件內容
- 相關的敏感度標籤
- 自上次索引器運行以來的內容或標籤變更
註
索引直到下一次成功執行索引器時,才會反映來源文件的標籤變更。
查詢時強制執行
在查詢時,Azure AI 搜尋服務 會根據使用者的 Microsoft Entra ID 令牌與Microsoft Purview標籤政策,評估敏感性標籤並執行文件層級存取控制。 只有授權在特定標籤下以 READ 使用權 存取內容的使用者,才能在搜尋結果中取得對應的文件。
授權管理員也能提出提高權限讀取要求,這些要求會傳回提出呼叫的使用者平常不會看到的已加上標籤文件,並為每份傳回的文件產生一筆 Microsoft Purview 稽核記錄。 提高權限讀取需要在搜尋服務上具有 Search Index Data Contributor 角色,並使用 2026-05-01-preview 或更新版本的 API。
端到端範例
以下圖片展示了敏感性標籤如何從撰寫過程流向搜尋體驗。 在第一張圖片中,使用者將 Confidential 標籤套用在 Microsoft Word 文件上。 在第二張圖片中,企業聊天機器人會在查詢時強制執行該標籤,阻止機密內容的複製與分享操作。
1. 啟用 AI 搜尋服務受控識別
為你的 Azure AI 搜尋服務 服務啟用系統指派的管理身份——此功能不支援使用者指派的管理身份。 索引器利用此身份與 Microsoft Purview 進行認證並擷取敏感度標籤的元資料。 同時也必須在 第三步中接收角色分配。
2. 在您的 AI 搜尋服務上啟用 RBAC
在您的 Azure AI 搜尋服務 服務上啟用基於角色的存取控制(RBAC)。 此步驟是為了讓內容相關操作如索引內容和查詢索引成功。 同時保留 RBAC 和 API 金鑰,以避免干擾依賴 API 金鑰的操作。
3. 授予權限以擷取敏感性標籤
存取 Microsoft Purview 敏感性標籤的元資料涉及高度特權操作,包括讀取加密內容及安全分類。 要在 Azure AI 搜尋服務 啟用此功能,您必須依照組織內部治理與核准流程,為服務的管理身份授予特定角色。
識別你的全域或特權角色管理員
如果您需要確認誰可以授權搜尋服務的權限,可以在您的 Microsoft Entra 租戶中找到活躍或符合資格的全域管理員。
在Azure入口網站中,搜尋Microsoft Entra ID。
在左側導覽窗格中,選擇 管理 > 角色與管理員。
搜尋 全域管理員 或 特權角色 管理員角色並選擇它。
在 「合格指派 」和 「主動指派」中,請查看被授權執行權限設定流程的管理員名單。
確保管理批准
請邀請內部安全或合規團隊審查申請。 Microsoft 建議在進行任何職務分配前,先遵循貴公司的標準治理與安全審查流程。
一旦核准,全域管理員或特權角色管理員必須將以下角色指派給 Azure AI 搜尋服務 系統指派的管理身份:
- Content.SuperUser – 用於標籤與內容擷取
- UnifiedPolicy.Tenant.Read – 用於 Purview 政策與標籤元資料存取
透過 PowerShell 指派角色
註
僅將這些角色指派給 Azure AI 搜尋服務 服務的系統指派的受控識別,而不要指派給使用者指派的受控識別、服務主體或個別使用者帳戶。 PowerShell 腳本會自動從服務資源中取得管理身份物件 ID。
您的全域管理員或特權角色管理員應使用以下 PowerShell 腳本來授予所需的權限。 將佔位符值用你的實際訂閱名稱、資源群組和搜尋服務名稱替換。
Install-Module -Name Az -Scope CurrentUser
Install-Module -Name Microsoft.Entra -AllowClobber
Import-Module Az.Resources
Connect-Entra -Scopes 'Application.ReadWrite.All'
$resourceIdWithManagedIdentity = "subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Search/searchServices/<searchServiceName>"
$managedIdentityObjectId = (Get-AzResource -ResourceId $resourceIdWithManagedIdentity).Identity.PrincipalId
# Microsoft Information Protection (MIP)
$MIPResourceSP = Get-EntraServicePrincipal -Filter "appID eq '870c4f2e-85b6-4d43-bdda-6ed9a579b725'"
New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $managedIdentityObjectId -Principal $managedIdentityObjectId -ResourceId $MIPResourceSP.Id -Id "8b2071cd-015a-4025-8052-1c0dba2d3f64"
# Microsoft Rights Management Services (MRMS) - Service Principal for policy read
$MRMSResourceSP = Get-EntraServicePrincipal -Filter "appID eq '00000012-0000-0000-c000-000000000000'"
New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $managedIdentityObjectId -Principal $managedIdentityObjectId -ResourceId $MRMSResourceSP.Id -Id "7347eb49-7a1a-43c5-8eac-a5cd1d1c7cf0"
PowerShell腳本中的appID角色與以下Azure角色相關聯:
| AppID | 服務主任 |
|---|---|
870c4f2e-85b6-4d43-bdda-6ed9a579b725 |
Microsoft 資訊保護同步服務 |
00000012-0000-0000-c000-000000000000 |
Microsoft 權利管理服務 |
4. 設定索引以啟用 Purview 敏感性標籤
當需要支援敏感度標籤時,請在您的purviewEnabled中,將true屬性設為。
重要
建立索引時,必須將 purviewEnabled 屬性設定為 true。 此設定為永久,之後無法修改。
當 purviewEnabled 設定為 true時,所有文件操作 API 僅支援 RBAC 認證。
API 金鑰存取僅限於索引結構檢索(list與get)。
PUT https://{service}.search.windows.net/indexes('{indexName}')?api-version=2026-08-01-preview
{
"purviewEnabled": true,
"fields": [
{
"name": "sensitivityLabel",
"type": "Edm.String",
"filterable": true,
"sensitivityLabel": true,
"retrievable": true
}
]
}
5. 設定資料來源
要啟用敏感性標籤的擷取,請將 資料來源 設定為 indexerPermissionOptions 屬性為 [“sensitivityLabel”]。
{
"name": "purview-sensitivity-datasource",
"type": "azureblob", // < adjust type value according to the data source you are enabling this for: sharepoint, onelake, adlsgen2.
"indexerPermissionOptions": [ "sensitivityLabel" ],
"credentials": {
"connectionString": <your-connection-string>;"
},
"container": {
"name": "<container-name>"
}
}
此 indexerPermissionOptions 特性指示索引器在擷取過程中擷取敏感性標籤的元資料,並將其附加到已索引的文件上。
6. 在你的技能組中設定指數預測(如適用)
如果你的索引器具有 技能集,且你透過 文字分割技能 實作資料分塊(例如使用整合式向量化),請透過 技能集中的索引投影,將敏感度標籤投影到每個區塊。
關於權限與 ACL 欄位何時應包含在索引器欄位映射與索引投影中的更廣泛規則,請參見 「選擇 ACL 欄位的填充位置」。
查詢時間強制執行,以及代理式擷取回應包含每個區塊之每份文件 sensitivityLabelInfo,都需要此步驟。 沒有投影映射,子區塊列無法正確篩選。
PUT https://{service}.search.windows.net/skillsets/{skillset}?api-version=2026-08-01-preview
{
"name": "my-skillset",
"skills": [
{
"@odata.type": "#Microsoft.Skills.Text.SplitSkill",
"name": "#split",
"context": "/document",
"inputs": [{ "name": "text", "source": "/document/content" }],
"outputs": [{ "name": "textItems", "targetName": "chunks" }]
}
// ... (other skills such as embeddings, entity recognition, etc.)
],
"indexProjections": {
"selectors": [
{
"targetIndexName": "chunks-index",
"parentKeyFieldName": "parentId", // must exist in target index
"sourceContext": "/document/chunks/*", // match your split output path
"mappings": [
{ "name": "chunkId", "source": "/document/chunks/*/id" }, // if you create an id per chunk
{ "name": "content", "source": "/document/chunks/*/text" }, // chunk text
{ "name": "parentId", "source": "/document/id" }, // parent doc id
{ "name": "sensitivityLabel", "source": "/document/metadata_sensitivity_label" } // <-- parent → child
]
}
],
"parameters": {
"projectionMode": "skipIndexingParentDocuments"
}
}
}
7. 設定索引器
- 在 索引器定義 中定義欄位映射,將擷取的標籤元資料導向索引欄位。
如果資料來源使用不同的欄位名稱輸出標籤中繼資料 (例如
metadata_sensitivity_label),請明確加以對應。
{
"fieldMappings": [
{
"sourceFieldName": "metadata_sensitivity_label",
"targetFieldName": "sensitivityLabel"
}
]
}
- 當索引器偵測到文件標籤、內容或元資料在排程索引器執行時的變更,會自動索引敏感性標籤更新。 將索引器設定為定期排程。 最低支援間隔為每5分鐘一次。