Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Note
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
Ez a cikk bemutatja, hogyan állíthat be egy indexelőkapcsolatot az Azure SQL Database-hez felügyelt identitás használatával a hitelesítő adatok megadása helyett a "kapcsolati karakterlánc"-ben.
Használhat rendszer által hozzárendelt felügyelt identitást vagy felhasználó által hozzárendelt felügyelt identitást. A felügyelt identitások Microsoft Entra bejelentkezések, és Azure szerepkör-hozzárendeléseket igényelnek a Azure SQL adatainak eléréséhez.
Előfeltételek
Felügyelt identitás létrehozása a keresési szolgáltatáshoz.
Rendeld hozzá az Azure rendszergazdai szerepkört az SQL-hez. Az indexelő kapcsolaton használt identitásnak olvasási engedélyekre van szüksége. Az adatbázis olvasási engedélyeinek megadásához Microsoft Entra rendszergazdának kell lennie egy SQL Database szerveren vagy SQL Managed Instance-ban.
Ismernie kell az indexelő fogalmait és konfigurációját.
1 – Engedélyek hozzárendelése az adatbázis olvasásához
Az alábbi lépéseket követve rendelje hozzá a keresési szolgáltatást vagy a felhasználó által hozzárendelt felügyelt identitásengedélyt az adatbázis olvasásához.
Csatlakozzon Visual Studio.
Hitelesítés a Microsoft Entra-fiókjával.
Hajtsa végre a következő parancsokat:
A keresési szolgáltatás neve vagy a felhasználó által hozzárendelt felügyelt identitás neve köré vegye fel a zárójeleket.
CREATE USER [insert your search service name here or user-assigned managed identity name] FROM EXTERNAL PROVIDER; EXEC sp_addrolemember 'db_datareader', [insert your search service name here or user-assigned managed identity name];
Ha az engedélyek hozzárendelése után később módosítja a keresési szolgáltatás identitását vagy a felhasználó által hozzárendelt identitást, el kell távolítania a szerepkör-tagságot, és el kell távolítania a felhasználót az SQL-adatbázisban, majd meg kell ismételnie az engedély-hozzárendelést. A szerepkör-tagság és a felhasználó eltávolításához futtassa az alábbi parancsokat:
sp_droprolemember 'db_datareader', [insert your search service name or user-assigned managed identity name];
DROP USER IF EXISTS [insert your search service name or user-assigned managed identity name];
2 – Szerepkör hozzárendelésének hozzáadása
Ebben a szakaszban engedélyt ad az Ön Azure AI Keresés szolgáltatásának arra, hogy adatokat olvasson be az Ön SQL Serveréből. Lásd a részletes lépéseket a Szerepkörök kiosztása az Azure portál segítségével című résznél.
A Azure portálon lépjen a Azure SQL Server lapra.
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 lapon válassza ki a megfelelő Olvasó szerepkört.
A Tagok lapon válassza a Felügyelt identitás, majd a Tagok kijelölése lehetőséget.
Válassza ki Azure előfizetését.
Ha rendszer által hozzárendelt felügyelt identitást használ, válassza a rendszer által hozzárendelt felügyelt identitást, keresse meg a keresési szolgáltatást, majd válassza ki.
Ellenkező esetben, ha felhasználó által hozzárendelt felügyelt identitást használ, válassza a felhasználó által hozzárendelt felügyelt identitást, keresse meg a felhasználó által hozzárendelt felügyelt identitás nevét, majd válassza ki.
A Véleményezés + hozzárendelés lapon válassza a Véleményezés + hozzárendelés lehetőséget a szerepkör hozzárendeléséhez.
3 – Az adatforrás létrehozása
Hozza létre az adatforrást, és adjon meg egy rendszer által hozzárendelt felügyelt identitást vagy felhasználó által hozzárendelt felügyelt identitást.
Rendszer által hozzárendelt felügyelt identitás
A REST API, Azure portál és a Azure SDK-k támogatják a rendszer által hozzárendelt felügyelt identitásokat.
Ha egy rendszer által hozzárendelt felügyelt identitással csatlakozik, az adatforrás definíciójának egyetlen változása a "hitelesítő adatok" tulajdonság formátuma. Meg kell adnia egy kezdeti katalógust vagy adatbázisnevet, valamint egy resourceId azonosítót, amely nem rendelkezik fiókkulcsgal vagy jelszóval. A ResourceId-nek tartalmaznia kell a Azure SQL Database előfizetési azonosítóját, az SQL Database erőforráscsoportját és az SQL-adatbázis nevét.
Íme egy példa arra, hogyan hozhat létre adatforrást egy tárfiók adatainak indexeléséhez a Adatforrás létrehozása REST API és felügyelt identitás kapcsolati karakterlánc használatával. A felügyelt identitás kapcsolati karakterlánc formátuma megegyezik a REST API, .NET SDK és az Azure portál esetében.
POST https://[service name].search.windows.net/datasources?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "sql-datasource",
"type" : "azuresql",
"credentials" : {
"connectionString" : "Database=[SQL database name];ResourceId=/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.Sql/servers/[SQL Server name];Connection Timeout=30;"
},
"container" : {
"name" : "my-table"
}
}
Felhasználó által hozzárendelt felügyelt identitás
A REST API 2026-04-01-es és újabb verziója támogatja a felhasználó által hozzárendelt felügyelt identitáson alapuló kapcsolatokat. Ha felhasználó által hozzárendelt felügyelt identitással csatlakozik, az adatforrás definíciójának két módosítása van:
Először is a "hitelesítő adatok" tulajdonság formátuma egy kezdeti katalógus vagy adatbázis neve, valamint egy resourceId, amely nem rendelkezik fiókkulcsmal vagy jelszóval. A ResourceId-nek tartalmaznia kell a Azure SQL Database előfizetési azonosítóját, az SQL Database erőforráscsoportját és az SQL-adatbázis nevét. Ez ugyanaz a formátum, mint a rendszer által hozzárendelt felügyelt identitás.
Másodszor adjon hozzá egy "identity" tulajdonságot, amely tartalmazza a felhasználó által hozzárendelt felügyelt identitások gyűjteményét. Az adatforrás létrehozásakor csak egy felhasználó által hozzárendelt felügyelt identitást kell megadni. Állítsa be a "userAssignedIdentities" típusra.
Íme egy példa arra, hogyan hozhat létre indexelő adatforrás-objektumot adatforrások használatával – Létrehozás vagy frissítés:
POST https://[service name].search.windows.net/datasources?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "sql-datasource",
"type" : "azuresql",
"credentials" : {
"connectionString" : "Database=[SQL database name];ResourceId=/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.Sql/servers/[SQL Server name];Connection Timeout=30;"
},
"container" : {
"name" : "my-table"
},
"identity" : {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity" : "/subscriptions/[subscription ID]/resourcegroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]"
}
}
4 – Az index létrehozása
Az index meghatározza a dokumentum mezőit, attribútumait és a keresési felületet formázó egyéb szerkezeteket.
Az index létrehozása REST API-hívás egy kereshető booktitle mezővel:
POST https://[service name].search.windows.net/indexes?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-target-index",
"fields": [
{ "name": "id", "type": "Edm.String", "key": true, "searchable": false },
{ "name": "booktitle", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false }
]
}
5 – Az indexelő létrehozása
Az indexelők egy adatforrást csatlakoztatnak egy célkeresési indexhez, és ütemezést biztosítanak az adatfrissítés automatizálásához. Az index és az adatforrás létrehozása után készen áll az indexelő létrehozására. Ha az indexelő sikeres, a kapcsolat szintaxisa és a szerepkör-hozzárendelések érvényesek.
Íme egy Create Indexer REST API-hívás Azure SQL indexelő definícióval. Az indexelő a kérés elküldésekor fut.
POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "sql-indexer",
"dataSourceName" : "sql-datasource",
"targetIndexName" : "my-target-index"
}
Ha hibaüzenet jelenik meg, amikor az indexelő megpróbál csatlakozni ahhoz az adatforráshoz, amely szerint az ügyfél nem fér hozzá a kiszolgálóhoz, tekintse meg az indexelő gyakori hibáit.