Csatlakozás az Azure AI Search szolgáltatásba szerepköralapú hozzáférés-vezérléssel
Az Azure globális szerepköralapú hozzáférés-vezérlési engedélyezési rendszert biztosít a platformon futó összes szolgáltatáshoz. Az Azure AI Searchben az Azure-szerepkörök a következő célokra használhatók:
Síkműveletek vezérlése (szolgáltatásfelügyeleti feladatok az Azure Resource Manageren keresztül).
Adatsík-műveletek, például indexek létrehozása, betöltése és lekérdezése.
A felhasználónkénti hozzáférés a keresési eredményekhez (más néven sorszintű biztonsághoz vagy dokumentumszintű biztonsághoz) nem támogatott. Á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.
Feljegyzés
Rövid megjegyzés a terminológiáról. A vezérlősík a Felügyeleti REST API-ban vagy azzal egyenértékű ügyfélkódtárakban támogatott műveletekre vonatkozik. Az adatsík a keresési szolgáltatásvégponton végzett műveletekre utal, például indexelésre vagy lekérdezésekre, vagy a Search REST API-ban vagy azzal egyenértékű ügyfélkódtárakban megadott bármely más műveletre.
A keresésben használt beépített szerepkörök
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 | Sík | 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 . |
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.
Korlátozások
A szerepköralapú hozzáférés-vezérlés bevezetése növelheti egyes kérések késését. A kérelemben használt szolgáltatáserőforrás (index, indexelő stb.) és a szolgáltatásnév minden egyedi kombinációja engedélyezési ellenőrzést indít el. Ezek az engedélyezési ellenőrzések akár 200 ezredmásodperc késést is adhatnak egy kéréshez.
Ritka esetekben, amikor a kérések számos különböző szolgáltatásnévből származnak, amelyek mindegyike különböző szolgáltatáserőforrásokat (indexeket, indexelőket stb.) céloz meg, az engedélyezési ellenőrzések szabályozást eredményezhetnek. A szabályozás csak akkor történne, ha a keresési szolgáltatás erőforrásának és a szolgáltatásnévnek több száz egyedi kombinációját használnák egy másodpercen belül.
Szerepköralapú hozzáférés konfigurálása adatsíkhoz
A következőkre vonatkozik: Keresési index adatszolgáltatója, Keresési index adatolvasója, Keresési szolgáltatás közreműködője
Ebben a lépésben konfigurálja a keresési szolgáltatást úgy, hogy felismerjen egy engedélyezési fejlécet az OAuth2 hozzáférési jogkivonatot biztosító adatkéréseken.
Jelentkezzen be az Azure Portalra , és nyissa meg a keresési szolgáltatás oldalát.
A bal oldali navigációs panelen válassza a Kulcsok lehetőséget.
Válasszon egy API-hozzáférés-vezérlési lehetőséget. Mindkettőt javasoljuk, ha rugalmasságot szeretne, vagy alkalmazásokat szeretne migrálni.
Lehetőség Leírás API-kulcs (alapértelmezett). A kérelem fejlécében rendszergazdai vagy lekérdezési API-kulcs szükséges az engedélyezéshez. A rendszer nem használ szerepköröket. Szerepköralapú hozzáférés-vezérlés A következő lépésben ismertetett feladat elvégzéséhez tagságra van szükség egy szerepkör-hozzárendelésben. Egy engedélyezési fejlécet is igényel. Mindkettő A kérelmek API-kulccsal vagy szerepköralapú hozzáférés-vezérléssel érvényesek.
A módosítás azonnal érvényes, de várjon néhány másodpercet a tesztelés előtt.
A keresési szolgáltatás műveleteire és tartalmára vonatkozó összes hálózati hívás tiszteletben tartja a választott beállítást: API-kulcsokat, tulajdonosi jogkivonatot, vagy bármelyiket, ha mindkettőt választja.
Ha engedélyezi a szerepköralapú hozzáférés-vezérlést a portálon, a hiba mód "http401WithBearerChallenge", ha az engedélyezés sikertelen.
Szerepkörök hozzárendelése
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.
Tulajdonosnak kell lennie, vagy Microsoft.Authorization/roleAssignments/write engedélyekkel kell rendelkeznie a szerepkör-hozzárendelések kezeléséhez.
A szerepkör-hozzárendelések a portálon szolgáltatásszintűek. Ha egyetlen indexhez szeretne engedélyeket adni, használja inkább a PowerShellt vagy az Azure CLI-t.
Jelentkezzen be az Azure Portalra.
Lépjen a keresési szolgáltatáshoz.
A bal oldali navigációs panelen válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
Válassza a + Hozzáadás>Szerepkör-hozzárendelés hozzáadása lehetőséget.
Válasszon ki egy megfelelő szerepkört:
- Tulajdonos
- Közreműködő
- Olvasó
- Keresési szolgáltatás közreműködője
- Keresési index adatszolgáltatója
- Keresési index adatolvasója
A Tagok lapon válassza ki a Microsoft Entra felhasználót vagy csoportdentitá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.
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ésre vagy erőforráscsoportra terjed ki, nem törölhető vagy nem tagadható meg az erőforrás (keresési szolgáltatás) szintjén.
A hozzáférés tesztelése előtt győződjön meg arról, hogy az ügyfélalkalmazást a Microsoft Entra-azonosítóval regisztrálja, és 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 és lekérdezhetik a dokumentumokat. Az engedélyek ellenőrzéséhez használja a Kereséskezelőt a dokumentumok lekérdezéséhez. Az Adatok importálása varázslón kívül nincs betöltési dokumentumbeállítás a portálon. Mivel a varázsló objektumokat is létrehoz, a keresési szolgáltatás közreműködője, valamint a keresési index adatszolgáltatója szükséges.
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 kell küldenie, és meg kell tekintenie az eredményeket, de nem szabad, hogy megtekintse az indexdefiníciót.
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
A Visual Studio Code új szövegfájljában illessze be az alábbi változókat:
@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=2023-11-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.
A portál 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.
API-kulcs hitelesítésének letiltása
A kulcshozzáférés vagy a helyi hitelesítés letiltható a szolgáltatásban, ha a keresési szolgáltatás közreműködője, a keresési index adatszolgáltatója, valamint a keresési index adatolvasó szerepköreit és a Microsoft Entra-hitelesítést használja. Az API-kulcsok letiltása miatt a keresési szolgáltatás elutasítja az összes olyan adattal kapcsolatos kérést, amely egy API-kulcsot ad át a fejlécben.
Feljegyzés
Rendszergazda API-kulcsok csak le vannak tiltva, nem törölhetők. A lekérdezési API-kulcsok törölhetők.
A funkciók letiltásához tulajdonosi vagy közreműködői engedélyekre van szükség.
A kulcsalapú hitelesítés letiltásához használja az Azure Portalt vagy a Felügyeleti REST API-t.
Az Azure Portalon keresse meg a keresési szolgáltatást.
A bal oldali navigációs panelen válassza a Kulcsok lehetőséget.
Válassza a szerepköralapú hozzáférés-vezérlést.
A módosítás azonnal érvényes, de várjon néhány másodpercet a tesztelés előtt. Feltéve, hogy rendelkezik engedéllyel a szerepkörök tulajdonosi, szolgáltatásadminisztrátori vagy társadminisztrátori szerepkörökhöz való hozzárendeléséhez, a portál funkcióival tesztelheti a szerepköralapú hozzáférést.
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 csak 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.