règles de service pour les objets sécurisables d’IA
Bêta
Cette fonctionnalité est en Bêta. Les administrateurs de compte peuvent contrôler l'accès à cette fonctionnalité depuis la page Aperçus de la console de compte. Consultez Gérer les aperçus Databricks.
Les politiques de service vous permettent de régir le contenu des interactions avec les services d'IA enregistrés dans Unity Catalog — y compris les serveurs MCP externes et les modèles de tout fournisseur, pas seulement ceux hébergés par Databricks. Les octrois Unity Catalog déterminent *si* un principal peut appeler un service. Les politiques de service régissent la façon dont cette interaction se déroule, en fonction du contenu de la demande et de la réponse, et de la personne qui effectue l'appel.
Les politiques de service sont les mécanismes que vous utilisez pour implémenter des gardes-fous pour les services d’IA. Si vous souhaitez ajouter des gardes-fous, tels que le blocage des informations PII, des injections de invites ou du contenu dangereux, les politiques de service constituent le mécanisme : Databricks dispose de gardes-fous intégrés pour les risques courants, vous pouvez rédiger des politiques personnalisées pour des règles spécifiques à votre organisation, et vous pouvez appliquer les décisions d’un fournisseur de gardes-fous tiers à l’aide d’une politique de service externe.
C'est particulièrement important lorsque les agents agissent pour le compte des utilisateurs. Un agent hérite de tout ce auquel l'utilisateur peut accéder, et les services accèdent souvent à des systèmes externes. Les politiques de service vous permettent de définir des garde-fous pour cette activité. Par exemple, vous pouvez exiger le consentement de l'utilisateur avant qu'un agent ne pousse du code vers un repository Git via un service MCP, refuser la réponse d'un modèle contenant des informations personnelles identifiables (PII) ou bloquer du contenu dangereux.
Les politiques personnalisées peuvent également vérifier et imposer la présence ou l’absence de tags de requête fournis par l’appelant. Consultez Exiger un projet éligible et la référence des tags de requête.
Les politiques de service sont l'un des trois types de politiques de contrôle d'accès basées sur les attributs (ABAC) dans Unity Catalog :
- Les politiques ABAC GRANT accordent des privilèges Unity Catalog sur des éléments sécurisables dont les tags gouvernés correspondent à une condition. Ils déterminent si un principal peut accéder à un objet.
- Row filter and column mask policies contrôlent les lignes et les colonnes qu’un principal peut voir dans une table.
- Les politiques de service régissent le contenu de chaque requête et de chaque réponse adressées à un service IA afin de l’autoriser ou de le rejeter. Sur un service MCP, une politique peut également contenir une demande d’entrée pour approbation.
Les politiques ABAC GRANT relèvent du contrôle d'accès. Les politiques de filtrage de lignes et de masques de colonnes ainsi que les politiques de service sont des politiques de contenu qui régissent ce qui se passe une fois qu'un principal dispose d'un accès. À l'instar d'un filtre de lignes ou d'un masque de colonnes, une politique de service SQL personnalisée fait référence à une fonction Unity Catalog qui contient la logique de gouvernance et l'associe à un élément sécurisable.
Comment les politiques de service complètent les octrois de Unity Catalog
Les privilèges et les politiques de service d'Unity Catalog répondent à différentes questions de gouvernance et opèrent à différents points d'application.
Aspect | Privilèges Unity Catalog | Politiques de service |
|---|---|---|
Question répondue | Ce principal peut-il appeler ce service ? | Comment cette interaction doit-elle procéder ? |
Entrées | Identité du principal et privilèges accordés | Contenu de la demande, contenu de la réponse, balises de demande, annotations d'outils et contexte de l'acteur |
Point d'application | Avant que la requête n'atteigne le service | Avant que le service ne soit invoqué (phase d'entrée, ON CALL) et après que le service a répondu (phase de sortie, ON RESULT) |
Granularité | Par principal, par sécurisable | Par requête, en fonction du contenu et du contexte |
Les stratégies de service ne remplacent pas les autorisations Unity Catalog. Un principal doit d'abord disposer des privilèges Unity Catalog appropriés pour appeler un service. Les stratégies de service évaluent ensuite le contenu de chaque interaction pour appliquer des règles de gouvernance supplémentaires.
Décisions politiques
Une politique de service évalue le contenu d'une requête ou d'une réponse et renvoie l'un des trois résultats suivants :
- **AUTORISER** : l'interaction se poursuit.
- DENY : la politique bloque l'interaction. Au lieu d'un statut d'erreur, Databricks renvoie une réponse de succès (HTTP 200). Le tour de l'assistant contient un court message nommant la politique de service qui a bloqué, et un objet
databricks_service_policyde haut niveau contient les détails structurés, y compris le blocreason. Le renvoi du bloc en tant que tour normal empêche les clients conversationnels qui renvoient l'historique complet, tels que les agents de codage, de re-trigger le même bloc à chaque tour ultérieur. - ASK : sur un service MCP, la stratégie interrompt une requête pour obtenir l'approbation de l'utilisateur avant l'exécution de l'outil. Utilisez cette action lorsqu'un utilisateur doit approuver une opération sensible, telle qu'un appel d'outil MCP destructif. Pour les agents externes appelant un service MCP, l'invite d'approbation est transmise via l'élicitation en mode URL MCP. Si une politique SQL ou Python personnalisée renvoie
ASKpour un service de modèle ou un service de fournisseur de modèles, Databricks bloque la requête ou la réponse, car ces services ne peuvent pas demander l'approbation de l'utilisateur. Consultez la page Rédiger une politique de décision.
Une politique personnalisée est soit une fonction définie par l'utilisateur (UDF) SQL qui reçoit l'événement d'interaction (lequel inclut l'acteur et le contenu de la requête ou de la réponse) et renvoie un résultat de décision, soit une politique de type LLM-as-a-judge qui classe le contenu en fonction de critères que vous rédigez en langage naturel. Les politiques intégrées sont gérées par Databricks, et une politique de service externe envoie le contenu à un service de garde tiers qui renvoie la décision.
Points d'évaluation
Databricks évalue une politique de service à deux moments dans chaque interaction :
- Entrée (ON CALL) : avant que Databricks n'appelle le service, par rapport à la requête. Utilisez cette phase pour inspecter les requêtes avant qu'elles n'atteignent le service sous-jacent. Par exemple, bloquez une requête qui appelle un outil MCP destructeur, ou refusez une invite contenant des PII avant qu'elle n'atteigne un modèle.
- Sortie (ON RESULT) : après la réponse du service, par rapport à la réponse. Utilisez cette phase pour inspecter les réponses avant qu'elles ne soient renvoyées à l'appelant. Par exemple, bloquez une réponse contenant du contenu hallucinatoire ou des données sensibles.
Une fonction de politique SQL personnalisée s'exécute aux deux points. Elle inspecte la phase actuelle (event:type) et décide de la marche à suivre, de sorte qu'une seule politique peut régir la requête, la réponse ou les deux. Pour n'agir que sur une seule phase, créez une Branch sur event:type dans le corps de la fonction. Les politiques intégrées et personnalisées de type LLM-as-a-judge sont quant à elles délimitées par un paramètre Phase , et certaines politiques intégrées ne s'exécutent que dans une seule phase (par exemple, la détection des contournements s'exécute uniquement lors de la phase d'entrée et la détection des hallucinations uniquement lors de la phase de sortie). Les politiques de service externe sont également délimitées par phase : vous choisissez la phase d'entrée, la phase de sortie ou les deux lorsque vous en associez une.
Ordre d'évaluation
Vous pouvez attacher plus d'une politique de service à un service. Chaque association possède un rang (priorité), et un DENY à un certain rang arrête l'évaluation de tous les rangs suivants. Databricks évalue les rangs par ordre croissant lors de la phase d' entrée (ON CALL, rang le plus bas en premier) et dans l'ordre inverse lors de la phase de sortie (ON RESULT). Les politiques de même rang conservent l'ordre dans lequel vous les avez associées lors des deux phases. Utilisez le rang pour contrôler quelles vérifications s'exécutent en premier.
Évaluation au sein d'un rang
Databricks évalue les politiques au même rang en deux étapes :
- Les politiques bloquantes LLM-as-a-judge s'exécutent en parallèle. Il s'agit des politiques de type LLM-as-a-judge intégrées et personnalisées qui bloquent le contenu (
DENY), telles que la détection de contenu dangereux. Comme il s'agit de contrôles s'appuyant sur un modèle, leur exécution simultanée signifie que leur latence ajoutée correspond approximativement à celle de l'évaluation individuelle la plus lente, et non à leur somme. - Les politiques restantes s’exécutent ensuite de manière séquentielle , mais uniquement si aucune politique de la première étape n’a renvoyé
DENY. Cette étape couvre les politiques SQL personnalisées, les politiques de services externes, la politique intégréesystem.ai.detect_sensitive_dataet les politiques qui se mettent en pause pour approbation (ASK), y compris une politique LLM-as-a-judge configurée pour demander au lieu de bloquer. Elles s’exécutent dans l’ordre où vous les avez associées, sans ordre fixe par type de politique.ASKmet en pause un appel d’entrée uniquement pour les services MCP. Pour les services de modèle et les services de fournisseur de modèle,ASKbloque la requête ou la réponse.
Un DENY dans l'étape parallèle ignore l'étape séquentielle. L'étape séquentielle ne s'arrête pas à un DENY: toutes les politiques qu'elle contient s'exécutent, même après qu'une d'elles a renvoyé DENY. Par exemple, une politique SQL personnalisée qui refuse une requête n'empêche pas une politique de service externe ultérieure de même rang d'envoyer le contenu à son fournisseur. Lorsque plusieurs politiques opposent un refus, l'appelant voit la raison provenant du premier DENY dans l'ordre d'attachement. Un DENY dans l'une ou l'autre étape arrête tous les rangs ultérieurs. Par conséquent, pour ignorer une politique lorsqu'une autre refuse l'accès, placez la politique de refus à un rang évalué en premier.
Étant donné que Databricks parallélise les vérifications lentes basées sur des modèles, l’empilement de plusieurs garde-fous bloquants sur un service n’en multiplie pas la latence.
Le diagramme suivant montre où se situent les deux phases autour d'un service et ce que chaque décision fait :

