Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note
Azure KI-Suche ist über das Azure Portal, REST-APIs und Azure SDKs verfügbar. Es unterstützt auch Foundry IQ, die verwaltete Wissensschicht, die Unternehmensinhalte in wiederverwendbare, berechtigungsfähige Wissensbasen für Agenten im Microsoft Foundry-Portal transformiert.
In diesem Artikel wird beschrieben, wie Sie eine Azure KI-Suche Indexerverbindung mit SQL Managed Instance mithilfe einer verwalteten Identität einrichten, anstatt Anmeldeinformationen im Verbindungszeichenfolge bereitzustellen.
Sie können eine vom System zugewiesene verwaltete Identität oder eine vom Benutzer zugewiesene verwaltete Identität verwenden. Verwaltete Identitäten sind Microsoft Entra Anmeldungen und erfordern Azure Rollenzuweisungen für den Zugriff auf Daten in SQL Managed Instance.
Bevor Sie mehr über dieses Feature erfahren, sollten Sie verstehen, was ein Indexer ist und wie Sie einen Indexer für Ihre Datenquelle einrichten. Weitere Informationen finden Sie unter Indexers in Azure KI-Suche und Index-Daten aus Azure SQL-Datenbank.
Voraussetzungen
Erstellen Sie eine verwaltete Identität für Ihren Suchdienst.
Microsoft Entra-Administratorrolle in SQL Managed Instance:
Um Leseberechtigungen für SQL Managed Instance zuzuweisen, müssen Sie ein globaler Azure-Administrator mit einer SQL Managed Instance sein. Siehe Konfigurieren und Verwalten der Microsoft Entra-Authentifizierung mit SQL Managed Instance und führen Sie danach die angegebenen Schritte aus, um einen Microsoft Entra-Administrator (SQL Managed Instance) bereitzustellen.
Konfigurieren Sie einen öffentlichen Endpunkt und eine Netzwerksicherheitsgruppe in SQL Managed Instance, um Verbindungen von Azure KI-Suche zu ermöglichen. Das Herstellen einer Verbindung über einen freigegebenen privaten Link bei Verwendung einer verwalteten Identität wird derzeit nicht unterstützt.
Zuweisen von Berechtigungen zum Lesen der Datenbank
Führen Sie die folgenden Schritte aus, um dem Suchdienst oder der benutzerseitig zugewiesenen verwalteten Identität die Berechtigung zum Lesen der SQL-Datenbank zuzuweisen.
Stellen Sie mithilfe einer der folgenden Methoden eine Verbindung mit Ihrem SQL Managed Instance über SQL Server Management Studio (SSMS) her:
Authentifizieren Sie sich mithilfe Ihres Microsoft Entra Kontos.
Suchen Sie im linken Bereich die SQL-Datenbank, die Sie als Datenquelle für die Indizierung verwenden, und klicken Sie mit der rechten Maustaste darauf. Wählen Sie "Neue Abfrage" aus.
Kopieren Sie im T-SQL-Fenster die folgenden Befehle, und schließen Sie die Klammern um den Namen des Suchdiensts ein. Wählen Sie "Ausführen" aus.
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];
Wenn Sie später die Identität des Suchdienstsystems nach dem Zuweisen von Berechtigungen ändern, müssen Sie die Rollenmitgliedschaft entfernen und den Benutzer in der SQL-Datenbank entfernen und dann die Berechtigungszuweisung wiederholen. Führen Sie die folgenden Befehle aus, um die Rollenmitgliedschaft und den Benutzer zu entfernen:
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];
Hinzufügen einer Rollenzuweisung
In diesem Schritt erteilen Sie Ihrem Azure KI-Suche Dienst die Berechtigung zum Lesen von Daten aus Ihrem SQL Managed Instance.
Wechseln Sie im Azure-Portal zu Ihrer SQL Managed Instance Seite.
Wählen Sie access control (IAM) aus.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen aus.
Wählen Sie die Leserrolle aus.
Lassen Sie Zugriff zuweisen an bei Microsoft Entra-Benutzer, -Gruppe oder -Dienstprinzipal.
Wenn Sie eine vom System zugewiesene verwaltete Identität verwenden, suchen Sie nach Ihrem Suchdienst, und wählen Sie sie aus. Wenn Sie eine vom Benutzer zugewiesene verwaltete Identität verwenden, suchen Sie nach dem Namen der vom Benutzer zugewiesenen verwalteten Identität, und wählen Sie sie aus. Wählen Sie "Speichern" aus.
Hier ist ein Beispiel für eine SQL Managed Instance mit einer vom System zugewiesenen verwalteten Identität:
Erstellen der Datenquelle
Erstellen Sie die Datenquelle, und stellen Sie eine vom System zugewiesene verwaltete Identität bereit.
Vom System zugewiesene verwaltete Identität
Die REST-API, Azure Portal und das .NET SDK unterstützen vom System zugewiesene verwaltete Identität.
Wenn Sie eine Verbindung mithilfe einer vom System zugewiesenen verwalteten Identität herstellen, ist die einzige Änderung an der Datenquellendefinition das Format der Eigenschaft "credentials". Sie geben einen anfänglichen Katalog- oder Datenbanknamen und eine ResourceId an, die keinen Kontoschlüssel oder kein Passwort besitzt. Die ResourceId muss die Abonnement-ID SQL Managed Instance, die Ressourcengruppe SQL Managed instance und den Namen der SQL-Datenbank enthalten.
Im Folgenden finden Sie ein Beispiel zum Erstellen einer Datenquelle zum Indizieren von Daten aus einer SQL Managed Instance mithilfe der Create Data Source REST-API und einer verwalteten Identität Verbindungszeichenfolge. Das Connection-String-Format der verwalteten Identität ist für die REST-API, das .NET SDK und das Azure-Portal identisch.
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"
}
}
Erstellen des Indexes
Der Index gibt die Felder in einem Dokument, Attributen und anderen Konstrukten an, die die Suchoberfläche bilden.
Hier sehen Sie einen Create Index REST API-Aufruf mit einem durchsuchbaren booktitle Feld:
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 }
]
}
Erstellen des Indexers
Ein Indexer verbindet eine Datenquelle mit einem Zielsuchindex und bietet einen Zeitplan zum Automatisieren der Datenaktualisierung. Nachdem Sie den Index und die Datenquelle erstellt haben, erstellen Sie den Indexer.
Hier ist ein Create Indexer REST-API-Aufruf mit einer Azure SQL Indexerdefinition. Der Indexer wird ausgeführt, wenn Sie die Anforderung übermitteln.
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"
}
Problembehandlung
Wenn Sie einen Fehler erhalten, während der Indexer versucht, eine Verbindung zur Datenquelle herzustellen, wobei angezeigt wird, dass der Client keinen Zugriff auf den Server hat, sehen Sie unter allgemeine Indexerfehler nach.
Sie können auch Firewallprobleme ausschließen, indem Sie versuchen, die Verbindung mit und ohne Einschränkungen durchzuführen.