Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Note
Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.
Tento článek vysvětluje, jak nastavit připojení indexeru k Azure SQL Database pomocí spravované identity místo zadání přihlašovacích údajů v připojovací řetězec.
Můžete použít spravovanou identitu přiřazenou systémem nebo spravovanou identitu přiřazenou uživatelem. Spravované identity jsou přihlášení Microsoft Entra a vyžadují přiřazení rolí Azure pro přístup k datům v Azure SQL.
Požadavky
Vytvořte spravovanou identitu pro vyhledávací službu.
Přiřadit roli administrátora Azure ve službě SQL. Identita použitá pro připojení indexeru potřebuje oprávnění ke čtení. Abyste mohli udělit oprávnění ke čtení databáze, musíte být správcem Microsoft Entra se serverem ve službě SQL Database nebo SQL Managed Instance.
Měli byste být obeznámeni s koncepty a konfigurací indexeru.
1. Přiřazení oprávnění ke čtení databáze
Postupujte podle následujících kroků k přiřazení oprávnění ke službě vyhledávání nebo uživatelem přiřazené spravované identitě pro přístup k databázi.
Připojte se k Visual Studio.
Ověřte se pomocí svého účtu Microsoft Entra.
Spusťte následující příkazy:
Zahrňte závorky kolem názvu vyhledávací služby nebo názvu spravované identity přiřazené uživatelem.
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];
Pokud později změníte identitu vyhledávací služby nebo identitu přiřazenou uživatelem po přiřazení oprávnění, musíte odebrat členství role a odebrat uživatele v databázi SQL a potom opakovat přiřazení oprávnění. Odebrání členství role a uživatele můžete provést spuštěním následujících příkazů:
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. Přidat přiřazení role
V této části udělíte službě Azure AI Vyhledávač oprávnění ke čtení dat z vašeho SQL Server. Podrobný postup najdete v tématu Přiřazení rolí Azure pomocí portálu Azure.
Na portálu Azure přejděte na stránku Azure SQL Server.
Vyberte Řízení přístupu (IAM).
Vyberte Přidat > přiřadit roli.
Na kartě Role, vyberte příslušnou roli Reader.
Na kartě Členové vyberte Spravovaná identita a pak vyberte Vybrat členy.
Vyberte své Azure předplatné.
Pokud používáte spravovanou identitu přiřazenou systémem, vyberte spravovanou identitu přiřazenou systémem, vyhledejte vyhledávací službu a pak ji vyberte.
Pokud používáte spravovanou identitu přiřazenou uživatelem, vyberte spravovanou identitu přiřazenou uživatelem, vyhledejte název spravované identity přiřazené uživatelem a pak ji vyberte.
Na kartě Revize a přiřazení vyberte Zkontrolovat a přiřadit roli.
3. Vytvoření zdroje dat
Vytvořte zdroj dat a zadejte spravovanou identitu přiřazenou systémem nebo spravovanou identitu přiřazenou uživatelem.
Spravovaná identita přiřazená systémem
Rozhraní API REST, portál Azure a Sady Azure SDK podporují spravovanou identitu přiřazenou systémem.
Když se připojujete se spravovanou identitou přiřazenou systémem, jedinou změnou definice zdroje dat je formát vlastnosti "credentials". Zadáte počáteční název katalogu nebo databáze a ID prostředku, které neobsahuje klíč účtu ani heslo. ResourceId musí obsahovat ID předplatného Azure SQL Database, skupinu prostředků SQL Database a název databáze SQL.
Tady je příklad vytvoření zdroje dat pro indexování dat z účtu úložiště pomocí Create Data Source REST API a spravované identity připojovací řetězec. Spravované identity připojovací řetězec má stejný formát pro rozhraní REST API, .NET SDK a portál Azure.
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"
}
}
Spravovaná identita přiřazená uživatelem
Rozhraní REST API verze 2026-04-01 a novější podporují připojení založená na spravované identitě přiřazené uživatelem. Když se připojujete pomocí spravované identity přiřazené uživatelem, existují dvě změny definice zdroje dat:
Nejprve je formát vlastnosti "credentials" název počátečního katalogu nebo databáze a ID prostředku, který nemá žádný klíč účtu nebo heslo. ResourceId musí obsahovat ID předplatného Azure SQL Database, skupinu prostředků SQL Database a název databáze SQL. Jedná se o stejný formát jako spravovaná identita přiřazená systémem.
Za druhé přidejte vlastnost identity, která obsahuje kolekci spravovaných identit přiřazených uživatelem. Při vytváření zdroje dat by se měla poskytnout pouze jedna spravovaná identita přiřazená uživatelem. Nastavte ho na "userAssignedIdentities".
Tady je příklad vytvoření objektu zdroje dat indexeru pomocí zdrojů dat – Vytvoření nebo aktualizace:
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. Vytvoření indexu
Index určuje pole v dokumentu, atributech a dalších konstruktorech, které tvarují vyhledávací prostředí.
Tady je volání rozhraní REST API pro vytvoření indexu s prohledávatelným booktitle polem:
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. Vytvoření indexeru
Indexer propojuje zdroj dat s cílovým indexem vyhledávání a poskytuje plán pro automatizaci aktualizace dat. Po vytvoření indexu a zdroje dat můžete indexer vytvořit. Pokud je indexer úspěšný, syntaxe připojení a přiřazení rolí jsou platné.
Tady je volání rozhraní REST API Create Indexer s definicí indexeru Azure SQL. Indexer se spustí při odeslání požadavku.
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"
}
Pokud se při pokusu indexeru o připojení ke zdroji dat zobrazí chyba s informací, že klient nemá povolený přístup k serveru, podívejte se na běžné chyby indexeru.