Aller au contenu principal

Gouverner un MCP

Utilisez Unity Catalog et Unity Gateway pour partager un MCP, choisir ses outils et contrôler l’utilisation. Ces contrôles s'appliquent aux MCP enregistrés et aux MCP fournis par Databricks.

Partager un MCP​

Les appelants ont besoin de EXECUTE sur le MCP, de USE CATALOG et de USE SCHEMA sur ses parents, ainsi que d'une attribution au workspace. Les outils peuvent également nécessiter un accès aux ressources de calcul ou de données sous-jacentes. Pour partager main.default.my_mcp avec data-team, utilisez une identité qui peut gérer ses autorisations :

  1. Ouvrez Unity Gateway , sélectionnez MCPs , puis ouvrez l’ tab du serveur MCP.
  2. Cliquez sur GRANT , sélectionnez data-team et EXECUTE , puis cliquez sur GRANT .
  3. Dans Catalog Explorer, accordez le groupe USE CATALOG sur le catalogue parent et USE SCHEMA sur le schéma parent.

Les utilisateurs finaux n’ont pas besoin de USE CONNECTION. Réservez-la aux auteurs et administrateurs MCP, car elle permet une utilisation directe de la connexion en dehors de la sélection d’outils et des politiques MCP. Pour l’automatisation, consultez Accorder l'accès par programmation.

Pour accorder l'accès à un MCP fourni par Databricks, un administrateur de métastore doit d'abord s'accorder MANAGE sur le schéma system.ai. Ces MCP peuvent hériter d'un grant EXECUTE default sur system.ai. Pour les restreindre, examinez ces grants étendus et suivez Gouverner les modèles et les MCP avec les règles GRANT.

Choisissez les outils disponibles​

Registered MCPs expose all server tools by default. During registration, under Tools :

  • Choisissez Sélectionner manuellement pour sélectionner des outils individuels.
  • Choisissez Advanced pour saisir des noms exacts ou des préfixes tels que get_*.
  • Laissez l'option Inclure automatiquement les outils ajoutés à ce serveur à l'avenir désactivée si les nouveaux outils doivent d'abord être examinés.

Les patterns d’exclusion tels que !delete_* ne sont pas pris en charge.

Les outils non sélectionnés n’apparaissent pas dans tools/list, et les appels qu’ils effectuent renvoient Tool not allowed by MCP service configuration.

Pour modifier la sélection d'outils ultérieurement, mettez à jour la configuration MCP avec config.include_tool_selectors. Une liste vide expose tous les outils.

Appliquer les politiques​

info

Unity Gateway Beta

Les politiques MCP nécessitent la version bêta de Unity Gateway . Un administrateur de compte l’active depuis la page Previews du compte. Consultez Gérer les aperçus du compte.

Une politique évalue un appel d’outil avant son exécution (ON CALL) et peut évaluer son résultat (ON RESULT). Elle peut autoriser, bloquer ou exiger une approbation pour un appel sans modifier la liste des outils. Vous devez disposer de MANAGE sur le serveur MCP pour associer une politique. Consultez Create and attach a policy pour connaître l’ensemble des exigences de configuration.

Bloquer les données sensibles dans les appels d'outils et les résultats​

Utilisez la politique intégrée Sensitive Data Detection pour bloquer les appels contenant des informations personnelles identifiables (PII) :

  1. Ouvrez Unity Gateway , sélectionnez MCPs , puis ouvrez le MCP.
  2. Ouvrez Policies , cliquez sur New policy et entrez un nom, tel que block_sensitive_data.
  3. Sous Type de garde-fou , sélectionnez Détection des données sensibles .
  4. Sous étiquettes de classification , sélectionnez les catégories à bloquer, telles que class.us_ssn et class.credit_card. Sélectionnez Block comme action.
  5. Sous Phase , sélectionnez Input et Output pour inspecter les arguments et les résultats des outils.
  6. Définissez le paramètre Rank , puis cliquez sur Create policy .

La politique s’applique à tous les utilisateurs du compte sur le serveur MCP pendant la phase de bêta-test. Pour en savoir plus sur le comportement des catégories et accéder à d’autres options, consultez Detect sensitive data with a policy.

Restreindre un outil pour un agent spécifique​

Pour un serveur MCP enregistré qui expose push_files, cette fonction personnalisée refuse l’accès à cet outil lorsque l’agent exécutant dispose d’un ID client OAuth spécifique. Remplacez <agent-oauth-client-id> par l’ID client de l’agent et main.governance par un schéma dans lequel vous pouvez créer des fonctions :

