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.

Feljegyzé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 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 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 Adatok 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 Adatok Í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.

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. 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.

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.

  1. Jelentkezzen be az Azure Portalra , és nyissa meg a keresési szolgáltatás oldalát.

  2. A bal oldali navigációs panelen válassza a Kulcsok lehetőséget.

    Screenshot of the keys page with authentication options.

  3. 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.

  1. Jelentkezzen be az Azure Portalra.

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

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

  4. Válassza a + Hozzáadás>Szerepkör-hozzárendelés hozzáadása lehetőséget.

    Access control (IAM) page with Add role assignment menu open.

  5. 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
  6. A Tagok lapon válassza ki a Microsoft Entra felhasználót vagy csoportdentitást.

  7. 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.

  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 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.

  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://graph.microsoft.com/"
    
  2. 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
    
  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=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 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.

  1. 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
    
  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/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": []
             }
         ]
       }
     }
    
  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.

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.

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

  2. A bal oldali navigációs panelen válassza a Kulcsok lehetőséget.

  3. 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:

  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 a + Új házirend 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 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.