Tutoriel : Régir l'accès MCP d'un agent de codage GitHub

Important

Cette fonctionnalité est en version bêta. Les administrateurs de compte peuvent gérer l’accès à cette fonctionnalité à partir de la page Aperçus de la console de compte. Consultez Gérer les préversions d’Azure Databricks.

Dans ce tutoriel, vous régissez l'accès d'un agent de codage à GitHub à l'aide du catalogue Unity et de la passerelle IA. Supposons que votre équipe utilise un agent de programmation tel que Claude Code ou Cursor avec le serveur MCP de GitHub, et que vous souhaitiez que les développeurs puissent lire les dépôts et ouvrir des pull requests via l’agent, sans jamais pouvoir effectuer de pushs forcés ni supprimer quoi que ce soit, tout en auditant chaque appel d’outil.

Vous utilisez le service MCP prédéfini system.ai.github fourni Azure Databricks, de sorte que vous n'hébergez pas ou n'inscrivez pas de serveur MCP ou créez une connexion de catalogue Unity. Vous attachez une stratégie de service intégrée pour bloquer les opérations d’écriture, accorder à votre équipe l’accès, connecter un agent de codage et confirmer que chaque appel d’outil est journalisé.

Prerequisites

Étape 1 : Bloquer les opérations destructrices avec une stratégie intégrée

Le service system.ai.github MCP donne accès aux outils de lecture de GitHub et, par défaut, refuse les outils d’écriture. Pour garantir cette garantie explicite et régie, attachez la stratégie intégrée system.ai.github_policy à l’option disallow_writes . Les stratégies intégrées sont gérées par la plateforme : vous référencez le gestionnaire au lieu d’écrire votre propre fonction.

databricks api patch \
  "/api/2.1/unity-catalog/mcp-services/system.ai.github?update_mask=config.service_policies" \
  --json '{
    "config": {
      "service_policies": [
        {
          "name": "block_github_writes",
          "policy_type": "POLICY_TYPE_BUILTIN",
          "handler": "system.ai.github_policy",
          "options": { "disallow_writes": "true" }
        }
      ]
    }
  }'

Avec la stratégie appliquée, tools/call tout outil autorisant l’écriture (c’est-à-dire non marqué comme étant en lecture seule) est refusé, tandis que les outils de lecture et de pull request continuent de fonctionner. Pour plus d’informations sur les services et stratégies intégrés, consultez les services MCP fournis par Databricks et les stratégies de service pour les éléments sécurisables d’IA.

Étape 2 : Partager le service MCP avec votre équipe

Par défaut, seules les entités disposant de EXECUTE peuvent invoquer le service. Pour accorder à votre équipe de développeur l’accès à partir de l’interface utilisateur :

  1. Dans AI Gateway, accédez à l’onglet MCPs et sélectionnez le service MCP à partager, par exemple system.ai.github.
  2. Accédez à l’onglet Autorisations.
  3. Cliquez sur Accorder.
  4. Spécifiez le principal à autoriser à appeler le service MCP, par dev_teamexemple, sélectionnez le privilège EXECUTE , puis cliquez sur Confirmer.

Note

Pour accorder l’accès à un service MCP dans system.ai, un administrateur du metastore doit d’abord s’octroyer MANAGE sur le schéma system.ai.

Étape 3 : Connecter votre agent de codage

Dirigez votre agent de développement vers le point de terminaison MCP de la passerelle d’IA pour le service intégré :

https://<workspace-url>/ai-gateway/mcp-services/system.ai.github

Chaque développeur s’authentifie auprès de Azure Databricks et doit avoir EXECUTE sur le service MCP. Pour connaître les étapes de configuration propres à chaque agent pour Claude Code, Cursor et d’autres outils, consultez Connecter des MCP à des assistants IA et à des agents de codage. Pour obtenir des exemples d’appel, y compris le SDK OpenAI Agents, consultez Appeler le service MCP.

Étape 4 : Confirmer que l’activité est régie et journalisée

Vérifiez que la gouvernance fonctionne à partir des deux extrémités :

  • Application de la stratégie : À partir de l’agent, un outil de demande de lecture ou de tirage réussit, tandis qu’un outil d’écriture est rejeté avec une erreur de stratégie.

  • Journalisation de l’utilisation : interrogez la table système d’utilisation pour confirmer que les appels sont enregistrés :

    SELECT service_name, mcp_metadata.tool_name AS tool_name, status_code, COUNT(*) AS calls
    FROM system.ai_gateway.usage
    WHERE service_type = 'MCP_SERVICE'
      AND service_name = 'system.ai.github'
    GROUP BY service_name, mcp_metadata.tool_name, status_code
    ORDER BY calls DESC;
    

Pour plus d’informations sur la surveillance, consultez Surveiller l’utilisation.

Étapes suivantes