Megosztás a következőn keresztül:


Csatlakozás az Azure AI Search szolgáltatáshoz szerepkörök használatával

Az Azure globális hitelesítést és szerepköralapú hozzáférés-vezérlést biztosít a Microsoft Entra ID-n keresztül a platformon futó összes szolgáltatáshoz. Ebből a cikkből megtudhatja, hogy mely szerepkörök biztosítanak hozzáférést a keresési tartalmakhoz és a felügyelethez az Azure AI Searchben.

Az Azure AI Searchben Azure-szerepköröket rendelhet a következőhöz:

A szerepkör-hozzárendelések nem támogatják a felhasználónkénti hozzáférést a keresési eredményekhez (más néven sorszintű biztonsághoz vagy dokumentumszintű biztonsághoz). Áthidaló megoldásként hozzon létre olyan biztonsági szűrőket, amelyek felhasználói identitás alapján vágják le az eredményeket, eltávolítva azokat a dokumentumokat, amelyekhez a kérelmezőnek nem kellene hozzáféréssel rendelkeznie. Tekintse meg ezt a vállalati csevegési mintát a RAG használatával egy bemutatóhoz.

A szerepkör-hozzárendelések összesítőek és áthatóak az összes eszköz és ügyfélkódtár között. Szerepköröket az Azure szerepköralapú hozzáférés-vezérlési dokumentációjában ismertetett támogatott megközelítések bármelyikével hozzárendelhet.

A szerepköralapú hozzáférés nem kötelező, de ajánlott. A másik lehetőség a kulcsalapú hitelesítés, amely az alapértelmezett.

Előfeltételek

Szerepkörök hozzárendelése az Azure Portalon

Az alábbi lépések az összes szerepkör-hozzárendelés esetében működnek.

  1. Jelentkezzen be az Azure Portalra.

  2. Lépjen a keresési szolgáltatáshoz.

  3. Szerepköralapú hozzáférés engedélyezése.

  4. A bal oldali navigációs panelen válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

  5. Válassza a + Szerepkör-hozzárendelés hozzáadása>lehetőséget a Szerepkör-hozzárendelés hozzáadása varázsló elindításához.

    Képernyőkép az Azure Portal hozzáférés-vezérlési oldaláról.

  6. Válasszon ki egy szerepkört. A varázslón keresztül több biztonsági tagot is hozzárendelhet, akár felhasználókat, akár felügyelt identitásokat egy szerepkörhöz, de ezeket a lépéseket meg kell ismételnie minden definiált szerepkörhöz.

  7. A Tagok lapon válassza ki a Microsoft Entra felhasználót vagy csoportdentitást. Ha egy másik Azure-szolgáltatás engedélyeit állítja be, válasszon ki egy rendszert vagy felhasználó által felügyelt identitást.

  8. A szerepkör hozzárendeléséhez a Felülvizsgálat + hozzárendelés lapon válassza a Felülvizsgálat + hozzárendelés lehetőséget.

Az adatsík a keresési szolgáltatás végpontján végzett műveletekre vonatkozik, például indexelésre vagy lekérdezésekre, vagy a Keresési szolgáltatás REST API-jaiban vagy az azzal egyenértékű Azure SDK-ügyfélkódtárakban megadott bármely más műveletre.

A vezérlősík az Azure-erőforrás-kezelésre utal, például keresési szolgáltatás létrehozására vagy konfigurálására.

A következő szerepkörök vannak beépítve. Ha ezek a szerepkörök nem elegendőek, hozzon létre egy egyéni szerepkört.

Szerepkör Repülőgép Leírás
Tulajdonos Control & Data A keresési erőforrás vezérlősíkjának teljes hozzáférése, beleértve az Azure-szerepkörök hozzárendelését is. Csak a tulajdonosi szerepkör engedélyezheti vagy tilthatja le a hitelesítési beállításokat, illetve kezelheti a szerepköröket más felhasználók számára. Az előfizetés-rendszergazdák alapértelmezés szerint tagok.

