Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
MCP-servern (SQL Model Context Protocol) är tillgänglig i Data API Builder version 1.7 och senare.
Anmärkning
Funktionen SQL MCP Server 2.0 som beskrivs i det här avsnittet är för närvarande i förhandsversion och kan komma att ändras innan den allmänna tillgängligheten. Mer information finns i Nyheter i version 2.0.
SQL MCP Server exponerar en MCP-slutpunkt (Model Context Protocol) i Data API Builder. Vissa autentiseringsalternativ använder JSON-webbtoken (JWT).
När du ansluter en klient (till exempel en Microsoft AI Foundry-agent) till SQL MCP Server blir autentiseringen en tvåvägskonfiguration:
-
Inkommande autentisering (klient till SQL MCP Server): hur klienten autentiserar när du anropar MCP-slutpunkten (till exempel
https://<host>/mcp). - Utgående autentisering (SQL MCP Server till databas): hur SQL MCP Server autentiserar till din databas.
Använd följande diagram för att orientera dig. I resten av den här artikeln konfigurerar du först utgående trafik (så att servern kan nå databasen) och konfigurerar sedan inkommande (så att klienten kan anropa servern på ett säkert sätt).
Anmärkning
"Klientappen" kan vara en Microsoft AI Foundry-agent, en anpassad MCP-klientapp eller en annan agentkörning. Den inkommande konfigurationen på SQL MCP Server är densamma oavsett vilken klient som anropar MCP-slutpunkten.
Förutsättningar
- SQL MCP Server körs (Data API Builder 1.7+)
- En befintlig
dab-config.jsonmed minst en entitet - Ett Microsoft AI Foundry-projekt med en agent där du kan lägga till en MCP-verktygsanslutning
Steg 1: Konfigurera utgående autentisering (SQL MCP Server till databas)
Du definierar utgående autentisering i konfigurationen data-source . Det är oftast connection stringen.
Flera datakällor
SQL MCP Server stöder flera datakällor via data-source-files. Varje datakälla kan ha sina egna inställningar för utgående autentisering. En databas kan till exempel använda hanterad identitet medan en annan använder ett SQL-användarnamn och lösenord. Datakällor kan också dela en enda identitet, beroende på hur du konfigurerar databasåtkomst.
Mer information finns i Lägga till mer än en datakälla och konfiguration av datakälla.
Konfigurera databasanslutningen
I din dab-config.json ställer du in data-source.database-type och data-source.connection-string.
Tips/Råd
Använd @env() för att hålla hemligheter borta från konfigurationsfilen.
Exempel: SQL-användare/lösenord (utveckling)
SQL MCP Server stöder SQL-autentisering med användarnamn och lösenord. Den här metoden är vanlig för utveckling, testning och vissa produktionsmiljöer.
{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('SQL_CONNECTION_STRING')"
}
}
Exempel på miljövariabelvärde:
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;User ID=<user>;Password=<password>;Encrypt=True;TrustServerCertificate=False;
Exempel: Hanterad identitet (rekommenderas för Azure)
SQL MCP Server stöder hanterade tjänstidentiteter (MSI) för Azure SQL med hjälp av DefaultAzureCredential. Konfigurera din anslutningssträng för att använda hanterad identitetsautentisering.
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;
För användartilldelad hanterad identitet (UAMI) inkluderar du identitetsklient-ID:t:
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;User Id=<uami-client-id>;
Fullständig information finns i Konfiguration av datakälla.
Steg 2: Konfigurera inkommande autentisering (klient till SQL MCP Server)
Inkommande autentisering styr hur MCP-klienten autentiserar till SQL MCP Server.
OAuth-leverantörer
SQL MCP Server kan verifiera JSON-webbtoken (JWT) som utfärdats av en OAuth-provider (till exempel Microsoft Entra ID). Klienten innehåller token för varje begäran och SQL MCP Server verifierar den.
Gatewayautentisering (valfritt)
Om din MCP-klient kräver API-nycklar eller en annan icke-JWT-lösning, sätt upp SQL MCP Server med en gateway eller proxy som autentiserar klienten och vidarebefordrar förfrågningar till MCP-slutpunkten.
Ett Azure värdbaserat mönster finns i Sekure-åtkomst till MCP-servrar i API Management.
Flera klienter
Inkommande autentisering konfigureras en gång per SQL MCP Server-instans, till exempel med hjälp av runtime.host.authentication.provider. Alla klienter som anropar samma MCP-slutpunkt måste använda en kompatibel autentiseringsmetod. Alla klienter kan till exempel använda Microsoft Entra token för samma målgrupp.
Tips/Råd
Om du behöver två olika inkommande autentiseringsscheman (till exempel en klient använder Microsoft Entra och en annan använder en annan identitetsprovider) kör du två SQL MCP Server-instanser med olika inställningar runtime.host.authentication.
Microsoft AI Foundry
Använd de här stegen när klienten är en Microsoft AI Foundry-agent.
- I agentprojektet väljer du Lägg till ett verktyg.
- Välj fliken Anpassad .
- Välj Modellkontextprotokoll.
- Ange fjärrslutpunkten för MCP-server (till exempel
https://<your-server>/mcp). - Välj ett autentiseringsläge .
När du har konfigurerat Foundry måste du konfigurera SQL MCP Server för att acceptera samma inkommande autentiseringsläge.
Anmärkning
Den här artikeln fokuserar på MCP-verktygsanslutningen. Den omfattar inte konfiguration av autentisering för REST-slutpunkter för Foundry Agent Service.
Autentiseringslägen för gjuteri
Icke-autentiserad
Från och med DAB 2.0 är Unauthenticatedstandardautentiseringsprovidern . Konfigurera SQL MCP Server för att behandla begäranden som anonymous med hjälp av standardprovidern Unauthenticated (eller ange provider: AppService) och bevilja endast de anonymous behörigheter som du har för avsikt.
Det underliggande DAB-autentiseringsbeteendet finns i Konfigurera den oautentiserade providern.
Microsoft Entra- eller OAuth-identitetspassering
Konfigurera SQL MCP Server för att verifiera JWTs (provider: EntraId).
Nyckelbaserad
Stöds inte direkt. Om du måste använda en nyckel frontar du MCP-slutpunkten med en gateway, till exempel Azure API Management. Se Säker åtkomst till MCP-servrar i API Management.
Mer information om Foundry-specifik konfiguration finns i Foundry MCP-autentiseringsvägledning.
Registrera en app i Microsoft Entra ID
En appregistrering krävs för Microsoft Entra och OAuth-identitetsautentisering.
- Registrera katalog-ID :t (klientorganisation) (används för att skapa
jwt.issuer). - Registrera program-ID-URI :n (rekommenderas för
jwt.audienceoch Foundry-målgruppen).
Anvisningar för appregistrering finns i Registrera ett program i Microsoft Entra ID.
Konfigurera SQL MCP Server med Entra-ID
Konfigurera leverantören EntraId och ange värdena för jwt.audience och jwt.issuer.
Kommandoradsexempel
I följande exempel används kommandona dab configure och dab update för att ange autentiseringsalternativ.
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"