Pour voir les politiques associées à un service spécifique et leur ordre d'exécution, ouvrez le Policies tab du service et cliquez sur See execution flow .
Politiques de service intégrées
Databricks fournit des politiques de service intégrées sous l'espace de nom system.ai. Celles-ci couvrent les scénarios de gouvernance courants sans SQL personnalisé. Les garde-fous IA de Databricks sont des politiques de service intégrées : des politiques préconfigurées et gérées par Databricks (telles que la détection de contenu non sécurisé et de jailbreak) que vous attachez de la même manière qu’une politique personnalisée :
system.ai.block_unsafe_content: refuse les interactions qui contiennent du contenu dangereux ou nuisible.system.ai.block_jailbreak: refuse les requêtes qui tentent de contourner les instructions de sécurité du modèle.system.ai.block_hallucination: refuse les réponses qui contiennent un contenu halluciné.system.ai.detect_sensitive_data: détecte les données sensibles structurées (telles que les numéros de carte de crédit et les numéros de sécurité sociale) et bloque l'interaction ou masque les valeurs correspondantes. Contrairement aux autres, il est déterministe (basé sur des modèles, sans modèle d'évaluation) et peut masquer plutôt que simplement bloquer. Voir Détectez les données sensibles avec une politique de service.
Pour utiliser une stratégie intégrée, attachez-la à un service. Vous devez disposer de MANAGE sur le service cible.
Les politiques intégrées sont gérées par Databricks et n'apparaissent pas comme des fonctions que vous pouvez parcourir dans le schéma system.ai dans l'explorateur de catalogue. Vous les sélectionnez et les associez par leur nom via l'interface utilisateur Unity Gateway, comme décrit dans Créer et associer une politique de service.
Fonctionnement des stratégies de service intégrées
Les politiques de service intégrées sont des vérifications LLM-as-a-judge : chacune exécute un prompt organisé par Databricks contre un modèle d'évaluateur pour décider si le contenu enfreint la politique.

