Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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żna
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.
Azure Storage umożliwia dostęp oparty na rolach w kontenerach w magazynie obiektów blob, w których role takie jak Storage Blob Data Reader lub Storage Blob Data Contributor określają, czy ktoś ma dostęp do zawartości. Wyszukiwanie AI platformy Azure obsługuje pozyskiwanie uprawnień użytkownika (wersja zapoznawcza) wraz z pozyskiwaniem dokumentów, dzięki czemu można użyć tych uprawnień do kontrolowania dostępu do wyników wyszukiwania. Jeśli użytkownik nie ma uprawnień do określonego katalogu lub pliku w Azure Storage, nie ma dostępu do odpowiednich dokumentów w wynikach Wyszukiwanie AI platformy Azure, nawet jeśli ty osobiście masz przypisane Search Index Data Readerdo indeksu.
- Od wersji 2025-05-01-preview i nowszych, metadane zakresów RBAC można pobierać za pomocą indeksatora blobów.
- 2025-11-01-preview i nowsze wersje zapewniają równoważną obsługę źródeł wiedzy Blob w usłudze Azure Storage.
Zakres RBAC jest ustawiany na poziomie kontenera i rozciąga się na wszystkie bloby (dokumenty) dzięki dziedziczeniu uprawnień. Zakres RBAC jest przechwytywany podczas indeksowania w formie metadanych uprawnień. Możesz używać push API do ręcznego przekazywania i indeksowania zawartości oraz metadanych uprawnień (zobacz Uprawnienia indeksowania przy użyciu push REST API), lub wykorzystać indeksator lub zasób wiedzy w celu zautomatyzowania pozyskiwania danych. Ten artykuł koncentruje się na automatyzacji indeksowania.
W czasie zapytania tożsamość obiektu wywołującego jest zawarta w nagłówku żądania za pośrednictwem parametru x-ms-query-source-authorization . Tożsamość musi być zgodna z metadanymi uprawnień w dokumentach, jeśli użytkownik ma wyświetlać wyniki wyszukiwania.
Ten artykuł koncentruje się na podejściach automatyzacji indeksowania opartych na tej podstawie:
Azure Storage obiekty blob zabezpieczone przy użyciu kontroli dostępu opartej na rolach (Azure RBAC). Nie ma obsługi kontroli dostępu opartej na atrybutach (Azure ABAC).
Indeksator obiektów blob w usłudze Azure lub źródło wiedzy Blob, które pobiera i przetwarza dane oraz metadane, w tym filtry uprawnień. Aby uzyskać obsługę filtru uprawnień, użyj najnowszego interfejsu API REST w wersji zapoznawczej lub pakietu wersji zapoznawczej Azure SDK obsługującego tę funkcję.
Indeks Wyszukiwanie AI platformy Azure zawierający pozyskane dokumenty i odpowiednie uprawnienia. Metadane uprawnień są przechowywane jako pola w indeksie.
Zapytanie korzystające z filtrów uprawnień. Aby skonfigurować zapytania, które przestrzegają filtrów uprawnień, użyj najnowszego interfejsu API REST w wersji zapoznawczej lub pakietu wersji zapoznawczej Azure SDK obsługującego tę funkcję.
Wymagania wstępne
Microsoft Entra ID uwierzytelnianie i autoryzacja. Usługi i aplikacje muszą znajdować się w tej samej dzierżawie. Użytkownicy mogą należeć do różnych dzierżawców, pod warunkiem że wszyscy są z "Microsoft Entra ID." Przypisania ról są używane dla każdego uwierzytelnionego połączenia.
Wyszukiwanie AI platformy Azure w jakimkolwiek regionie, ale musisz mieć plan płatny (podstawowy lub wyższy) do obsługiwania tożsamości zarządzanych. Usługa wyszukiwania musi być skonfigurowana pod kątem dostępu opartego na rolach i musi mieć tożsamość zarządzaną (system lub użytkownik).
Azure Storage, Standardowa wydajność (ogólnego przeznaczenia w wersji 2), w warstwach dostępu Gorąca, Chłodna i Zimna, z kontenerami lub obiektami blob zabezpieczonymi za pomocą kontroli dostępu opartej na rolach.
Należy zrozumieć, jak działają indeksatory i źródła wiedzy oraz jak utworzyć indeks. W tym artykule wyjaśniono ustawienia konfiguracji źródła danych i indeksatora, ale nie udostępnia kroków tworzenia indeksu. Aby uzyskać więcej informacji na temat indeksów przeznaczonych dla filtrów uprawnień, zobacz Tworzenie indeksu z polami filtru uprawnień.
Ograniczenia
Portal Azure nie obsługuje tej funkcji.
Następujące funkcje indeksatora nie obsługują dziedziczenia uprawnień w indeksowanych dokumentach pochodzących z usługi ADLS Gen2. Jeśli używasz żadnej z tych funkcji w zestawie umiejętności lub indeksatorze, uprawnienia na poziomie dokumentu nie są uwzględniane w indeksowanej zawartości.
Konfigurowanie Blob Storage
Proszę sprawdzić, czy kontener obiektów blob korzysta z dostępu opartego na rolach.
Zaloguj się do portalu Azure i znajdź swoje konto magazynowe.
Rozwiń kontenery i wybierz kontener, który ma obiekty blob, które chcesz indeksować.
Wybierz pozycję Access Control (IAM) aby sprawdzić przypisania ról. Użytkownicy i grupy z czytnikiem danych obiektu blob usługi Storage lub współautorem danych obiektu blob usługi Storage mają dostęp do przeszukiwania dokumentów w indeksie po indeksie kontenera.
Autoryzacja
Aby wykonać indeksator, identyfikator usługi wyszukiwania musi mieć uprawnienie Czytelnik danych obiektu blob usługi Storage. Aby uzyskać więcej informacji, zobacz Połączenie z Azure Storage przy użyciu tożsamości zarządzanej.
Konfigurowanie Wyszukiwanie AI platformy Azure
Pamiętaj, że usługa wyszukiwania musi mieć:
Autoryzacja
W przypadku wykonywania indeksatora klient wystawiający wywołanie interfejsu API musi mieć uprawnienia Search Service Contributor do tworzenia obiektów, Search Index Data Contributor do przeprowadzania importowania danych oraz Search Index Data Reader do wykonywania zapytań dotyczących indeksu. Zobacz Łączenie z Wyszukiwanie AI platformy Azure za pomocą ról.
Konfigurowanie źródła wiedzy
Jeśli używasz źródła wiedzy, definicje w źródle wiedzy są używane do generowania kompletnego procesu indeksacji (indeksator, źródło danych i indeks). Zakres kontroli dostępu opartej na rolach jest wykrywany i automatycznie uwzględniany w wygenerowanym indeksie. Nie ma potrzeby modyfikowania żadnego z wygenerowanych obiektów, jeśli chcesz dziedziczenie uprawnień w indeksowanej zawartości.
Kluczowe kwestie dotyczące konfiguracji, które sprawiają, że działają w tym scenariuszu:
-
isADLSGen2jest ustawiona na wartość false, co oznacza, że źródło danych jest Azure Blob Storage. -
ingestionPermissionOptionsokreślarbacScope.
# Create / Update Azure Blob Knowledge Source
###
PUT {{url}}/knowledgesources/azure-blob-ks?api-version=2026-08-01-preview
api-key: {{key}}
Content-Type: application/json
{
"name": "azure-blob-ks",
"kind": "azureBlob",
"description": "A sample azure blob knowledge source",
"azureBlobParameters": {
"connectionString": "{{blob-connection-string}}",
"containerName": "blobcontainer",
"folderPath": null,
"isADLSGen2": false,
"ingestionParameters": {
"identity": null,
"embeddingModel": {
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"deploymentId": "text-embedding-3-large",
"modelName": "text-embedding-3-large",
"resourceUri": "{{aoai-endpoint}}",
"apiKey": "{{aoai-key}}"
}
},
"chatCompletionModel": null,
"disableImageVerbalization": true,
"ingestionSchedule": null,
"ingestionPermissionOptions": ["rbacScope"],
"contentExtractionMode": "minimal",
"aiServices": {
"uri": "{{ai-endpoint}}",
"apiKey": "{{ai-key}}"
}
}
}
}
Dokumentacja:tworzenie lub aktualizowanie źródła wiedzy (interfejs API REST)
Konfigurowanie indeksowania opartego na indeksatorze
Jeśli używasz indeksatora, skonfiguruj go, źródło danych oraz indeks, aby pobrać metadane uprawnień z blobów.
Tworzenie źródła danych
Typ źródła danych musi mieć wartość
azureblob.Tryb analizowania źródła danych musi być domyślny.
Źródło danych musi mieć
indexerPermissionOptionszrbacScope.W przypadku
rbacScopeskonfiguruj łańcuch połączenia w formacie tożsamości zarządzanej.W przypadku parametrów połączenia, używając tożsamości zarządzanej przypisanej przez użytkownika, należy również określić właściwość
identity.
Przykład JSON z zarządzaną przez system tożsamością i indexerPermissionOptions:
{
"name" : "my-blob-datasource",
"type": "azureblob",
"indexerPermissionOptions": ["rbacScope"],
"credentials": {
"connectionString": "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.Storage/storageAccounts/<your storage account name>/;"
},
"container": {
"name": "<your-container-name>",
"query": "<optional-query-used-for-selecting-specific-blobs>"
}
}
Przykład schematu JSON z tożsamością zarządzaną przez użytkownika w parametry połączenia:
{
"name" : "my-blob-datasource",
"type": "azureblob",
"indexerPermissionOptions": ["rbacScope"],
"credentials": {
"connectionString": "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.Storage/storageAccounts/<your storage account name>/;"
},
"container": {
"name": "<your-container-name>",
"query": "<optional-query-used-for-selecting-specific-blobs>"
},
"identity": {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
}
}
Tworzenie pól uprawnień w indeksie
W Wyszukiwanie AI platformy Azure upewnij się, że indeks zawiera definicje pól metadanych uprawnień. Metadane uprawnień można indeksować, gdy indexerPermissionOptions jest określony w definicji źródła danych.
Zalecane atrybuty schematu zakresu RBAC:
- Pole zakresu RBAC z wartością
rbacScopepermissionFilter. - Właściwość
permissionFilterOptionumożliwiająca filtrowanie w czasie wykonywania zapytań. - Użyj pól tekstowych dla metadanych uprawnień
- Ustaw
filterablewartość true we wszystkich polach.
Zwróć uwagę, że retrievable jest to fałsz. Można ustawić wartość true podczas programowania, aby sprawdzić, czy uprawnienia są obecne, ale pamiętaj, aby ustawić ją z powrotem na false przed wdrożeniem do środowiska produkcyjnego, aby tożsamości podmiotów zabezpieczeń nie były widoczne w wynikach.
Przykład schematu JSON:
{
...
"fields": [
...
{
"name": "RbacScope",
"type": "Edm.String",
"permissionFilter": "rbacScope",
"filterable": true,
"retrievable": false
}
],
"permissionFilterOption": "enabled"
}
Konfigurowanie indeksatora
Mapowania pól w indeksatorze ustawiają ścieżkę danych na pola w indeksie. Pola docelowe i miejsca docelowe, które różnią się w zależności od nazwy lub typu danych, wymagają jawnego mapowania pól. Następujące pola metadanych w Azure Blob Storage mogą wymagać mapowania pól, jeśli nazwa pola jest różna:
-
metadata_rbac_scope (
Edm.String) — zakres RBAC kontenera.
Określ fieldMappings w indeksatorze, aby skierować metadane uprawnień do pól docelowych podczas indeksowania.
Przykład schematu JSON:
{
...
"fieldMappings": [
{ "sourceFieldName": "metadata_rbac_scope", "targetFieldName": "RbacScope" }
]
}
Uruchamianie indeksatora
Po skonfigurowaniu indeksatora, źródła danych i indeksu uruchom indeksator, aby rozpocząć proces. Jeśli wystąpi problem z konfiguracją lub uprawnieniami, te problemy pojawią się w tym kroku.
Domyślnie indeksator jest uruchamiany natychmiast po opublikowaniu go w usłudze wyszukiwania, ale jeśli konfiguracja indeksatora ma disabled wartość true, indeksator jest publikowany w stanie wyłączonym, aby można było uruchomić indeksator ręcznie.
Zalecamy uruchomić indeksator z portalu Azure, aby móc monitorować stan i komunikaty.
Przy założeniu, że indeks nie zawiera żadnych błędów, jest teraz wypełniany i można przejść do przodu za pomocą zapytań i testów.
Śledzenie usuwania
Aby skutecznie zarządzać usuwaniem obiektów blob, upewnij się, że włączono śledzenie usuwania przed uruchomieniem indeksatora po raz pierwszy. Ta funkcja umożliwia systemowi wykrywanie usuniętych obiektów blob ze źródła i usuwanie odpowiedniej zawartości z indeksu.