SQL
CREATE OR REPLACE FUNCTION main.governance.block_agent_push(event VARIANT)
RETURNS VARIANT
LANGUAGE SQL
RETURN
CASE
WHEN event:type::string = 'request'
AND event:context.tool.name::string = 'push_files'
AND event:context.actor.context.is_on_behalf_of::boolean = true
AND event:context.actor.context.client_id::string = '<agent-oauth-client-id>'
THEN to_variant_object(named_struct('result', 'DENY', 'reason', 'This agent cannot call push_files.'))
ELSE to_variant_object(named_struct('result', 'ALLOW', 'reason', ''))
END;
  1. Exécutez le code SQL dans un éditeur SQL pour créer la fonction.
  2. Open the MCP's Policies tab and click New policy .
  3. Saisissez un nom, sélectionnez Custom sous Guardrail type , puis sélectionnez la fonction. Définissez le Rank et cliquez sur Create policy .
  4. Appelez push_files par l’intermédiaire de cet agent pour vérifier le refus. Un appel via un autre agent doit rester autorisé par cette politique.

Cet exemple identifie l'agent uniquement pour les appels effectués pour le compte d'un tiers (on-behalf-of) qui incluent son ID client OAuth. L'outil apparaît toujours dans tools/list. Pour le supprimer pour tous les appelants, utilisez la sélection d'outils. Consultez la page Policy function reference pour les champs d'acteur et la page custom policy setup pour les privilèges de fonction. Pour une politique d'écriture GitHub intégrée, consultez la page Govern a coding agent's GitHub MCP access.

Appliquer un garde-fou de partenaire aux appels d’outils​

Si vous utilisez déjà un fournisseur de garde-fous tiers qui implémente l'API de politique externe de Databricks, attachez une politique de service externe au MCP. Databricks transmet au fournisseur le nom de l'outil et les arguments lors de la phase d'entrée, ainsi que le résultat de l'outil lors de la phase de sortie, et applique le verdict ALLOW ou DENY du fournisseur.

  1. Open the MCP's Policies tab and click New policy .
  2. Saisissez un nom, puis sélectionnez External sous Guardrail type .
  3. Sélectionnez une connexion HTTP Unity Catalog existante vers l’endpoint de votre fournisseur, ou créez-en une avec les identifiants machine-to-machine OAuth du fournisseur.
  4. Sous Phase , sélectionnez Input , Output ou les deux. Définissez le paramètre Rank , puis cliquez sur Create policy .

Les politiques de service externe échouent de manière sécurisée : si l'endpoint du fournisseur est injoignable ou lent, Databricks refuse l'appel. Pour les champs de connexion, le contenu envoyé au fournisseur et les instructions relatives aux flux de sortie du réseau, consultez Appliquer une règle de protection de partenaire avec une politique de service externe.

Limiter le volume des appels​

To cap an MCP at 60 tool calls per minute across all callers:

  1. Ouvrez le MCP dans Unity Gateway , sous MCPs .
  2. Sur la page Overview , recherchez Rate limits , puis cliquez sur Set up ou Edit .
  3. Saisissez 60 dans le champ QPM Service et cliquez sur Enregistrer .

Les limites de débit MCP s’appliquent à tools/call requêtes et utilisent les query par minute (QPM). Les appels dépassant la limite renvoient le code HTTP 429. Consultez la page Limites de débit pour connaître les limites par utilisateur et par groupe.

Surveiller l'utilisation​

  • Utilisation : affichez le volume d'appels, les erreurs et la latence dans le tableau de bord d'utilisation, ou effectuez une query sur system.ai_gateway.usage avec service_type = 'MCP_SERVICE'.
  • Audit : Review MCP changes and invocations (mcpCall) in system.access.audit. See Audit logs.
  • Traces : inspectez les requêtes d’outils, les réponses et les décisions de stratégie dans le tableau des traces unifié une fois qu’un administrateur a activé la fonctionnalité.

Exemple : compter les appels par outil​

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

Pour accéder aux tables système, consultez Surveiller l'activité du compte à l'aide des tables système.

Accès au réseau et aux clients​

Utilisez les règles réseau pour contrôler la connectivité et les paramètres du client OAuth pour gérer l'accès des clients.

Destinations externes​

Pour les règles de réseau sortantes et les Endpoint privés, suivez Workspace vers le serveur MCP externe et Connectivité privée.

Accès client​

Un administrateur de compte peut activer ou désactiver un client OAuth dédié depuis App connections dans les paramètres du compte. La désactivation affecte ce compte client OAuth à l'échelle du compte. Les clients configurés par le biais de la CLI Unity Gateway utilisent une connexion CLI Databricks au lieu d'une application OAuth dédiée.

Pour restreindre les appels d'un agent spécifique, utilisez l' exemple de politique ci-dessus. Cela nécessite des appels pour le compte de tiers comportant l'ID client d’OAuth de l'agent. Pour les restrictions d’IP entrantes, consultez les listes d'accès IP du workspace.

Mettre à jour ou supprimer un MCP​

Vous devez disposer de la propriété ou de MANAGE sur le MCP, ainsi que de USE CATALOG et USE SCHEMA sur ses parents. Ouvrez le MCP depuis la page MCPs ou l'explorateur de catalogues :

  • Mise à jour : modifiez sa configuration et enregistrez. Le nom du MCP ne peut pas être modifié.
  • Supprimer : ouvrez le menu à trois points et sélectionnez Supprimer . Les clients utilisant son URL ne peuvent plus l'appeler.

Pour l’automatisation, consultez Update an MCP ou Delete an MCP.