Używanie indeksatora Wyszukiwanie AI platformy Azure do pozyskiwania etykiet poufności Microsoft Purview i stosowania zabezpieczeń na poziomie dokumentów (wersja zapoznawcza)

Uwaga

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.

Ważne

Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.

Wyszukiwanie AI platformy Azure obsługuje wyodrębnianie etykiet poufności Microsoft Purview oraz ich wymuszanie podczas wykonywania zapytania (wersja zapoznawcza). Podczas indeksowania automatycznie wyodrębnia i przechowuje metadane etykiet poufności dla każdego dokumentu. W czasie wykonywania zapytania wymusza kontrolę dostępu opartą na etykietach zgodnie z istniejącymi zasadami ochrony informacji w Microsoft Purview, zapewniając, że tylko autoryzowani użytkownicy mogą pobierać zawartość z etykietami w wynikach wyszukiwania.

Ta funkcja jest dostępna dla następujących źródeł danych:

Diagram architektury przedstawiający zarządzane rozwiązanie RAG, w którym dokumenty oznaczone etykietami poufności Microsoft Purview są indeksowane w Wyszukiwanie AI platformy Azure, a orkiestrator RAG filtruje wyniki zapytania według etykiety, aby użytkownicy z mniejszymi uprawnieniami widzieli tylko zawartość ogólną, podczas gdy użytkownicy na stanowiskach kierowniczych widzą zawartość Ogólną, Poufną i Wysoce Poufną.

Wymagania wstępne

Ważne

Usługa wyszukiwania musi używać przypisanej przez system tożsamości zarządzanej do uwierzytelniania za pomocą Microsoft Purview. Ta funkcja nie obsługuje tożsamości zarządzanych przypisanych przez użytkownika.

Ograniczenia

  • Portal Azure nie obsługuje tej funkcji.

  • Autouzupełnianie i sugerowane interfejsy API nie są obsługiwane w przypadku indeksów z obsługą usługi Purview, ponieważ nie mogą jeszcze wymuszać kontroli dostępu opartej na etykietach.

  • Konta gościa i zapytania między tenantami nie są obsługiwane.

  • Tożsamości zarządzane przypisane przez użytkownika nie są obsługiwane na potrzeby przypisań ról Microsoft Purview. Tylko przypisana przez system tożsamość zarządzana usługi może mieć przypisane obie role Content.SuperUser i UnifiedPolicy.Tenant.Read, wymagane do ekstrakcji etykiet. Przypisz te role bezpośrednio do tożsamości samej usługi — to ona wykonuje uprzywilejowane operacje EXTRACT (odczytywanie zaszyfrowanej zawartości i klasyfikacji zabezpieczeń) w imieniu indeksatora. Zobacz Krok 1 i Krok 3.

  • Następujące funkcje indeksatora nie obsługują dokumentów z etykietami poufności. Jeśli używasz żadnej z tych funkcji w zestawie umiejętności lub indeksatorze, dokumenty z etykietami poufności nie są przetwarzane.

Jak działa wymuszanie zasad

Obsługa etykiet poufności ma dwie fazy: indeksowanie i wymuszanie czasu zapytania.

Indeksowanie

Podczas konfigurowania indeksowania zgodnie z harmonogramem indeksator pobiera nowe dokumenty i aktualizacje ze źródła danych. Dla każdego dokumentu przechwytuje:

  • Zawartość dokumentu
  • Skojarzona etykieta poufności
  • Zmiany zawartości lub etykiet od ostatniego uruchomienia indeksatora

Uwaga

Indeks nie odzwierciedla zmian etykiet w dokumentach źródłowych do momentu następnego pomyślnego uruchomienia indeksatora.

Wymuszanie czasu wykonywania zapytań

W czasie wykonywania zapytania Wyszukiwanie AI platformy Azure ocenia etykiety poufności i wymusza kontrolę dostępu na poziomie dokumentu na podstawie tokenu Microsoft Entra ID użytkownika i polityk etykiet Microsoft Purview. Tylko użytkownicy upoważnieni do dostępu do treści z prawem do odczytu pod daną etykietą mogą pobierać odpowiednie dokumenty w wynikach wyszukiwania.

