Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Il server MCP (SQL Model Context Protocol) è disponibile in Generatore API dati versione 1.7 e successive.
Annotazioni
La funzionalità SQL MCP Server 2.0 descritta in questa sezione è attualmente in anteprima e potrebbe cambiare prima della disponibilità generale. Per altre informazioni, vedere Novità della versione 2.0.
SQL MCP Server espone un endpoint MCP (Model Context Protocol) nel generatore di API dati. Alcune opzioni di autenticazione usano token JSON Web (JWT).
Quando si connette un client (ad esempio, un agente Microsoft AI Foundry) a SQL MCP Server, l'autenticazione diventa una configurazione bidirezionale:
-
Autenticazione in ingresso (client a SQL MCP Server): modalità di autenticazione del client durante la chiamata dell'endpoint MCP (ad esempio,
https://<host>/mcp). - Autenticazione in uscita (SQL MCP Server to database): modalità di autenticazione di SQL MCP Server nel database.
Usare il diagramma seguente per orientarsi. Nella parte restante di questo articolo si configura prima di tutto in uscita (in modo che il server possa raggiungere il database), quindi configurare in ingresso (in modo che il client possa chiamare in modo sicuro il server).
Annotazioni
L'App Client può essere un agente Microsoft AI Foundry, un'app client MCP personalizzata o un runtime di un altro agente. La configurazione in ingresso in SQL MCP Server è la stessa indipendentemente dal client che chiama l'endpoint MCP.
Prerequisiti
- SQL MCP Server in esecuzione (Generatore API dati 1.7+)
- Un
dab-config.jsonesistente con almeno un'entità - Un progetto Microsoft AI Foundry con un agente in cui è possibile aggiungere una connessione allo strumento MCP
Passaggio 1: Configurare l'autenticazione uscente (da SQL MCP Server al database)
Definisci l'autenticazione in uscita nella configurazione data-source. Il problema più comune è la stringa di connessione.
Più origini dati
SQL MCP Server supporta più origini dati tramite data-source-files. Ogni origine dati può avere le proprie impostazioni di autenticazione in uscita. Ad esempio, un database può usare l'identità gestita, mentre un altro usa un nome utente e una password SQL. Le origini dati possono anche condividere una singola identità, a seconda della modalità di configurazione dell'accesso al database.
Per altre informazioni, vedere Aggiungere più origini dati e configurazione origine dati.
Configurare la connessione al database
Imposta nel tuo dab-config.jsondata-source.database-type e data-source.connection-string.
Suggerimento
Usare @env() per mantenere i segreti fuori dal file di configurazione.
Esempio: utente/password SQL (sviluppo)
SQL MCP Server supporta l'autenticazione SQL con nome utente e password. Questo approccio è comune per lo sviluppo, il test e alcuni ambienti di produzione.
{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('SQL_CONNECTION_STRING')"
}
}
Valore della variabile di ambiente di esempio:
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;User ID=<user>;Password=<password>;Encrypt=True;TrustServerCertificate=False;
Esempio: Identità gestita (consigliata per Azure)
SQL MCP Server supporta le Identità di Servizio Gestite (MSI) per Azure SQL usando DefaultAzureCredential. Configurare la stringa di connessione per utilizzare l'autenticazione con identità gestita.
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;
Per l'identità gestita assegnata dall'utente (UAMI), includere l'ID client di identità:
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;User Id=<uami-client-id>;
Per informazioni dettagliate, vedere Configurazione dell'origine dati.
Passaggio 2: Configurare l'autenticazione in ingresso (da client a SQL MCP Server)
L'autenticazione in ingresso controlla il modo in cui il client MCP esegue l'autenticazione a SQL MCP Server.
Provider di OAuth
SQL MCP Server può convalidare i token WEB JSON (JWT) emessi da un provider OAuth (ad esempio, Microsoft Entra ID). Il client include il token con ogni richiesta e SQL MCP Server la convalida.
Autenticazione del gateway (facoltativo)
Se il client MCP richiede chiavi API o un altro schema non JWT, front-SQL MCP Server con un gateway o un proxy che autentica il client e inoltra le richieste all'endpoint MCP.
Per un modello ospitato su Azure, vedere Accesso sicuro ai server MCP in Gestione API.
Più clienti
L'autenticazione in ingresso viene configurata una volta per ogni istanza di SQL MCP Server, ad esempio usando runtime.host.authentication.provider. Tutti i client che chiamano lo stesso endpoint MCP devono usare un approccio di autenticazione compatibile. Ad esempio, tutti i client possono usare Microsoft Entra token per lo stesso gruppo di destinatari.
Suggerimento
Se sono necessari due schemi di autenticazione in ingresso diversi( ad esempio, un client usa Microsoft Entra e un altro usa un provider di identità diverso), eseguire due istanze di SQL MCP Server con diverse impostazioni di runtime.host.authentication.
Microsoft AI Foundry
Usare questi passaggi quando il client è un agente di Microsoft AI Foundry.
- Nel progetto agente selezionare Aggiungi uno strumento.
- Selezionare la scheda Personalizzato.
- Selezionare Model Context Protocol (Protocollo contesto modello).
- Impostare l'endpoint Server MCP remoto, ad esempio
https://<your-server>/mcp. - Selezionare una modalità di autenticazione .
Dopo aver configurato Foundry, è necessario configurare SQL MCP Server per accettare la stessa modalità di autenticazione in ingresso.
Annotazioni
Questo articolo è incentrato sulla connessione allo strumento MCP. Non copre la configurazione dell'autenticazione per gli endpoint REST del servizio Foundry Agent.
Modalità di autenticazione Foundry
Non autenticato
A partire da DAB 2.0, il provider di autenticazione predefinito è Unauthenticated. Configurare SQL MCP Server per gestire le richieste come anonymous usando il provider predefinito Unauthenticated (o impostare provider: AppService) e concedere solo le anonymous autorizzazioni desiderate.
Per il comportamento di autenticazione DAB sottostante, vedere Configurare il provider non autenticato.
pass-through dell'identità OAuth o Microsoft Entra
Configurare SQL MCP Server per convalidare JWT (provider: EntraId).
Basato su chiave
Non supportato direttamente. Se è necessario usare una chiave, posizionare un gateway davanti all'endpoint MCP, ad esempio Azure API Management. Consultare Accesso sicuro ai server MCP nella gestione delle API.
Per informazioni dettagliate sulla configurazione specifiche di Foundry, vedere Linee guida per l'autenticazione MCP di Foundry.
Registrare un'app in Microsoft Entra ID
È necessaria una registrazione dell'app per Microsoft Entra e OAuth.
- Registrare l'ID directory (tenant) (usato per costruire ).
- Registrare l'URI ID applicazione (consigliato per
jwt.audiencee il pubblico Foundry).
Per la procedura di registrazione dell'app, vedere Registrare un'applicazione in Microsoft Entra ID.
Configurare SQL MCP Server con Entra ID
Configurare il EntraId provider e impostare i valori jwt.audience e jwt.issuer.
Esempi dalla riga di comando
Negli esempi seguenti vengono usati i comandi dab configure e dab update per impostare le opzioni di autenticazione.
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"