Freigeben über


Konfigurieren der Authentifizierung für SQL MCP Server

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).

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 dab-config.json 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 data-source 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 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.

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 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.

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;

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.

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 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.

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.

  1. Wählen Sie in Ihrem Agentprojekt "Tool hinzufügen" aus.
  2. Wählen Sie die Registerkarte "Benutzerdefiniert" aus.
  3. Wählen Sie das Modellkontextprotokoll aus.
  4. Legen Sie den Remote MCP Server-Endpunkt fest (z. B https://<your-server>/mcp. ).
  5. 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

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.

Diagramm des unauthentifizierten Authentifizierungsflusses von Foundry.

Microsoft Entra- oder OAuth-Identitätsdurchlauf

Konfigurieren Sie SQL MCP Server, um JWTs (provider: EntraId) zu überprüfen.

Diagramm mit dem Findry Microsoft Entra Authentifizierungsfluss.

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 jwt.issuer verwendet).
  • Notieren Sie den Anwendungs-ID-URI (empfohlen für jwt.audience 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 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"