# Décidez quels clients peuvent atteindre vos modèles

> Restreignez les clients pouvant appeler votre passerelle IA avec des règles d’accès par en-tête de requête : autoriser/refuser selon le User-Agent ou tout en-tête, portées globale / groupe / clé, mode liste d’autorisation et regex sûre contre ReDoS.

Canonique: https://www.gatellm.io/fr/use-cases/client-admission-control/

Des règles d’accès par en-tête de requête qui autorisent ou refusent selon le User-Agent, l’origine ou tout en-tête — aux portées globale, groupe de clés ou clé unique.

## Ce dont la communauté se plaint réellement
« Une clé qui fuit signifie que quiconque la détient peut brûler notre quota », « nous voulons autoriser les agents de codage de toute l’entreprise mais bloquer curl brut et les scrapers », « la console du fournisseur a une liste d’autorisation IP, mais notre trafic est dynamique et derrière un proxy, donc elle ne correspond jamais ».
L’application doit se faire là où la requête arrive — sur la passerelle — et non dans un réglage côté client qu’un développeur peut simplement désactiver.

## Comment GateLLM procède
GateLLM évalue les règles d’admission à chaque requête par rapport aux en-têtes HTTP : six types de correspondance (exact / préfixe / regex / existe / absent / quelconque) et trois portées (globale / groupe de clés / clé), ordonnés par sort_order avec première correspondance gagnante.
Pour « uniquement les clients approuvés », utilisez le mode liste d’autorisation : définissez l’action par défaut du groupe sur refuser, puis ajoutez une seule règle d’autorisation correspondant à la signature du client — tout le reste est rejeté avant d’atteindre un modèle.

## 5 leviers qui portent réellement
- 6 types de correspondance : exact / préfixe / regex / existe / absent / quelconque — une règle peut exprimer « A ou B ou C » via une alternance regex
- 3 portées : globale, par groupe de clés, par clé — avec première correspondance gagnante et priorité globale à ordre égal
- Mode liste d’autorisation : refus par défaut + une autorisation explicite — les nouveaux clients inconnus sont rejetés par défaut
- Les règles couvrent aussi les routes de liste de modèles (/v1/models), donc un client refusé est verrouillé de bout en bout
- Moteur regex en temps linéaire sûr contre ReDoS — les motifs pathologiques sont rejetés au chargement, pas au moment de la requête

## FAQ
### Un client peut-il usurper X-Forwarded-For pour contourner une règle ?
Oui — X-Forwarded-For est falsifiable par le client. Il n’est fiable que lorsqu’un proxy inverse de confiance l’écrase ; sinon un client malveillant le remplit arbitrairement. Pour une admission par IP réelle, préférez l’IP source que la passerelle voit directement, configurée avec TRUSTED_PROXIES.

### Pourquoi mon client reçoit-il 403 alors que la clé est correcte ?
Les règles d’accès s’appliquent aussi aux routes de liste de modèles. Un client refusé peut être bloqué dès son premier appel /v1/models. Vérifiez si une règle Header ACL correspond, et rappelez-vous qu’en refus par défaut, un client qui ne correspond à aucune règle d’autorisation est rejeté.

### Puis-je écrire « autoriser seulement si l’en-tête ne contient PAS X » ?
Aucune regex unique ne peut l’exprimer — le moteur n’a pas de lookahead. Orchestrez l’inverse : définissez l’action par défaut sur refuser, puis ajoutez une règle « autoriser s’il contient X ». Les requêtes non correspondantes retombent sur le refus par défaut.

- [Guide complet : configurer Header ACL (docs)](https://docs.gatellm.io/en/howto/configure-header-acl)

## Voir aussi
- [Accueil](https://www.gatellm.io/fr/index.md)
- [Tarifs](https://www.gatellm.io/fr/pricing.md)
- [Calculateur de coûts](https://www.gatellm.io/fr/calculator.md)
- [À propos](https://www.gatellm.io/fr/about.md)
- [Réserver une démo](https://www.gatellm.io/fr/demo.md)
- [FAQ](https://www.gatellm.io/fr/faq.md)
- [Comparer les passerelles IA](https://www.gatellm.io/fr/compare.md)
- [Comparer LiteLLM](https://www.gatellm.io/fr/compare/litellm.md)
- [Comparer OpenRouter](https://www.gatellm.io/fr/compare/openrouter.md)
- [Comparer Alibaba Cloud AI Gateway](https://www.gatellm.io/fr/compare/alibaba-cloud.md)
- [Comparer Azure API Management](https://www.gatellm.io/fr/compare/azure-apim.md)
- [Comparer Apigee](https://www.gatellm.io/fr/compare/apigee.md)
- [Comparer Cloudflare AI Gateway](https://www.gatellm.io/fr/compare/cloudflare.md)
- [Comparer Kong AI Gateway](https://www.gatellm.io/fr/compare/kong.md)
- [Comparer Portkey](https://www.gatellm.io/fr/compare/portkey.md)
- [LiteLLM vs Kong AI Gateway](https://www.gatellm.io/fr/compare/litellm-vs-kong.md)
- [LiteLLM vs OpenRouter](https://www.gatellm.io/fr/compare/litellm-vs-openrouter.md)
- [LiteLLM vs Portkey](https://www.gatellm.io/fr/compare/litellm-vs-portkey.md)
- [Cas d’usage](https://www.gatellm.io/fr/use-cases.md)
- [Réduire le coût des LLM](https://www.gatellm.io/fr/use-cases/reduce-cost.md)
- [Haute disponibilité](https://www.gatellm.io/fr/use-cases/high-availability.md)
- [Isolation multi-tenant](https://www.gatellm.io/fr/use-cases/multi-tenant.md)
- [Conformité et audit](https://www.gatellm.io/fr/use-cases/compliance-audit.md)
- [Dépannage par symptôme](https://www.gatellm.io/fr/use-cases/troubleshooting.md)
- [Pile de modèles multi-fournisseurs](https://www.gatellm.io/fr/use-cases/mixed-model-stack.md)
- [Héberger l’IA en interne dans Office](https://www.gatellm.io/fr/use-cases/self-hosted-office-ai.md)
- [Visibilité et attribution des tokens](https://www.gatellm.io/fr/use-cases/token-ops.md)
- [Token FinOps : allocation et contrôle des coûts IA](https://www.gatellm.io/fr/use-cases/token-finops.md)
- [Gouvernance des outils MCP](https://www.gatellm.io/fr/use-cases/mcp-tool-governance.md)
- [Recherche web pour chaque modèle](https://www.gatellm.io/fr/use-cases/web-search-grounding.md)
- [Rotation et secours multi-clés](https://www.gatellm.io/fr/use-cases/multi-key-pooling.md)
- [Imposer la politique d’usage des modèles](https://www.gatellm.io/fr/use-cases/enforce-model-policy.md)
- [Aucun choix de modèle côté client](https://www.gatellm.io/fr/use-cases/automatic-model-tiering.md)
- [Un protocole, n’importe quel modèle](https://www.gatellm.io/fr/use-cases/one-protocol-any-model.md)
- [Complément Office / Microsoft 365](https://www.gatellm.io/fr/office-addin.md)
- [Glossaire](https://www.gatellm.io/fr/glossary.md)
- [Catalogue de modèles](https://www.gatellm.io/fr/models.md)
- [Intégrations SDK et frameworks](https://www.gatellm.io/fr/integrations.md)
- [Agents de codage IA et harnais](https://www.gatellm.io/fr/coding-agents.md)
- [Sécurité et conformité](https://www.gatellm.io/fr/security.md)
