Partager via


Configurer l’autorisation de serveur MCP intégrée (préversion)

L’authentification App Service vous permet de contrôler l’accès à votre serveur MCP (Model Context Protocol) en exigeant que les clients MCP s’authentifient auprès d’un fournisseur d’identité. Vous pouvez rendre votre application conforme à la spécification d’autorisation du serveur MCP en suivant les instructions de cet article.

Important

L’autorisation du serveur MCP définit l’accès au serveur et ne fournit pas de contrôle granulaire à des outils MCP individuels ou à d’autres constructions.

Configurer un fournisseur d’identité

Configurez l’authentification App Service avec un fournisseur d’identité. L’inscription du fournisseur d’identité doit être unique pour le serveur MCP. Ne réutilisez pas une inscription existante à partir d’un autre composant d’application.

Lorsque vous créez l’inscription, notez les étendues définies dans votre inscription ou dans la documentation du fournisseur d’identité.

Configurer les métadonnées de ressources protégées (aperçu)

L’autorisation du serveur MCP exige que le serveur héberge des métadonnées de ressources protégées (PRM). La prise en charge des métadonnées PRM avec l’authentification App Service est actuellement en préversion.

Pour configurer PRM pour votre serveur MCP, définissez le WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES paramètre d’application sur une liste d’étendues séparées par des virgules pour votre application. Les périmètres dont vous avez besoin sont soit définis lors de l’inscription de votre application, soit documentés par votre fournisseur d’identité. Par exemple, si vous avez utilisé le fournisseur d’ID Microsoft Entra et que App Service crée l’inscription pour vous, une étendue api://<client-id>/user_impersonation par défaut a été créée. Vous devez définir WEBSITE_AUTH_PRM_DEFAULT_WITH_SCOPES à cette valeur.

Considérations relatives au client MCP

Pour connecter des utilisateurs, le client MCP doit être inscrit auprès du fournisseur d’identité. Certains fournisseurs prennent en charge l'inscription dynamique du client (DCR), mais beaucoup ne le font pas, y compris pour Microsoft Entra ID. Quand DCR n’est pas disponible, le client doit être préconfiguré avec un ID client. Consultez la documentation de votre client ou du Kit de développement logiciel (SDK) client pour comprendre comment fournir un ID client.

Si vous utilisez l’ID Microsoft Entra, vous pouvez spécifier des applications clientes connues et les marquer comme préautorisées pour l’accès. la pré-authentification est recommandée lorsque cela est possible. Sans préauthorisation, les utilisateurs ou un administrateur doivent donner leur consentement à l’inscription du serveur MCP et à toutes les autorisations dont il a besoin.

Pour les scénarios de consentement utilisateur, la création de consentement implique le client MCP à l’aide d’une connexion interactive pour afficher l’invite de consentement. Certains clients MCP peuvent ne pas exposer de connexion interactive. Par exemple, si vous créez un outil MCP à utiliser par GitHub Copilot dans Visual Studio Code, le client tente d’utiliser le contexte de l’utilisateur connecté et n’affiche pas d’invite de consentement. Dans ce cas, la pré-autorisation de l’application cliente est nécessaire pour éviter les problèmes de consentement.

À des fins de développement/test, vous pouvez créer vous-même le consentement de l’utilisateur en vous connectant directement à l’application dans un navigateur. Aller à <your-app-url>/.auth/login/aad initie le flux de connexion et vous invite à donner votre consentement si nécessaire. Vous pouvez ensuite tenter de vous connecter à partir d’un autre client.

Considérations relatives au serveur MCP

L’authentification App Service valide les jetons fournis par les clients MCP et applique toutes les stratégies d’autorisation configurées avant de répondre à la demande d’initialisation MCP. Vous devrez peut-être mettre à jour vos règles d’autorisation pour le scénario MCP. Par exemple, si vous avez utilisé le fournisseur d’ID Microsoft Entra et que App Service crée l’inscription pour vous, une stratégie par défaut autorise uniquement les jetons obtenus par l’application elle-même. Vous devez donc ajouter votre client MCP à la liste des applications autorisées dans la configuration d’authentification. Pour plus d’informations, consultez Utiliser une stratégie d’autorisation intégrée.

Les frameworks de serveur MCP extraitnt fréquemment le transport, mais dans certains cas, ils peuvent exposer le contexte HTTP sous-jacent. Lorsque le contexte HTTP est disponible, vous pouvez accéder aux revendications utilisateur et à d’autres informations d’authentification fournies par l’authentification App Service.

Caution

Le jeton utilisé pour l’autorisation du serveur MCP est destiné à représenter l’accès à votre serveur MCP, et non à une ressource en aval. Scénarios pass-through où le serveur transfère son jeton crée des vulnérabilités de sécurité, donc évitez ces modèles. Si vous avez besoin d’accéder à une ressource en aval, obtenez un nouveau jeton par le biais du flux On-Behalf-Of ou d’un autre mécanisme pour la délégation explicite.