Le service de modèle d'évaluation
Chaque politique de service intégrée exécute son prompt sur un service de modèle d’évaluation , le modèle qui évalue le contenu. Databricks présélectionne un evaluateur par default, de sorte qu’aucun paramétrage n’est requis. Pour utiliser un autre modèle, développez l’élément Options avancées lorsque vous associez la politique et sélectionnez-en un. Vous avez besoin de EXECUTE sur le service de modèle que vous choisissez, ainsi que de USE CATALOG et de USE SCHEMA sur son catalogue et son schéma. Consultez Accorder l’accès à un service de modèle. Databricks vérifie cet accès lorsque vous associez la politique, de sorte que les appelants du service protégé n’ont pas besoin d’accéder à l’évaluateur. L’évaluateur est distinct du service que vous protégez, de sorte qu’une politique peut évaluer une requête adressée à un service de modèle en utilisant un modèle différent comme évaluateur.
Databricks gère le prompt de la politique, qui est en lecture seule. Vous pouvez le consulter sous Prompt lorsque vous associez la politique pour voir les critères exacts que l'évaluateur applique.
Ce que l’évaluateur reçoit
Lorsqu’une politique de service intégré s’exécute, Databricks envoie à l’évaluateur une demande en deux parties :
- Un **message système** qui contient l'invite de stratégie et un contrat de sortie (décrit dans la section suivante).
- Un message utilisateur contenant le contenu évalué. Lors de la phase d’entrée, il s’agit du dernier message utilisateur concernant un modèle ou un service de fournisseur de modèles, accompagné d’une fenêtre de tours de conversation récents (voir ci-dessous), ou de l’appel d’outil et de ses arguments sur un service MCP. Lors de la phase de sortie, il s’agit de la réponse du modèle.
L’évaluateur ne voit pas le contenu des images ni des fichiers audio. Lors de la phase de sortie et pour les services MCP, il n’évalue que cet unique élément extrait.
Lors de la phase d’entrée des services de modèle et de fournisseur de modèles, l’évaluateur reçoit également une fenêtre contenant les tours de conversation récents afin de détecter les schémas qui se construisent au fil d’une conversation, comme une escalade progressive. Lorsque vous créez une politique dans le formulaire de politique, la fenêtre de conversation est définie par défaut sur les 10 derniers tours. Vous pouvez modifier le nombre, le définir sur 1 pour évaluer uniquement le dernier message ou sélectionner Évaluer l’intégralité de la conversation . Une politique pour laquelle aucune fenêtre de conversation n’est définie n’évalue que le dernier message.
Contrat de sortie
Databricks ajoute automatiquement un contrat de sortie JSON à l'invite de politique, de sorte que l'évaluateur renvoie une décision structurée au lieu d'un texte libre. L'évaluateur renvoie :
flagged(booléen) :truesi le contenu enfreint les critères de la politique.confidence(flottant,0.0à1.0, facultatif) : la confiance de l'évaluateur dans la décision.reason(chaîne) : brève explication des raisons pour lesquelles le contenu a été signalé. Retourné lorsqueflaggedesttrue.
Lorsque l'évaluateur renvoie flagged: true, Databricks bloque l'interaction default. Sur un service MCP, une politique configurée pour demander suspend la requête pour obtenir une approbation humaine avant l'exécution de l'outil. Puisque Databricks applique le contrat pour vous, les politiques de service intégrées ne nécessitent aucune configuration au-delà de la phase et du rang.
Un évaluateur OpenJev n’utilise pas ce contrat. Il répond plutôt à une question de type indicateur ou autorisation et ne renvoie aucun reason. Consultez Utiliser OpenJev comme évaluateur.
L’évaluateur est un modèle, de sorte que ses verdicts ne sont pas déterministes, et le paramètre reason correspond à un texte libre court plutôt qu’à des données structurées. Pour voir quelles politiques ont été exécutées lors d’une requête et ce que chacune a décidé, utilisez la table de traces unifiée. Pour afficher également le paramètre confidence d'un juge ainsi que le contenu exact qu’il a évalué, activez une table d’inférence sur le service de modèle de l’évaluateur. Consultez la section Déboguer et auditer une décision de politique.
Coût de l'évaluation
Databricks ne facture pas de frais distincts pour les politiques de service intégré. Chaque évaluation est facturée comme tout autre appel au service de modèle d'évaluateur, de sorte que le coût dépend de la manière dont ce modèle est servi. Les jetons facturés pour chaque évaluation couvrent l'invite de la politique, le contrat de sortie, le message extrait et la réponse de l'évaluateur. Pour limiter les frais généraux, maintenez un petit nombre de politiques par phase et préférez un modèle d'évaluateur à faible latence.
Politiques de service externe
Une politique de services externe applique les décisions d'un fournisseur de barrière de protection tiers, tel qu'un service de sécurité IA ou de prévention des pertes de données. Vous l'associez avec le type de barrière de protection External et vous la pointez vers une connexion HTTP Unity Catalog qui stocke le Endpoint du fournisseur et les identifiants OAuth machine à machine. Lors de chaque évaluation, Databricks envoie le contenu évalué au fournisseur, qui renvoie ALLOW ou DENY avec un motif facultatif, et Databricks applique le résultat.
Le fournisseur doit implémenter l'API de politique externe Databricks. Les politiques de service externe renvoient uniquement ALLOW ou DENY : elles ne peuvent pas suspendre un appel pour approbation ni masquer du contenu. Elles échouent par défaut, de sorte qu'un endpoint de fournisseur inaccessible ou lent refuse l'appel. Voir Appliquer une règle de garde-fou partenaire avec une politique de service externe.
Services pris en charge
Vous pouvez associer des stratégies de service aux objets sécurisables du service Unity Catalog suivants :
- Services MCP: serveurs MCP gérés, externes et personnalisés.
- Services de modèle: endpoints LLM hébergés et externes.
- **Services de fournisseur de modèles** : fournisseurs de modèles externes gouvernés.
Comportement de basculement en mode sécurisé
L’évaluation des politiques de service utilise une sémantique de refus en cas d’échec (fail-closed). Lorsque vous joignez une politique par l’intermédiaire de Unity Gateway, Databricks la valide au moment de la liaison, et toute erreur lors de l’évaluation entraîne DENY. Les erreurs incluent les erreurs utilisateur dans la fonction de politique, les erreurs système, les champs manquants dans le contexte de la requête et les dépassements de délai (timeouts). Dans le cas d’une politique de service externe, les erreurs incluent également un endpoint de fournisseur injoignable, renvoyant une erreur ou un verdict autre que ALLOW ou DENY.
Une politique mal configurée ou défectueuse bloque l'interaction au lieu de la permettre.
Une politique en mode Logs n’est pas appliquée. Il enregistre ce que la politique aurait décidé sans bloquer l'interaction, de sorte que même un DENY potentiel laisse la requête se poursuivre. La validation des requêtes s'applique toujours, y compris la validation des tags de requête.
Limitations
Les limitations suivantes s’appliquent :
- Transformation : les politiques de service renvoient une décision (ALLOW, DENY ou ASK) et ne transforment pas le contenu de la requête ou de la réponse. La seule exception est la politique intégrée
system.ai.detect_sensitive_data, qui peut masquer les valeurs correspondantes sur les services de modèle. - Politiques de service externe : une politique de service externe renvoie uniquement
ALLOWouDENYet prend exclusivement en charge l'authentification OAuth machine à machine. Consultez les limitations des politiques de service externe. - Services pris en charge : Les politiques de service s'appliquent aux services MCP, aux services de modèle et aux services de fournisseur de modèle. Les Services aux agents ne sont pas pris en charge.
- Model provider service passthrough : On a model provider service, Databricks does not evaluate service policies on passthrough requests, which Unity Gateway forwards to the provider unchanged when you enable Forward all URL paths . Policies apply only to the provider's supported API paths.
- Fenêtre de conversation : seule l’évaluation des entrées sur les modèles et les services de fournisseurs de modèles peut utiliser une fenêtre de conversation. Les services d’évaluation des sorties et MCP évaluent un seul message ou appel d’outil. Consultez le fonctionnement des stratégies de service intégrées.
- Évaluation imbriquée : Si le service de modèle d'évaluateur que vous sélectionnez pour une politique de service intégré possède ses propres politiques attachées, Databricks les ignore lors de l'exécution de l'évaluation. Cela empêche la récursion.
Étapes suivantes
- Créer et associer une politique de service
- Exemples de politiques de service
- Détectez les données sensibles avec une politique de service
- Appliquez un garde-fou de partenaire avec une politique de service externe
- Référence de la fonction de politique de service
- Tutoriel : ajouter des garde-fous de politique de service à un service de modèle