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:
- 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
- Hatókörön belüli hozzáférés egyetlen indexhez
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
Bármely régióban elérhető keresési szolgáltatás, bármely szinten, szerepköralapú hozzáférésre engedélyezve.
Tulajdonos, felhasználói hozzáférés-rendszergazda, szerepköralapú hozzáférés-vezérlési rendszergazda vagy egyéni szerepkör Microsoft.Authorization/roleAssignments/write engedélyekkel.
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.
Jelentkezzen be az Azure Portalra.
Lépjen a keresési szolgáltatáshoz.
Szerepköralapú hozzáférés engedélyezése.
A bal oldali navigációs panelen válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
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.
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.
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.
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.
A keresésben használt beépített szerepkörök
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 |
Jelentkezzen be az Azure Portalra.
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.
Jelentkezzen be az Azure Portalra.
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.
Jelentkezzen be az Azure Portalra.
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.
Jelentkezzen be az Azure Portalra.
Lépjen a keresési szolgáltatáshoz.
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.
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
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
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.
Töltse be a
Azure
modulokat ésAzureAD
a modulokat, és csatlakozzon az Azure-fiókjához:Import-Module -Name Az Import-Module -Name AzureAD Connect-AzAccount
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.
Az Azure Portalon keresse meg a keresési szolgáltatást.
A bal oldali navigációs panelen válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
A műveletsávon válassza a Szerepkörök lehetőséget.
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.
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.
Az Engedélyek lapon válassza az Engedély hozzáadása lehetőséget.
Az Engedélyek hozzáadása lapon keresse meg, majd válassza ki a Microsoft Keresés csempét.
Á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.
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": [] } ] } }
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:
Keresse meg a Microsoft Entra feltételes hozzáférését.
Válassza a Szabályzatok lehetőséget.
Válassza az Új szabályzat lehetőséget.
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.
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.
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.