Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Le serveur MCP (SQL Model Context Protocol) est disponible dans le Générateur d’API de données version 1.7 et ultérieure.
Note
La fonctionnalité SQL MCP Server 2.0 décrite dans cette section est actuellement en préversion et peut changer avant la disponibilité générale. Pour plus d’informations, consultez Nouveautés de la version 2.0.
SQL MCP Server expose un point de terminaison MCP (Model Context Protocol) dans le générateur d’API de données. Certaines options d’authentification utilisent des jetons web JSON (JWT).
Lorsque vous connectez un client (par exemple, un agent Microsoft AI Foundry) à SQL MCP Server, l’authentification devient une configuration bidirectionnelle :
-
Authentification entrante (client vers SQL MCP Server) : comment le client s’authentifie lors de l’appel de votre point de terminaison MCP (par exemple).
https://<host>/mcp - Authentification sortante (SQL MCP Server vers la base de données) : comment SQL MCP Server s’authentifie auprès de votre base de données.
Utilisez le diagramme suivant pour vous orienter. Dans le reste de cet article, vous configurez d’abord le trafic sortant (afin que le serveur puisse atteindre la base de données), puis configurez l’entrée (afin que votre client puisse appeler en toute sécurité le serveur).
Note
L’application cliente peut être un agent Microsoft AI Foundry, une application cliente MCP personnalisée ou un autre runtime d’agent. La configuration entrante sur SQL MCP Server est la même, quel que soit le client qui appelle le point de terminaison MCP.
Prerequisites
- SQL MCP Server en cours d’exécution (Générateur d’API de données 1.7+)
- Un existant
dab-config.jsonavec au moins une entité - Un projet Microsoft AI Foundry avec un agent où vous pouvez ajouter une connexion d’outil MCP
Étape 1 : Configurer l’authentification sortante (SQL MCP Server to database)
Vous définissez l’authentification sortante dans votre data-source configuration. C'est le plus souvent la chaîne de connexion.
Sources de données multiples
SQL MCP Server prend en charge plusieurs sources de données via data-source-files. Chaque source de données peut avoir ses propres paramètres d’authentification sortant. Par exemple, une base de données peut utiliser une identité managée, tandis qu’une autre utilise un nom d’utilisateur et un mot de passe SQL. Les sources de données peuvent également partager une identité unique, selon la façon dont vous configurez l’accès à la base de données.
Pour plus d’informations, consultez Ajouter plusieurs sources de données et configuration de source de données.
Configurer la connexion à la base de données
Dans votre dab-config.json, définissez data-source.database-type et data-source.connection-string.
Conseil / Astuce
Utilisez @env() pour garder les secrets hors du fichier de configuration.
Exemple : utilisateur/mot de passe SQL (développement)
SQL MCP Server prend en charge l’authentification SQL avec un nom d’utilisateur et un mot de passe. Cette approche est courante pour le développement, les tests et certains environnements de production.
{
"data-source": {
"database-type": "mssql",
"connection-string": "@env('SQL_CONNECTION_STRING')"
}
}
Exemple de valeur de variable d’environnement :
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;User ID=<user>;Password=<password>;Encrypt=True;TrustServerCertificate=False;
Exemple : Identité managée (recommandée pour Azure)
SQL MCP Server prend en charge les identités de service managé (MSI) pour Azure SQL à l’aide de DefaultAzureCredential. Configurez votre connection string pour utiliser l’authentification d’identité managée.
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;
Pour l’identité managée affectée par l’utilisateur (UAMI), incluez l’ID client d’identité :
Server=tcp:<server>.database.windows.net,1433;Initial Catalog=<database>;Authentication=Active Directory Managed Identity;User Id=<uami-client-id>;
Pour plus d’informations, consultez la configuration de la source de données.
Étape 2 : Configurer l’authentification entrante (client vers SQL MCP Server)
L’authentification entrante contrôle la façon dont le client MCP s’authentifie auprès de SQL MCP Server.
Fournisseurs OAuth
SQL MCP Server peut valider des jetons web JSON (JWT) émis par un fournisseur OAuth (par exemple, Microsoft Entra ID). Le client inclut le jeton avec chaque requête, et SQL MCP Server le valide.
Authentification de passerelle (facultative)
Si votre client MCP nécessite des clés API ou un autre schéma non-JWT, front SQL MCP Server avec une passerelle ou un proxy qui authentifie le client et transfère les demandes au point de terminaison MCP.
Pour obtenir un modèle hébergé Azure, consultez Un accès sécurisé aux serveurs MCP dans Gestion des API.
Plusieurs clients
L’authentification entrante est configurée une fois par instance SQL MCP Server, par exemple en utilisant runtime.host.authentication.provider. Tous les clients qui appellent le même point de terminaison MCP doivent utiliser une approche d’authentification compatible. Par exemple, tous les clients peuvent utiliser des jetons Microsoft Entra pour le même public.
Conseil / Astuce
Si vous avez besoin de deux schémas d’authentification entrant différents (par exemple, un client utilise Microsoft Entra et un autre utilise un autre fournisseur d’identité), exécutez deux instances SQL MCP Server avec des paramètres runtime.host.authentication différents.
Microsoft AI Foundry
Procédez comme suit lorsque votre client est un agent Microsoft AI Foundry.
- Dans votre projet d’agent, sélectionnez Ajouter un outil.
- Cliquez sur l’onglet Personnalisée.
- Sélectionnez Le protocole de contexte du modèle.
- Définissez le point de terminaison du serveur MCP distant (par exemple,
https://<your-server>/mcp). - Sélectionnez un mode d’authentification .
Après avoir configuré Foundry, vous devez configurer SQL MCP Server pour accepter le même mode d’authentification entrant.
Note
Cet article se concentre sur la connexion de l’outil MCP. Il ne couvre pas la configuration de l’authentification pour les points de terminaison REST du service Foundry Agent.
Modes d’authentification de fonderie
Non authentifié
À compter de DAB 2.0, le fournisseur d’authentification par défaut est Unauthenticated. Configurez SQL MCP Server pour traiter les demandes comme anonymous à l’aide du fournisseur par défaut Unauthenticated (ou définir provider: AppService) et accordez uniquement les anonymous autorisations que vous envisagez.
Pour connaître le comportement d’authentification DAB sous-jacent, consultez Configurer le fournisseur non authentifié.
Microsoft Entra ou le passthrough d’identité OAuth
Configurez SQL MCP Server pour valider les JWT (provider: EntraId).
Basé sur des clés
Non pris en charge directement. Si vous devez utiliser une clé, frontez le point de terminaison MCP avec une passerelle telle que Azure API Management. Consultez Sécuriser l’accès aux serveurs MCP dans Gestion des API.
Pour plus d’informations sur la configuration spécifique à Foundry, consultez les instructions d’authentification de Foundry MCP.
Inscrire une application dans Microsoft Entra ID
Une inscription d’application est requise pour Microsoft Entra et OAuth identity passthrough.
- Enregistrez l’ID d’annuaire du locataire (utilisé pour construire
jwt.issuer). - Enregistrez l’URI de l’ID d’application (recommandé pour
jwt.audienceet le public de Foundry).
Pour connaître les étapes d’inscription d’application, consultez Registrer une application dans Microsoft Entra ID.
Configurer SQL MCP Server avec l’ID Entra
Configurez le EntraId fournisseur et définissez les valeurs jwt.audience et jwt.issuer.
exemples de Command-Line
Les exemples suivants utilisent les commandes dab configure et dab update pour définir des options d'authentification.
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"