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.
Hinweis
Die in diesem Abschnitt beschriebene SQL MCP Server 2.0-Funktionalität befindet sich derzeit in der Vorschau und kann sich vor der allgemeinen Verfügbarkeit ändern. Weitere Informationen finden Sie unter Neuigkeiten in Version 2.0.
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.,
https://<host>/mcp). - 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).
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
dab-config.jsonmit 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 data-source Konfiguration. Am häufigsten ist es die Connection-String.
Mehrere Datenquellen
SQL MCP Server unterstützt mehrere Datenquellen über data-source-files. 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.
Weitere Informationen finden Sie unter Hinzufügen mehrerer Datenquellen - und Datenquellenkonfigurationen.
Konfigurieren der Datenbankverbindung
Legen Sie in Ihrem dab-config.jsondata-source.database-type und data-source.connection-string fest.
Tipp
Verwenden Sie @env(), 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.
{
"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 "connection string" mit verwalteter Identitätsauthentifizierung.
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.
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.
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.
Mehrere Clients
Die eingehende Authentifizierung wird einmal pro SQL MCP Server-Instanz konfiguriert, z. B. mithilfe von runtime.host.authentication.provider. 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.
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
https://<your-server>/mcp. ). - Wählen Sie einen Authentifizierungsmodus aus.
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
Ab DAB 2.0 ist Unauthenticatedder Standardauthentifizierungsanbieter . Konfigurieren Sie SQL MCP Server so, dass Anforderungen mit anonymous dem Standardanbieter Unauthenticated (oder satz provider: AppService) behandelt werden, und erteilen Sie nur die anonymous gewünschten Berechtigungen.
Informationen zum zugrunde liegenden DAB-Authentifizierungsverhalten finden Sie unter Konfigurieren des nicht authentifizierten Anbieters.
Microsoft Entra- oder OAuth-Identitätsdurchlauf
Konfigurieren Sie SQL MCP Server, um JWTs (provider: EntraId) 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".
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
jwt.issuerverwendet). - Notieren Sie den Anwendungs-ID-URI (empfohlen für
jwt.audienceund 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 EntraId-Anbieter und legen Sie die Werte jwt.audience und jwt.issuer fest.
Beispiele für die Kommandozeile
In den folgenden Beispielen werden die Befehle dab configure und dab update verwendet, um Authentifizierungsoptionen festzulegen.
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"