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.
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 codage tel que Claude Code ou Cursor pour lire les dépôts et les pull requests, mais que vous voulez bloquer les opérations d’écriture et auditer chaque appel d’outil.
Vous utilisez le system.ai.github service MCP fourni par Azure Databricks, donc vous n'hébergez ni n'enregistrez un serveur MCP ni ne créez de connexion au 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
- Un espace de travail activé pour le catalogue Unity. Consultez Bien démarrer avec Unity Catalog.
- Les fonctionnalités bêta de Unity Gateway activées pour votre compte. Un administrateur de compte peut les activer depuis la page Previews de la console de compte. Consultez Gérer les préversions d’Azure Databricks.
- Autorisation d’appeler, de partager
system.ai.githubet de joindre des stratégies. - Pour utiliser l’API REST à l’Étape 1, authentifiez la CLI Azure Databricks auprès de votre espace de travail.
- Si votre espace de travail utilise une politique réseau serverless restreinte, un administrateur de compte doit autoriser les destinations requises par le service MCP GitHub.
Étape 1 : Bloquer les opérations d’écriture à l’aide d’une stratégie intégrée
Associez la politique de service GitHub intégrée et activez l’interdiction des écritures. Cela bloque les outils qui créent, modifient ou suppriment des données sur GitHub tout en permettant des outils en lecture seule. La stratégie étant gérée par la plateforme, vous n’avez pas besoin d’écrire de fonction de stratégie.
Interface utilisateur
- Dans la barre latérale de l’espace de travail, cliquez sur AI Gateway.
- Sous l’onglet MCPs, sélectionnez
system.ai.github. - Ouvrez l’onglet Stratégies , puis cliquez sur Nouvelle stratégie.
- Entrez un nom de stratégie, par exemple
block_github_writes. - Sous Type de garde-fou, sélectionnez GitHub.
- Sélectionnez Interdire les écritures, puis cliquez sur Créer une stratégie.
REST API
La stratégie d’API utilise le gestionnaire system.ai.github_policy avec disallow_writes défini sur true :
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" }
}
]
}
}'
PATCH remplace la liste des stratégies du service. Si le service comporte déjà des stratégies, incluez-les dans service_policies afin qu’elles restent associées.
Une fois la stratégie associée, un tools/call pour un outil d’écriture est rejeté, y compris pour les outils qui créent des demandes de tirage (pull requests). Pour autoriser certains outils d’écriture tout en bloquant les opérations destructives, créez plutôt une stratégie de service personnalisée . Pour en savoir plus sur les services disponibles et les contrôles de stratégie, consultez Services MCP fournis par Databricks et Stratégies de service.
Étape 2 : Partager le service MCP avec votre équipe
Suivez la procédure Partager un MCP pour permettre à votre équipe, par exemple dev_team, d’accéder à system.ai.github. Ce guide couvre les autorisations des administrateurs et l’accès hérité pour les MCP fournis par Databricks.
Étape 3 : Connecter votre agent de codage
Installez un agent de codage compatible MCP si vous n’en avez pas déjà un. Utilisez l’interface CLI Unity Gateway (ug) pour configurer la connexion à la passerelle et lancer l’agent sur votre appareil. Par exemple, ug claude ouvre Claude Code avec cette configuration. Pour configurer vous-même un client, suivez la procédure de configuration manuelle ci-dessous.
Si
ugn’est pas installé, installez-le et vérifiez sa version. Vous avez besoin de Python 3.12 ou version ultérieure et deuv. Pour plus d’informations sur l’installation, consultez le démarrage rapide de l’agent de codage.uv tool install git+https://github.com/databricks/unity-gateway ug --versionConfigurez votre agent de codage pour votre espace de travail et connectez-vous lorsque vous y êtes invité. Si votre appareil est déjà configuré, ignorez cette étape.
ug configure --workspace https://<workspace-hostname>Ajoutez le service GitHub MCP à vos agents configurés. Si la configuration publiée par votre administrateur l’a déjà ajoutée, sautez cette étape.
ug mcp add --names system.ai.githubConfirmez que le service apparaît dans vos connexions configurées :
ug mcp listLancez ou redémarrez votre agent pour utiliser le service. Par exemple, lancer Claude Code :
ug claudeDans Claude Code, saisissez
/mcppour vérifier l’état de la connexion. Pour d’autres commandes de lancement et options de configuration MCP, voir Ajouter des outils et compétences ainsi que la référence à la ligne de commande ug.
Pour la configuration manuelle, choisissez votre client dans Assistants de codage et de travail pris en charge. Utilisez ce point de terminaison MCP pour le service intégré :
https://<workspace-url>/ai-gateway/mcp-services/system.ai.github
Pour des exemples d’invocations, y compris le SDK OpenAI Agents, voir Utiliser les outils MCP dans un agent Python.
É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 : Depuis l’agent, un outil en lecture seule s’exécute correctement, tandis qu’un outil d’écriture, tel qu’un outil qui crée une demande de tirage (pull request), 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.