Nastavení připojení indexeru k Azure SQL Managed Instance pomocí spravované identity

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 popisuje, jak nastavit připojení indexeru Azure AI Vyhledávač k SQL Managed Instance 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í v Microsoft Entra a vyžadují přiřazení rolí Azure pro přístup k datům v SQL Managed Instance.

Než se o této funkci dozvíte více, měli byste porozumět tomu, co je indexer a jak nastavit indexer pro váš zdroj dat. Další informace najdete v tématech Inde-xeři v Azure AI Vyhledávač a Indexování dat z Azure SQL Database.

Požadavky

Přiřazení oprávnění ke čtení databáze

Pomocí těchto kroků přiřaďte spravované identitě systému vyhledávací služby oprávnění ke čtení spravované databáze SQL.

  1. Připojte se k SQL Managed Instance prostřednictvím SQL Server Management Studio (SSMS) pomocí jedné z následujících metod:

  2. Ověřte se pomocí svého účtu Microsoft Entra.

    Snímek obrazovky s dialogovým oknem Připojit k serveru

  3. V levém podokně vyhledejte databázi SQL, kterou používáte jako zdroj dat pro indexování, a klikněte na ni pravým tlačítkem myši. Vyberte Nový dotaz.

    Snímek obrazovky s novým dotazem SQL

  4. V okně T-SQL zkopírujte následující příkazy a zahrňte závorky kolem názvu vyhledávací služby. Vyberte Spustit.

    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];
    

    Snímek obrazovky znázorňující, jak spustit dotaz SQL

Pokud později změníte identitu systému vyhledávací služby po přiřazení oprávnění, musíte odebrat členství v roli a odebrat uživatele v databázi SQL a potom opakovat přiřazení oprávnění. Pokud chcete odebrat členství role a uživatele, spusťte následující příkazy:

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];

Přidejte přiřazení role

V tomto kroku udělíte službě Azure AI Vyhledávač oprávnění ke čtení dat z vašeho SQL Managed Instance.

  1. Na portálu Azure přejděte na stránku SQL Managed Instance.

  2. Vyberte Řízení přístupu (IAM).

  3. Vyberte Přidat>Přidat přiřazení role.

     Snímek obrazovky se stránkou Access Control page.

  4. Vyberte roli Čtenář .

  5. Nechte Přiřazení přístupu jako uživatele, skupiny nebo služebního hlavního objektu Microsoft Entra.

  6. Pokud používáte spravovanou identitu přiřazenou systémem, vyhledejte vyhledávací službu a vyberte ji. Pokud používáte spravovanou identitu přiřazenou uživatelem, vyhledejte název spravované identity přiřazené uživatelem a vyberte ji. Vyberte Uložit.

    Tady je příklad SQL Managed Instance pomocí spravované identity přiřazené systémem:

    Zobrazuje se snímek obrazovky s přiřazením členské role.

Vytvoření zdroje dat

Vytvořte zdroj dat a zadejte spravovanou identitu přiřazenou systémem.

Spravovaná identita přiřazená systémem

Rozhraní REST API, portál Azure a .NET SDK podporují spravovanou identitu přiřazenou systémem.

Když se připojíte pomocí spravované identity přiřazené 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 ResourceId název, který nemá žádný klíč účtu nebo heslo. ResourceId musí obsahovat ID předplatného SQL Managed Instance, skupinu prostředků SQL Managed instance a název databáze SQL.

Tady je příklad vytvoření zdroje dat pro indexování dat z SQL Managed Instance pomocí rozhraní Create Data Source REST API a spravované připojovací řetězec identity. 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-mi-datasource",
    "type" : "azuresql",
    "credentials" : { 
        "connectionString" : "Database=[SQL database name];ResourceId=/subscriptions/[subscription ID]/resourcegroups/[resource group name]/providers/Microsoft.Sql/managedInstances/[SQL Managed Instance name];Connection Timeout=100;"
    },
    "container" : { 
        "name" : "my-table" 
    }
} 

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 }
    ]
}

Vytvoření indexeru

Indexer propojuje zdroj dat s cílovým vyhledávacím indexem a poskytuje plán pro automatizaci aktualizace dat. Po vytvoření indexu a zdroje dat vytvořte indexer.

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-mi-indexer",
    "dataSourceName" : "sql-mi-datasource",
    "targetIndexName" : "my-target-index"
}

Řešení potíží

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.

Můžete také vyloučit případné problémy s bránou firewall vyzkoušením připojení s omezeními i bez nich.

Viz také