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.
Von Bedeutung
Der SQL Model Context Protocol (MCP)-Server ist in Daten-API-Generator, Version 1.7 und höher, verfügbar.
SQL MCP Server macht einen MCP-Endpunkt (Model Context Protocol) im Daten-API-Generator verfügbar. Einige Authentifizierungsoptionen verwenden JSON-Webtoken (JWTs).
Wenn Sie einen Client (z. B. einen Microsoft AI Foundry-Agent) mit SQL MCP Server verbinden, wird die Authentifizierung zu einem Zwei-Richtungs-Setup:
- Eingehende Authentifizierung (Client zu SQL MCP Server): Wie sich der Client beim Aufrufen des MCP-Endpunkts authentifiziert (z. B., ).
- Ausgehende Authentifizierung (SQL MCP Server zu Datenbank): Wie SQL MCP Server sich bei Ihrer Datenbank authentifiziert.
Verwenden Sie das folgende Diagramm, um sich zu orientieren. Im Rest dieses Artikels konfigurieren Sie zuerst ausgehend (sodass der Server die Datenbank erreichen kann) und konfigurieren dann eingehend (damit Ihr Client den Server sicher aufrufen kann).
Diagramm mit eingehenden und ausgehenden Authentifizierungsflüssen zwischen der Client-App, SQL MCP Server und Datenbank.
Hinweis
Die "Client-App" kann ein Microsoft AI Foundry-Agent, eine benutzerdefinierte MCP-Client-App oder eine andere Agent-Laufzeit sein. Die eingehende Konfiguration auf SQL MCP Server ist unabhängig davon, welcher Client den MCP-Endpunkt aufruft, identisch.
Voraussetzungen
- SQL MCP Server wird ausgeführt (Daten-API-Generator 1.7+)
- Eine vorhandene mit mindestens einer Entität
- Ein Microsoft AI Foundry-Projekt mit einem Agent, in dem Sie eine MCP-Toolverbindung hinzufügen können
Schritt 1: Konfigurieren der ausgehenden Authentifizierung (SQL MCP Server für Datenbank)
Sie definieren die ausgehende Authentifizierung in Ihrer Konfiguration. Am häufigsten ist es die Connection-String.
Diagramm, das den ausgehenden Authentifizierungsfluss von SQL MCP Server zur Datenbank zeigt.
Mehrere Datenquellen
SQL MCP Server unterstützt mehrere Datenquellen über . Jede Datenquelle kann über eigene Einstellungen für die ausgehende Authentifizierung verfügen. Beispielsweise kann eine Datenbank verwaltete Identität verwenden, während eine andere einen SQL-Benutzernamen und ein Kennwort verwendet. Datenquellen können auch eine einzelne Identität gemeinsam nutzen, je nachdem, wie Sie den Datenbankzugriff konfigurieren.
Diagramm, das die ausgehende Authentifizierung von SQL MCP Server zu mehreren Datenbanken mit Anmeldeinformationen pro Datenbank zeigt.
Weitere Informationen finden Sie unter Hinzufügen mehrerer Datenquellen - und Datenquellenkonfigurationen.
Konfigurieren der Datenbankverbindung
Legen Sie in Ihrem und fest.
Tipp
Verwenden Sie , um Geheimnisse aus der Konfigurationsdatei fernzuhalten.
Beispiel: SQL-Benutzer/Kennwort (Entwicklung)
SQL MCP Server unterstützt die SQL-Authentifizierung mit einem Benutzernamen und Kennwort. Dieser Ansatz gilt für Entwicklung, Tests und bestimmte Produktionsumgebungen.
Diagramm, das den SQL-Benutzer-/Kennwortauthentifizierungsfluss zeigt.
{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('SQL_CONNECTION_STRING')"
}
}
Beispielwert für Umgebungsvariable:
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;User ID=<user>;Password=<password>;Encrypt=True;TrustServerCertificate=False;
Beispiel: Verwaltete Identität (empfohlen für Azure)
SQL MCP Server unterstützt managed Service Identities (MSI) für Azure SQL unter Verwendung von DefaultAzureCredential. Konfigurieren Sie Ihre "Verbindungszeichenfolge" mit verwalteter Identitätsauthentifizierung.
Diagramm mit verwaltetem Identitätsauthentifizierungsfluss.
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;
Schließen Sie für vom Benutzer zugewiesene verwaltete Identität (UAMI) die Identitätsclient-ID ein:
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;User Id=<uami-client-id>;
Ausführliche Informationen finden Sie unter "Datenquellenkonfiguration".
Schritt 2: Konfigurieren der eingehenden Authentifizierung (Client für SQL MCP Server)
Bei der eingehenden Authentifizierung wird gesteuert, wie sich der MCP-Client bei SQL MCP Server authentifiziert.
Diagramm, das den eingehenden Authentifizierungsfluss von der Client-App zu SQL MCP Server zeigt.
OAuth-Anbieter
SQL MCP Server kann JSON-Webtoken (JWTs) überprüfen, die von einem OAuth-Anbieter (z. B. Microsoft Entra ID) ausgestellt wurden. Der Client enthält das Token mit jeder Anforderung, und SQL MCP Server überprüft es.
Diagramm mit einem OAuth-Anbieter, der JWTs für einen Client ausgibt, der SQL MCP Server aufruft.
Gatewayauthentifizierung (optional)
Wenn Ihr MCP-Client API-Schlüssel oder ein anderes Nicht-JWT-Schema benötigt, platzieren Sie vor dem SQL MCP Server ein Gateway oder einen Proxy, der den Client authentifiziert und Anfragen an den MCP-Endpunkt weiterleitet.
Ein Azure gehostetes Muster finden Sie unter Secure access to MCP servers in API Management.
Diagramm mit einem API-Gateway zum Schutz von SQL MCP Server.
Mehrere Clients
Die eingehende Authentifizierung wird einmal pro SQL MCP Server-Instanz konfiguriert, z. B. mithilfe von . Alle Clients, die denselben MCP-Endpunkt aufrufen, müssen einen kompatiblen Authentifizierungsansatz verwenden. Beispielsweise können alle Clients Microsoft Entra Token für dieselbe Zielgruppe verwenden.
Diagramm, das mehrere Client-Apps mit der gleichen eingehenden Authentifizierungskonfiguration für den Zugriff auf SQL MCP Server zeigt.
Tipp
Wenn Sie zwei verschiedene eingehende Authentifizierungsschemas benötigen (z. B. verwendet ein Client Microsoft Entra und ein anderer verwendet einen anderen Identitätsanbieter), führen Sie zwei SQL MCP Server-Instanzen mit unterschiedlichen runtime.host.authentication-Einstellungen aus.
Microsoft AI Foundry
Führen Sie diese Schritte aus, wenn Ihr Client ein Microsoft AI Foundry-Agent ist.
- Wählen Sie in Ihrem Agentprojekt "Tool hinzufügen" aus.
- Wählen Sie die Registerkarte "Benutzerdefiniert" aus.
- Wählen Sie das Modellkontextprotokoll aus.
- Legen Sie den Remote MCP Server-Endpunkt fest (z. B . ).
- Wählen Sie einen Authentifizierungsmodus aus.
Screenshot des Hinzufügens eines Tools in Microsoft AI Foundry.
Nachdem Sie Foundry konfiguriert haben, müssen Sie SQL MCP Server so konfigurieren, dass er denselben eingehenden Authentifizierungsmodus akzeptiert.
Hinweis
Dieser Artikel konzentriert sich auf die MCP-Toolverbindung. Die Konfiguration der Authentifizierung für Foundry Agent Service REST-Endpunkte wird nicht behandelt.
Gießereiauthentifizierungsmodi
Unauthentifiziert
Konfigurieren Sie SQL MCP Server so, dass Anfragen als behandelt werden (z. B. durch Festlegen von oder Weglassen von ), und erteilen Sie nur die Berechtigungen, die Sie wünschen.
Diagramm des unauthentifizierten Authentifizierungsflusses von Foundry.
Microsoft Entra- oder OAuth-Identitätsdurchlauf
Konfigurieren Sie SQL MCP Server, um JWTs () zu überprüfen.
Schlüsselbasiert
Wird nicht direkt unterstützt. Wenn Sie einen Schlüssel verwenden müssen, stellen Sie den MCP-Endpunkt vor einem Gateway wie Azure API Management. Siehe "Sicherer Zugriff auf MCP-Server in der API-Verwaltung".
Diagramm, das den schlüsselbasierten Authentifizierungsfluss von Foundry zeigt.
Ausführliche Informationen zur Gießerei-spezifischen Konfiguration finden Sie unter Foundry MCP-Authentifizierungsleitfaden.
Registrieren einer App in Microsoft Entra ID
Eine App-Registrierung ist für Microsoft Entra und OAuth Identity Passthrough erforderlich.
- Notieren Sie die ID des Verzeichnis-Mandanten (zum Erstellen verwendet).
- Notieren Sie den Anwendungs-ID-URI (empfohlen für und die Foundry-Zielgruppe).
Schritte zur App-Registrierung finden Sie unter Registern einer Anwendung in Microsoft Entra ID.
Konfigurieren des SQL MCP-Servers mit entra-ID
Konfigurieren Sie den -Anbieter und legen Sie die Werte und fest.
Beispiele für die Kommandozeile
In den folgenden Beispielen werden die Befehle und verwendet, um Authentifizierungsoptionen festzulegen.
- Bash
- Eingabeaufforderung
dab configure \
--runtime.host.authentication.provider EntraId
dab configure \
--runtime.host.authentication.jwt.audience "api://<app-id-or-audience>"
dab configure \
--runtime.host.authentication.jwt.issuer "https://login.microsoftonline.com/<tenant-id>/v2.0"
# Grant permissions for authenticated users (repeat per entity)
dab update \
Products \
--permissions "authenticated:read"
Verwandte Inhalte
- Datenquellenkonfiguration
- Laufzeitkonfiguration: Authentifizierungsanbieter
- Lokale Authentifizierung (Simulator/AppService)
- Azure Authentifizierung (JWT/roles)
- Findry MCP-Authentifizierungsleitfaden