Az adatsíkon ez a szerepkör ugyanazzal a hozzáféréssel rendelkezik, mint a keresési szolgáltatás közreműködői szerepköre. Ez magában foglalja az összes adatsík-művelethez való hozzáférést, kivéve a dokumentumok lekérdezésének vagy indexelésének lehetőségét.
Közreműködő Control & Data A vezérlősíkhoz való hozzáférés szintje megegyezik a tulajdonossal, és nincs lehetőség szerepkörök hozzárendelésére vagy a hitelesítési beállítások módosítására.

Az adatsíkon ez a szerepkör ugyanazzal a hozzáféréssel rendelkezik, mint a keresési szolgáltatás közreműködői szerepköre. Ez magában foglalja az összes adatsík-művelethez való hozzáférést, kivéve a dokumentumok lekérdezésének vagy indexelésének lehetőségét.
Olvasó Control & Data Olvasási hozzáférés a teljes szolgáltatásban, beleértve a keresési metrikákat, a tartalommetrikákat (felhasznált tárterület, objektumok száma) és az adatsík-erőforrások (indexek, indexelők stb.) objektumdefinícióit. Azonban nem tudja olvasni az API-kulcsokat, és nem tud tartalmat olvasni az indexekben.
Keresési szolgáltatás közreműködője Control & Data Írási-olvasási hozzáférés objektumdefiníciókhoz (indexek, aliasok, szinonimatérképek, indexelők, adatforrások és képességkészletek). Ez a szerepkör olyan fejlesztőknek szól, akik objektumokat hoznak létre, valamint olyan rendszergazdák számára, akik egy keresési szolgáltatást és annak objektumait kezelik, de nem férnek hozzá az index tartalmához. Ezzel a szerepkörsel létrehozhat, törölhet és listázhat indexeket, lekérheti az indexdefiníciókat, lekérheti a szolgáltatásinformációkat (statisztikákat és kvótákat), tesztelheti az elemzőket, szinonimatérképeket, indexelőket, adatforrásokat és készségkészleteket hozhat létre és kezelhet. Tekintse meg Microsoft.Search/searchServices/* az engedélyek listáját.
Keresési index adatszolgáltatója Adatok Olvasási-írási hozzáférés az indexekben lévő tartalmakhoz. Ez a szerepkör azoknak a fejlesztőknek vagy indextulajdonosoknak szól, akiknek importálni, frissíteniük vagy le kell kérdezniük egy index dokumentumgyűjteményét. Ez a szerepkör nem támogatja az indexek létrehozását vagy kezelését. Alapértelmezés szerint ez a szerepkör a keresési szolgáltatás összes indexéhez tartozik. A hatókör szűkítéséhez lásd : Hozzáférés biztosítása egyetlen indexhez .
Keresési index adatolvasója Adatok Írásvédett hozzáférés keresési indexek lekérdezéséhez. Ez a szerepkör a lekérdezéseket futtató alkalmazások és felhasználók számára készült. Ez a szerepkör nem támogatja az objektumdefiníciók olvasási hozzáférését. Nem olvashat például keresési indexdefiníciót, és nem kérhet le keresési szolgáltatási statisztikákat. Alapértelmezés szerint ez a szerepkör a keresési szolgáltatás összes indexéhez tartozik. A hatókör szűkítéséhez lásd : Hozzáférés biztosítása egyetlen indexhez .

Kombinálja ezeket a szerepköröket, hogy megfelelő engedélyeket kapjon a használati esethez.

Feljegyzés

Ha letiltja az Azure szerepköralapú hozzáférését, a vezérlősík beépített szerepkörei (Tulajdonos, Közreműködő, Olvasó) továbbra is elérhetők maradnak. A szerepköralapú hozzáférés letiltása csak a szerepkörökhöz társított adatkapcsolatú engedélyeket távolítja el. Ha az adatsík-szerepkörök le vannak tiltva, a keresési szolgáltatás közreműködője egyenértékű a vezérlősík-közreműködővel.

Összegzés

Engedélyek Keresési index adatolvasója Keresési index adatszolgáltatója Keresési szolgáltatás közreműködője Tulajdonos/közreműködő Olvasó
Az erőforrás megtekintése az Azure Portalon
Erőforrástulajdonságok/metrikák/végpont megtekintése
Az erőforrás összes objektumának listázása
Hozzáférési kvóták és szolgáltatásstatisztikák
Index olvasása/lekérdezése
Adatok feltöltése indexeléshez
Indexek/aliasok létrehozása vagy szerkesztése
Indexelők/adatforrások/képességkészletek létrehozása, szerkesztése és futtatása
Szinonimatérképek létrehozása vagy szerkesztése
Hibakeresési munkamenetek létrehozása vagy szerkesztése
Üzemelő példányok létrehozása vagy kezelése
Azure AI Search-erőforrások létrehozása vagy konfigurálása
Kulcsok megtekintése/másolása/újragenerálása a Kulcsok területen
Szerepkörök/szabályzatok/definíciók megtekintése
Hitelesítési beállítások megadása
Privát kapcsolatok konfigurálása
Hálózati biztonság konfigurálása

A tulajdonosok és közreműködők ugyanazokat az engedélyeket biztosítják, kivéve, hogy csak a tulajdonosok rendelhetnek hozzá szerepköröket.

A tulajdonosok és közreműködők létrehozhatnak, olvashatnak, frissíthetnek és törölhetnek objektumokat az Azure Portalon , ha engedélyezve vannak az API-kulcsok. Az Azure Portal kulcsokat használ az adatsík API-k belső hívásaihoz. A későbbiekben konfigurálja az Azure AI Search-t úgy, hogy csak "szerepköröket" használjon, akkor a tulajdonos és a közreműködő nem fogja tudni kezelni az Objektumokat az Azure Portalon csak azokkal a szerepkör-hozzárendelésekkel. A megoldás több szerepkör hozzárendelése, például a keresési index adatolvasója, a keresési index adatszolgáltatója és a keresési szolgáltatás közreműködője.

Szerepkörök hozzárendelése

Ebben a szakaszban rendeljen hozzá szerepköröket a következőhöz:

  • Szolgáltatásfelügyelet
  • Keresési szolgáltatás fejlesztése vagy írási hozzáférése
  • Csak olvasási hozzáférés lekérdezésekhez

Szerepkörök hozzárendelése szolgáltatásfelügyelethez

Szolgáltatásadminisztrátorként létrehozhat és konfigurálhat egy keresési szolgáltatást, és elvégezheti a felügyeleti REST API-ban vagy azzal egyenértékű ügyfélkódtárakban leírt vezérlősík-műveleteket. Ha Ön tulajdonos vagy közreműködő, akkor a legtöbb adatsík keresési REST API-feladatait is elvégezheti az Azure Portalon.

Szerepkör ID (Azonosító)
Owner 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
Contributor b24988ac-6180-42a0-ab88-20f7382dd24c
Reader acdd72a7-3385-48ef-bd42-f606fba81ae7
  1. Jelentkezzen be az Azure Portalra.

  2. Rendelje hozzá a következő szerepköröket:

    • Tulajdonos (teljes hozzáférés az összes adatsíkhoz és vezérlősík-művelethez, a lekérdezési engedélyek kivételével)
    • Közreműködő (ugyanaz, mint a tulajdonos, kivéve a szerepkörök hozzárendelésére vonatkozó engedélyeket)
    • Olvasó (a metrikák monitorozásához és megtekintéséhez elfogadható)

Szerepkörök hozzárendelése fejlesztéshez

A szerepkör-hozzárendelések globálisak a keresési szolgáltatásban. Ha egyetlen index engedélyeit szeretné hatókörbe felvenni, hozzon létre egyéni szerepkört a PowerShell vagy az Azure CLI használatával.

Feladat Szerepkör ID (Azonosító)
CRUD-műveletek Search Service Contributor 7ca78c08-252a-4471-8644-bb5ff32d4ba0
Dokumentumok betöltése, indexelési feladatok futtatása Search Index Data Contributor 8ebe5a00-799e-43f5-93ac-243d3dce84a7
Index lekérdezése Search Index Data Reader 1407120a-92aa-4202-b7e9-c0e197c71c8f

A teljes hozzáférést biztosító szerepkörök másik kombinációja a közreműködő vagy a tulajdonos, valamint a keresési index adatolvasója.

Fontos

Ha szerepköralapú hozzáférést konfigurál egy szolgáltatáshoz vagy indexhez, és egy API-kulcsot is megad a kéréshez, a keresési szolgáltatás az API-kulcsot használja a hitelesítéshez.

  1. Jelentkezzen be az Azure Portalra.

  2. Rendelje hozzá a következő szerepköröket:

    • Keresési szolgáltatás közreműködője (indexeken, indexelőken, képességkészleteken és egyéb legfelső szintű objektumokon végzett létrehozási-olvasási-frissítési-törlési műveletek)
    • Keresési indexadatok közreműködője (dokumentumok betöltése és indexelési feladatok futtatása)
    • Keresési index adatolvasója (index lekérdezése)

Szerepkörök hozzárendelése írásvédett lekérdezésekhez

Használja a Keresési index adatolvasó szerepkört olyan alkalmazásokhoz és folyamatokhoz, amelyeknek csak olvasási hozzáférésre van szükségük egy indexhez.

Szerepkör ID (Azonosító)
Search Index Data Reader a PowerShell-lel 1407120a-92aa-4202-b7e9-c0e197c71c8f

Ez egy nagyon specifikus szerepkör. Get vagy POST hozzáférést biztosít a keresési index dokumentumgyűjteményéhez a kereséshez, az automatikus kiegészítéshez és a javaslatokhoz. Nem támogatja a GET vagy LIST műveleteket egy indexen vagy más legfelső szintű objektumon vagy a GET szolgáltatásstatisztikán.

Ez a szakasz alapvető lépéseket tartalmaz a szerepkör-hozzárendelés beállításához, és a teljesség érdekében itt található, de azt javasoljuk, hogy kulcsok nélkül használja az Azure AI Search szolgáltatást az alkalmazás szerepköralapú hozzáférésre való konfigurálására vonatkozó átfogó utasításokhoz.

  1. Jelentkezzen be az Azure Portalra.

  2. Rendelje hozzá a Keresési index adatolvasó szerepkört.

Szerepkör-hozzárendelések tesztelése

Szerepkör-hozzárendelések tesztelése ügyfél használatával. Ne feledje, hogy a szerepkörök halmozott és örökölt szerepkörök, amelyek hatóköre az előfizetés vagy az erőforráscsoport szintjén van, nem törölhető vagy nem tagadható meg az erőforrás (keresési szolgáltatás) szintjén.

Konfigurálja az alkalmazást kulcs nélküli kapcsolatokhoz , és a tesztelés előtt rendelkezik szerepkör-hozzárendelésekkel.

  1. Jelentkezzen be az Azure Portalra.

  2. Lépjen a keresési szolgáltatáshoz.

  3. Az Áttekintés lapon válassza az Indexek lapot:

    • A keresési szolgáltatás közreműködői bármilyen objektumot megtekinthetnek és létrehozhatnak, de nem tölthetnek be dokumentumokat, és nem kérdezhetnek le indexet. Az engedélyek ellenőrzéséhez hozzon létre egy keresési indexet.

    • A keresési index adatszolgáltatói betölthetik a dokumentumokat. Az Adatok importálása varázslón kívül nincs dokumentumbetöltési lehetőség az Azure Portalon, de a dokumentumbetöltési engedélyek megerősítéséhez alaphelyzetbe állíthat és futtathat indexelőt .

    • A keresési index adatolvasói lekérdezhetik az indexet. Az engedélyek ellenőrzéséhez használja a Kereséskezelőt. Lekérdezéseket küldhet és megtekintheti az eredményeket, de nem tekintheti meg az indexdefiníciót, és nem hozhat létre egyet.

Tesztelés aktuális felhasználóként

Ha már közreműködője vagy tulajdonosa a keresési szolgáltatásnak, bemutathat egy tulajdonosi jogkivonatot a felhasználói identitáshoz az Azure AI Searchben való hitelesítéshez.

  1. Tulajdonosi jogkivonat lekérése az aktuális felhasználóhoz az Azure CLI használatával:

    az account get-access-token --scope https://search.azure.com/.default
    

    Vagy a PowerShell használatával:

    Get-AzAccessToken -ResourceUrl https://search.azure.com
    
  2. Illessze be ezeket a változókat egy új szövegfájlba a Visual Studio Code-ban.

    @baseUrl = PASTE-YOUR-SEARCH-SERVICE-URL-HERE
    @index-name = PASTE-YOUR-INDEX-NAME-HERE
    @token = PASTE-YOUR-TOKEN-HERE
    
  3. Illessze be, majd küldjön egy kérést a hozzáférés megerősítéséhez. Az alábbiakban lekérdezi a hotels-quickstart indexet

    POST https://{{baseUrl}}/indexes/{{index-name}}/docs/search?api-version=2024-07-01 HTTP/1.1
      Content-type: application/json
      Authorization: Bearer {{token}}
    
        {
             "queryType": "simple",
             "search": "motel",
             "filter": "",
             "select": "HotelName,Description,Category,Tags",
             "count": true
         }
    

Hozzáférés biztosítása egyetlen indexhez

Bizonyos esetekben érdemes lehet korlátozni egy alkalmazás hozzáférését egyetlen erőforráshoz, például egy indexhez.

Az Azure Portal jelenleg nem támogatja a szerepkör-hozzárendeléseket ezen a részletességi szinten, de a PowerShell vagy az Azure CLI használatával is elvégezhető.

A PowerShellben használja a New-AzRoleAssignment parancsot, és adja meg az Azure-felhasználó vagy csoport nevét, valamint a hozzárendelés hatókörét.

  1. Töltse be a Azure modulokat és AzureAD a modulokat, és csatlakozzon az Azure-fiókjához:

    Import-Module -Name Az
    Import-Module -Name AzureAD
    Connect-AzAccount
    
  2. Szerepkör-hozzárendelés hozzáadása egy adott indexhez:

    New-AzRoleAssignment -ObjectId <objectId> `
        -RoleDefinitionName "Search Index Data Contributor" `
        -Scope  "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Search/searchServices/<search-service>/indexes/<index-name>"
    

Egyéni szerepkör létrehozása

Ha a beépített szerepkörök nem biztosítják az engedélyek megfelelő kombinációját, létrehozhat egy egyéni szerepkört a szükséges műveletek támogatásához.

Ez a példa klónozza a keresési index adatolvasót , majd hozzáadja az indexek név szerinti listázásának lehetőségét. A keresési szolgáltatás indexeinek felsorolása általában rendszergazdai jognak minősül.

Ezek a lépések az Azure-beli egyéni szerepkörök Azure Portal használatával történő létrehozásából vagy frissítéséből származnak. A meglévő szerepkörből való klónozás támogatott a keresési szolgáltatás oldalán.

Ezek a lépések létrehoznak egy egyéni szerepkört, amely kibővíti a keresési lekérdezési jogosultságokat, hogy név szerint listázzák az indexeket. Az indexek listázása általában rendszergazdai függvénynek minősül.

  1. Az Azure Portalon keresse meg a keresési szolgáltatást.

  2. A bal oldali navigációs panelen válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

  3. A műveletsávon válassza a Szerepkörök lehetőséget.

  4. Kattintson a jobb gombbal az Index keresése adatolvasóra (vagy egy másik szerepkörre), és válassza a Klónozás lehetőséget az egyéni szerepkör létrehozása varázsló megnyitásához.

  5. Az Alapszintű beállítások lapon adja meg az egyéni szerepkör nevét, például a "Search Index Data Explorer" nevet, majd kattintson a Tovább gombra.

  6. Az Engedélyek lapon válassza az Engedély hozzáadása lehetőséget.

  7. Az Engedélyek hozzáadása lapon keresse meg, majd válassza ki a Microsoft Keresés csempét.

  8. Állítsa be az egyéni szerepkör engedélyeit. A lap tetején, az alapértelmezett műveletek kijelölésével:

    • A Microsoft.Search/operations területen válassza az Olvasás: Az összes elérhető művelet listázása lehetőséget.
    • A Microsoft.Search/searchServices/indexek területen válassza az Olvasás : Index olvasása lehetőséget.
  9. Ugyanazon a lapon váltson az Adatműveletek elemre , és a Microsoft.Search/searchServices/indexes/documents területen válassza az Olvasás: Dokumentumok olvasása lehetőséget.

    A JSON-definíció a következő példához hasonlóan néz ki:

    {
     "properties": {
         "roleName": "search index data explorer",
         "description": "",
         "assignableScopes": [
             "/subscriptions/0000000000000000000000000000000/resourceGroups/free-search-svc/providers/Microsoft.Search/searchServices/demo-search-svc"
         ],
         "permissions": [
             {
                 "actions": [
                     "Microsoft.Search/operations/read",
                     "Microsoft.Search/searchServices/indexes/read"
                 ],
                 "notActions": [],
                 "dataActions": [
                     "Microsoft.Search/searchServices/indexes/documents/read"
                 ],
                 "notDataActions": []
             }
         ]
       }
     }
    
  10. Válassza a Véleményezés + létrehozás lehetőséget a szerepkör létrehozásához. Mostantól hozzárendelhet felhasználókat és csoportokat a szerepkörhöz.

Feltételes hozzáférés

A Microsoft Entra feltételes hozzáférését javasoljuk, ha vállalati szabályzatokat, például többtényezős hitelesítést szeretne kikényszeríteni.

Az Azure AI Search feltételes hozzáférési szabályzatának engedélyezéséhez kövesse az alábbi lépéseket:

  1. Jelentkezzen be az Azure Portalra.

  2. Keresse meg a Microsoft Entra feltételes hozzáférését.

  3. Válassza a Szabályzatok lehetőséget.

  4. Válassza az Új szabályzat lehetőséget.

  5. A szabályzat Felhőalkalmazások vagy műveletek szakaszában vegye fel az Azure AI Search szolgáltatást felhőalkalmazásként attól függően, hogy hogyan szeretné beállítani a szabályzatot.

  6. Frissítse a szabályzat fennmaradó paramétereit. Adja meg például, hogy mely felhasználókra és csoportokra vonatkozik ez a szabályzat.

  7. Mentse a házirendet.

Fontos

Ha a keresési szolgáltatáshoz hozzárendelt egy felügyelt identitást, az adott keresési szolgáltatás felhőalkalmazásként jelenik meg, amely a feltételes hozzáférési szabályzat részeként belefoglalható vagy kizárható. A feltételes hozzáférési szabályzatok nem kényszeríthetők egy adott keresési szolgáltatásra. Ehelyett válassza ki az általános Azure AI Search felhőalkalmazást.

Szerepköralapú hozzáférés-vezérlési problémák elhárítása

A hitelesítéshez szerepköralapú hozzáférés-vezérlést használó alkalmazások fejlesztésekor gyakori problémák léphetnek fel:

  • Ha az engedélyezési jogkivonat egy felügyelt identitásból származik, és a megfelelő engedélyek nemrég lettek hozzárendelve, több órát is igénybe vehet, amíg ezek az engedély-hozzárendelések érvénybe lépnek.

  • A keresési szolgáltatás alapértelmezett konfigurációja a kulcsalapú hitelesítés. Ha nem módosította az alapértelmezett kulcsbeállítást mindkettőre vagy szerepköralapú hozzáférés-vezérlésre, akkor a rendszer a mögöttes engedélyektől függetlenül automatikusan megtagadja a szerepköralapú hitelesítést használó összes kérést.