Autoryzowani administratorzy mogą również wysyłać żądania podwyższonego odczytu, które zwracają dokumenty z etykietami, których użytkownik wywołujący zwykle by nie widział, i powodują utworzenie wpisu w dzienniku inspekcji Microsoft Purview dla każdego zwróconego dokumentu. Podwyższony poziom odczytu wymaga roli Współautor danych indeksu wyszukiwania w usłudze wyszukiwania i interfejsie API w wersji 2026-05-01-preview lub nowszej.

Przykład end-to-end

Na poniższych obrazach pokazano, jak etykiety wrażliwości przechodzą od etapu tworzenia do środowiska wyszukiwania. Na pierwszym obrazie użytkownik stosuje etykietę Confidential do dokumentu w Microsoft Word. Na drugim obrazie czatbot przedsiębiorstwa wprowadza tę etykietę podczas zapytania, blokując kopiowanie i udostępnianie poufnej zawartości.

Zrzut ekranu przedstawiający menu poufności w Microsoft Word z hierarchią etykiet, w tym użytkowe, publiczne, ogólne, poufne z podetykietami takimi jak Project Obsidian i tylko dla odbiorców, oraz ściśle tajne, z aktualnie zastosowaną etykietą „Poufne” do dokumentu.

Zrzut ekranu czatbota firmy Contoso wyświetlającego odpowiedź z rozpoznaniem zasad, z numerowanymi cytatami, baner etykiety poufności projektu Obsidian, zablokowane akcje kopiowania i udostępniania oraz etykiety poufności poszczególnych dokumentów wyświetlane w panelu odniesień.

Włącz zarządzaną tożsamość wyszukiwania AI

Włącz tożsamość zarządzaną przypisaną przez system dla usługi Wyszukiwanie AI platformy Azure — tożsamości zarządzane przypisane przez użytkownika nie są obsługiwane w przypadku tej funkcji. Indeksator używa tej tożsamości do uwierzytelniania za pomocą Microsoft Purview i wyodrębniania metadanych etykiety poufności. Musi również otrzymać przypisanie ról w kroku 3.

2. Włącz RBAC w usłudze AI Search

Włącz kontrolę dostępu opartą na rolach (RBAC) w usłudze Wyszukiwanie AI platformy Azure. Ten krok jest wymagany, aby operacje związane z zawartością, takie jak indeksowanie zawartości i wykonywanie zapytań względem indeksu powiodło się. Zachowaj zarówno kontrolę dostępu opartą na rolach (RBAC), jak i klucze API, aby uniknąć zakłócania operacji opartych na tych kluczach.

3. Przyznaj dostęp do pobierania etykiet poufności

Uzyskiwanie dostępu do metadanych etykiety poufności Microsoft Purview obejmuje wysoce uprzywilejowane operacje, w tym odczytywanie zaszyfrowanej zawartości i klasyfikacji zabezpieczeń. Aby włączyć tę możliwość w usłudze Wyszukiwanie AI platformy Azure, należy przypisać określone role tożsamości zarządzanej usługi, zgodnie z wewnętrznymi zasadami nadzoru oraz procesami zatwierdzania obowiązującymi w organizacji.

Identyfikowanie administratorów ról globalnych lub uprzywilejowanych

Jeśli musisz określić, kto może nadawać uprawnienia dla usługi wyszukiwania, możesz zlokalizować aktywnych lub uprawnionych do tego administratorów globalnych w dzierżawie Microsoft Entra.

  1. W portalu Azure wyszukaj Microsoft Entra ID.

    Zrzut ekranu akcji wyszukiwania dla produktu Microsoft Entra.

  2. W okienku nawigacji po lewej stronie wybierz pozycję Zarządzaj rolami > i administratorami.

    Zrzut ekranu przedstawiający stronę Entra Role i Administratorzy.

  3. Wyszukaj rolę Administrator globalny lub Administrator ról uprzywilejowanych i wybierz ją.

    Zrzut ekranu przedstawiający wybór roli administratora globalnego.

  4. W obszarze Kwalifikujące się przypisania i Aktywne przypisania przejrzyj listę administratorów autoryzowanych do uruchamiania procesu konfiguracji uprawnień.

    Zrzut ekranu przedstawiający kwalifikujące się i aktywne przypisania roli.

Uzyskanie zgody zarządu

Skontaktuj się z zespołami ds. zabezpieczeń wewnętrznych lub zgodności, aby przejrzeć żądanie. Microsoft zaleca stosowanie standardowego procesu przeglądu zarządzania i zabezpieczeń firmy przed przystąpieniem do przypisywania ról.

Po zatwierdzeniu administrator globalny lub administrator ról uprzywilejowanych musi przypisać następujące role do tożsamości zarządzanej przypisanej przez system Wyszukiwanie AI platformy Azure:

  • Content.SuperUser — do wyodrębniania etykiet i zawartości
  • UnifiedPolicy.Tenant.Read — dla polityki Purview i dostępu do metadanych etykiet

Przypisywanie ról za pomocą programu PowerShell

Uwaga

Przypisz te role tylko do przypisanej przez system tożsamości zarządzanej usługi Wyszukiwanie AI platformy Azure — nie do tożsamości zarządzanej przypisanej przez użytkownika, jednostki usługi lub indywidualnego konta użytkownika. Skrypt programu PowerShell automatycznie pobiera identyfikator obiektu tożsamości zarządzanej z zasobu usługi.

Administrator globalny lub administrator ról uprzywilejowanych powinien użyć następującego skryptu programu PowerShell, aby udzielić wymaganych uprawnień. Zamień wartości symboli zastępczych na rzeczywistą nazwę subskrypcji, grupy zasobów i nazwy usługi wyszukiwania.

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"

Role appID w podanym skrypcie programu PowerShell są skojarzone z następującymi rolami Azure:

AppID Jednostka usługi
870c4f2e-85b6-4d43-bdda-6ed9a579b725 usługa synchronizacji Microsoft Info Protection
00000012-0000-0000-c000-000000000000 Usługi zarządzania prawami firmy Microsoft

4. Skonfiguruj indeks, aby włączyć etykietę wrażliwości Purview

Jeśli wymagana jest obsługa etykiet poufności, ustaw właściwość purviewEnabled na wartość true w definicji indeksu.

Ważne

Właściwość purviewEnabled musi być ustawiona na true podczas tworzenia indeksu. To ustawienie jest trwałe i nie można go później modyfikować.

Jeśli purviewEnabled jest ustawione na true, we wszystkich interfejsach API operacji na dokumentach obsługiwane jest tylko uwierzytelnianie RBAC.

Dostęp do klucza interfejsu API jest ograniczony do pobierania schematu indeksu (wypisanie i pobieranie).

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. Konfigurowanie źródła danych

Aby włączyć pozyskiwanie etykiet poufności, skonfiguruj źródło danych, ustawiając właściwość indexerPermissionOptions na wartość ["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>"
  }
}

Właściwość indexerPermissionOptions instruuje indeksator, aby wyodrębnił metadane etykiety poufności podczas pozyskiwania i dołączał je do indeksowanego dokumentu.

6. Konfigurowanie projekcji indeksów w zestawie umiejętności (jeśli dotyczy)

Jeśli indeksator ma zestaw umiejętności i stosujesz dzielenie danych na fragmenty za pomocą umiejętności Text Split, na przykład w przypadku zintegrowanej wektoryzacji, rzutuj etykietę poufności na każdy fragment za pośrednictwem projekcji indeksu w zestawie umiejętności.

Aby uzyskać szerszą regułę dotyczącą tego, kiedy uprawnienia i pola listy ACL należą do mapowań pól indeksatora w porównaniu z projekcjami indeksu, zobacz Wybieranie miejsca wypełniania pól listy ACL.

Ten krok jest wymagany zarówno do egzekwowania w czasie wykonywania zapytania, jak i po to, aby odpowiedzi agentowego pobierania zawierały sensitivityLabelInfo dla każdego fragmentu, osobno dla każdego dokumentu. Bez mapowania projekcji wiersze fragmentów podrzędnych nie będą poprawnie filtrowane.

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. Konfigurowanie indeksatora

  • Zdefiniuj mapowania pól w definicji indeksatora , aby skierować wyodrębnione metadane etykiety do pól indeksu. Jeśli źródło danych udostępnia metadane etykiet pod inną nazwą pola (na przykład metadata_sensitivity_label), przypisz je jawnie.
{
  "fieldMappings": [
    {
      "sourceFieldName": "metadata_sensitivity_label",
      "targetFieldName": "sensitivityLabel"
    }
  ]
}

Następne kroki