Configurer l’authentification pour SQL MCP Server

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

Diagramme montrant les flux d’authentification entrant et sortant entre l’application cliente, SQL MCP Server et la base de données.

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

Diagramme montrant le flux d’authentification sortant de SQL MCP Server vers la base de données.

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.

Diagramme montrant l’authentification sortante de SQL MCP Server vers plusieurs bases de données avec des informations d’identification par 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.

Diagramme montrant le flux d’authentification utilisateur/mot de passe SQL.

{
  "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;

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.

Diagramme montrant le flux d’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.

Diagramme montrant le flux d’authentification entrant de l’application cliente vers 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.

Diagramme montrant un fournisseur OAuth émettrice de JWTs pour un client qui appelle SQL MCP Server.

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.

Diagramme montrant une passerelle d’API protégeant SQL MCP Server.

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.

Diagramme montrant plusieurs applications clientes utilisant la même configuration d’authentification entrante pour accéder à SQL MCP Server.

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.

  1. Dans votre projet d’agent, sélectionnez Ajouter un outil.
  2. Cliquez sur l’onglet Personnalisée.
  3. Sélectionnez Le protocole de contexte du modèle.
  4. Définissez le point de terminaison du serveur MCP distant (par exemple, https://<your-server>/mcp).
  5. Sélectionnez un mode d’authentification .

Capture d’écran de l’ajout d’un outil dans Microsoft AI Foundry.

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

Diagramme montrant le flux d’authentification non authentifié Foundry.

Microsoft Entra ou le passthrough d’identité OAuth

Configurez SQL MCP Server pour valider les JWT (provider: EntraId).

Diagram montrant le flux d’authentification de Foundry Microsoft Entra.

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.

Diagramme montrant le flux d’authentification par clé Foundry.

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.audience et 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"