Csatlakozás Azure AI Search szolgáltatásba azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC)
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.
Megjegyzés:
Az Azure AI Searchben 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 az 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.
Role | Sík | Leírás |
---|---|---|
Owner | Adatok szabályozása & | 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. |
Contributor | Adatok szabályozása & | 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. |
Reader | Adatok szabályozása & | 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 | Adatok szabályozása & | Olvasási-írási hozzáférés objektumdefiníciókhoz (indexek, szinonimák térképei, indexelők, adatforrások és képességkészletek). Tekintse meg Microsoft.Search/searchServices/* az engedélyek listáját. Ez a szerepkör nem fér hozzá az indexek tartalmához, így nincs lekérdezés vagy indexelés, de létrehozhat, törölhet és listázhat indexeket, visszaadhat indexdefiníciókat és statisztikákat, valamint tesztelemzőket. Ez a szerepkör a keresési szolgáltatás rendszergazdáinak szól, akiknek a keresési szolgáltatást és annak objektumait kell kezelniük, de tartalomhozzáférés nélkül. |
Keresési index adatszolgáltatója | Adat | Olvasási-írási hozzáférés a keresési szolgáltatás összes indexében lévő tartalomhoz. 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. |
Keresési index adatolvasója | Adat | Írásvédett hozzáférés a keresési szolgáltatás összes keresési indexéhez. Ez a szerepkör a lekérdezéseket futtató alkalmazások és felhasználók számára készült. |
Megjegyzé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. Az Azure RBAC letiltása csak az ezekhez a szerepkörökhöz társított adatokhoz kapcsolódó engedélyeket távolítja el. Letiltott RBAC-forgatókönyv esetén a keresési szolgáltatás közreműködője egyenértékű a vezérlősík közreműködőivel.
Limitations
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.
Beállítás 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. Role-based access control 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. Both 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.
Assign roles
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:
- Owner
- 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 közreműködők bármilyen objektumot megtekinthetnek és létrehozhatnak, de nem kérdezhetnek le indexet a Search Explorer használatával.
A keresési index adatolvasói a Search Explorerrel kérdezhetik le az indexet. A hozzáférés ellenőrzéséhez bármely API-verziót használhat. Lekérdezéseket kell küldenie, és meg kell tekintenie az eredményeket, de nem szabad, hogy megtekintse az indexdefiníciót.
A keresési index adatszolgáltatói az Új index lehetőséget választva új indexet hozhatnak létre. Az új index mentése ellenőrzi az írási hozzáférést a szolgáltatásban.
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. Az alábbi utasítások bemutatják, hogyan állíthat be Egy Postman-gyűjteményt a kérések aktuális felhasználóként való küldéséhez.
Tulajdonosi jogkivonat lekérése az aktuális felhasználóhoz:
az account get-access-token --scope https://search.azure.com/.default
Indítsa el az új Postman-gyűjteményt, és szerkessze annak tulajdonságait. A Változók lapon hozza létre a következő változót:
Változó Leírás bearerToken (copy-paste from get-access-token output on the parancssor) Az Engedélyezés lapon válassza a Tulajdonosi jogkivonatot típusként.
A Token mezőben adja meg a változó helyőrzőt
{{bearerToken}}
.Mentse a gyűjteményt.
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://<service-name>.search.windows.net/indexes/hotels-quickstart/docs/search?api-version=2020-06-30 { "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 az 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 az Azure- és AzureAD-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>"
Create a custom role
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/a5b1ca8b-bab3-4c26-aebe-4cf7ec4791a0/resourceGroups/heidist-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
Az API-kulcsok nem törölhetők, de letilthatók a szolgáltatásban, ha a keresési szolgáltatás közreműködőjét, a keresési index adat-közreműködőjét, 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.
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 feltételes hozzáférés egy eszköz a Microsoft Entra-azonosítóban, amely a szervezeti szabályzatok kikényszerítésére szolgál. A feltételes hozzáférési szabályzatok használatával szükség esetén a megfelelő hozzáférési vezérlőket alkalmazhatja a szervezet biztonsága érdekében. Ha szerepköralapú hozzáférés-vezérléssel fér hozzá egy Azure AI-Search szolgáltatás, a feltételes hozzáférés kényszerítheti a szervezeti szabályzatokat.
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 szabályzatot.
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.