Az RBAC-hatókörök metaadatainak betöltése blobindexelő vagy tudásbázis használatával (előzetes verzió)

Megjegyzés

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

Important

Az (előzetes verzióban) megjelölt funkciókra, képességekre vagy tulajdonságokra nem vonatkozik szolgáltatási szintű szerződés, nem ajánlott éles számítási feladatokhoz, és az általános elérhetővé válásuk előtt változhatnak vagy korlátozhatók. Az Azure AI Keresés előzetes verziójú kifejezések az összes előzetes verziós funkcióra vonatkoznak, függetlenül attól, hogy önálló vagy egy általánosan elérhető funkció része.

Azure Storage lehetővé teszi a szerepköralapú hozzáférést a blobtárolókon, ahol az olyan szerepkörök, mint a Storage Blob Data Reader vagy Storage Blob Data Contributor határozzák meg, hogy valaki hozzáfér-e a tartalomhoz. Azure AI Keresés támogatja a felhasználói engedélyek (előzetes verzió) betöltését a dokumentumbetöltés mellett, így ezekkel az engedélyekkel szabályozhatja a keresési eredményekhez való hozzáférést. Ha egy felhasználó nem rendelkezik engedélyekkel egy adott könyvtárhoz vagy fájlhoz az Azure Storage-ban, akkor nem fér hozzá a megfelelő dokumentumokhoz az Azure AI Keresés eredmények között, még akkor sem, ha ön személyesen rendelkezik Search Index Data Reader hozzárendeléssel az indexen.

  • A 2025-05-01-preview és újabb verziókban az RBAC-hatókörök metaadatai a Blob indexelő használatával betölthetők.
  • A 2025-11-01-preview és az azt követő verziók azonos szintű támogatást biztosítanak az Azure Storage-ban található Blob tudásforrásokhoz.

Az RBAC-hatókör a tároló szintjén van beállítva, és az engedélyöröklésen keresztül az összes blobra (dokumentumra) áramlik. Az RBAC-hatókör az indexelés során engedély metaadataiként lesz rögzítve. A leküldéses API-k segítségével manuálisan tölthet fel és indexelhet tartalmakat és engedély metaadatokat (lásd : Indexelési engedélyek a leküldéses REST API használatával), vagy indexelő vagy tudásbázis használatával automatizálhatja az adatbetöltést. Ez a cikk az indexelés automatizálására összpontosít.

Lekérdezéskor a hívó identitása szerepel a kérelem fejlécében a x-ms-query-source-authorization paraméteren keresztül. Az identitásnak meg kell egyeznie a dokumentumok engedély metaadataival, ha a felhasználó látni szeretné a keresési eredményeket.

Ez a cikk az indexelés automatizálási megközelítéseivel foglalkozik, amely az alábbi alapokra épül:

Előfeltételek

  • Microsoft Entra ID hitelesítés és engedélyezés. A szolgáltatásoknak és alkalmazásoknak ugyanabban a bérlőben kell lenniük. A felhasználók különböző bérlőkben lehetnek, mindaddig, amíg az összes bérlő Microsoft Entra ID. A szerepkör-hozzárendelések minden hitelesített kapcsolathoz használhatók.

  • Azure AI Keresés bármely régióban elérhető, de a felügyelt identitás támogatásához rendelkezned kell egy számlázható szinttel (alapszintű vagy annál magasabb). A keresési szolgáltatást szerepköralapú hozzáférésre kell konfigurálni , és felügyelt identitással (rendszer vagy felhasználó) kell rendelkeznie.

  • Azure Storage, Standard teljesítmény (általános célú v2), gyakori, ritka elérésű és hideg hozzáférési szinteken, RBAC által védett tárolókkal vagy blobokkal.

  • Ismernie kell az indexelők és a tudásbázisok működését, valamint az indexek létrehozásának módját. Ez a cikk az adatforrás és az indexelő konfigurációs beállításait ismerteti, de nem nyújt lépéseket az index létrehozásához. További információ az engedélyszűrőkhöz tervezett indexekről: Index létrehozása engedélyszűrő mezőkkel.

Limitations

Blob Storage konfigurálása

Ellenőrizze, hogy a blobtároló szerepköralapú hozzáférést használ-e.

  1. Jelentkezzen be a Azure portálra, és keresse meg a tárfiókját.

  2. Bontsa ki a tárolókat , és válassza ki az indexelni kívánt blobokat tartalmazó tárolót.

  3. A szerepkör-hozzárendelések ellenőrzéséhez válassza a Access Control (IAM) lehetőséget. A tároló indexelése után a Storage Blob-adatolvasóval vagy a Storage Blob-adatszolgáltatóval rendelkező felhasználók és csoportok hozzáférhetnek az indexben lévő dokumentumok kereséséhez.

Engedélyezési

Az indexelő végrehajtásához a keresési szolgáltatás identitásának tárolási blobadat-olvasó engedéllyel kell rendelkeznie. További információkat a következő témában talál: Felügyelt identitással való kapcsolódás az Azure Storage-hoz.

Ne feledje, hogy a keresési szolgáltatásnak a következő szolgáltatással kell rendelkeznie:

Engedélyezési

Az indexelő végrehajtásához az API-hívást kibocsátó ügyfélnek Search szolgáltatás közreműködője engedéllyel kell rendelkeznie az objektumok létrehozásához, Search indexadatok közreműködője adatimportálási engedély, valamint Aearch index adatolvasója az index lekérdezéséhez lásd: Csatlakozás Azure AI Keresés szerepkörök használatával.

Tudásbázis konfigurálása

Ha tudásbázist használ, a tudásbázis definíciói teljes indexelési folyamatot (indexelőt, adatforrást és indexet) hoznak létre. A rendszer észleli az RBAC-hatókört, és automatikusan bekerül a létrehozott indexbe. Nincs szükség a létrehozott objektumok módosítására, ha engedélyöröklést szeretne az indexelt tartalomban.

Az ebben a forgatókönyvben használható konfigurációval kapcsolatos főbb pontok:

  • isADLSGen2 értéke hamis, ami azt jelenti, hogy az adatforrás Azure Blob Storage.
  • ingestionPermissionOptions meghatározza rbacScope.
# 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}}"
            }
        }
    }
}

Referencia:Tudásbázis létrehozása vagy frissítése (REST API)

Indexelőalapú indexelés konfigurálása

Ha indexelőt használ, konfigurálja azt, az adatforrást és az indexet, hogy lekérje az engedély metaadatait a blobokból.

Az adatforrás létrehozása

  • Az adatforrás típusának meg kell lennie azureblob.

  • Az adatforrás-elemzési módnak alapértelmezettnek kell lennie.

  • Az adatforrásnak rendelkeznie kell indexerPermissionOptionsrbacScope-vel.

JSON-példa a rendszer által felügyelt identitással és 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>"
    }
}

JSON-séma példa egy felhasználó által felügyelt identitással a kapcsolati sztringben.

{
    "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}"
    }
}

Engedélymezők létrehozása az indexben

A Azure AI Keresés ellenőrizze, hogy az index tartalmaz-e meződefiníciókat az engedély metaadataihoz. Az engedély metaadatai indexelhetők, ha indexerPermissionOptions az adatforrás definíciójában meg van adva.

Ajánlott sémaattribútumok RBAC-hatókör:

  • RBAC-hatókör mező a rbacScope permissionFilter értékkel.
  • Tulajdonság permissionFilterOption , amely lehetővé teszi a szűrést a lekérdezési időpontban.
  • Sztringmezők használata az engedély metaadataihoz
  • Állítsa filterable a true (igaz) értéket az összes mezőre.

Figyelje meg, hogy retrievable ez hamis. A fejlesztés során igaz értékre állíthatja be az engedélyek ellenőrzéséhez, de ne felejtse el visszaállítani hamisra, mielőtt éles környezetben üzembe helyezi, hogy a biztonsági azonosítók ne legyenek láthatók az eredményekben.

Példa JSON-séma:

{
  ...
  "fields": [
    ...
    { 
        "name": "RbacScope", 
        "type": "Edm.String", 
        "permissionFilter": "rbacScope", 
        "filterable": true, 
        "retrievable": false 
    }
  ],
  "permissionFilterOption": "enabled"
}

Az indexelő konfigurálása

Az indexelőn belüli mezőleképezések az adatelérési utat egy index mezőire állítják be. A név vagy adattípus szerint változó cél- és célmezők explicit mezőleképezést igényelnek. A Azure Blob Storage következő metaadatmezőinek mezőleképezésre lehet szükségük, ha eltérő a mező neve:

  • metadata_rbac_scope (Edm.String) – a tároló RBAC-hatóköre.

Adja meg fieldMappings az indexelőben, hogy az engedély metaadatait célmezőkre irányíthassa az indexelés során.

Példa JSON-séma:

{
  ...
  "fieldMappings": [
    { "sourceFieldName": "metadata_rbac_scope", "targetFieldName": "RbacScope" }
  ]
}

Az indexelő futtatása

Miután konfigurálta az indexelőt, az adatforrást és az indexet, futtassa az indexelőt a folyamat mozgásba hozásához. Ha probléma merül fel a konfigurációval vagy az engedélyekkel kapcsolatban, ezek a problémák ebben a lépésben jelentkeznek.

Alapértelmezés szerint az indexelő azonnal fut, mihelyt közzéteszi egy keresőszolgáltatásban, de ha az indexelő konfigurációja disabled értékre van beállítva, az indexelő letiltott állapotban kerül közzétételre, így manuálisan futtathatja az indexelőt.

Javasoljuk, hogy futtassa az indexelőt az Azure portálról az állapot és az üzenetek figyelése érdekében.

Ha nem történik hiba, az index most már fel van töltve, és továbbléphet a lekérdezésekkel és a teszteléssel.

Törlés nyomon követése

A blobok törlésének hatékony kezeléséhez győződjön meg arról, hogy engedélyezte a törlés nyomon követését , mielőtt az indexelő első alkalommal fut. Ez a funkció lehetővé teszi a rendszer számára, hogy észlelje a forrásból törölt blobokat, és törölje a megfelelő tartalmat az indexből.

Lásd még: