RBAC des fonctions IA¶
Vue d'ensemble¶
AKKO restreint l'accès aux fonctions SQL d'IA (ai_*()) en fonction des rôles Keycloak via les politiques OPA.
Rôles et permissions¶
| Rôle | Fonctions IA | Description |
|---|---|---|
| akko-admin | TOUTES (y compris akko_ai_cache_clear, akko_ai_cb_reset) | Accès complet |
| akko-engineer | 14 fonctions (sentiment, classify, summarize, translate, entities, anomaly, sql, risk, pii, sensitivity, language, keywords, ask, embed) | Usage en production |
| akko-analyst | 5 fonctions (sentiment, classify, summarize, language, keywords) | Analytique uniquement |
| akko-user | 2 fonctions (pii, sensitivity) | Gouvernance uniquement |
| akko-viewer | AUCUNE | Pas d'accès IA |
Fonctionnement¶
- L'utilisateur exécute
SELECT akko_ai_sentiment('text')dans Trino - Trino envoie une vérification de politique OPA pour l'opération
ExecuteFunction - OPA évalue les groupes de l'utilisateur (du JWT Keycloak vers le mapping de groupes Trino)
- OPA autorise ou refuse en fonction du mapping rôle-fonction ci-dessus
Authentification des serveurs MCP¶
Les serveurs MCP supportent une authentification JWT optionnelle via MCP_AUTH_ENABLED=true.
Lorsqu'elle est activée, les requêtes doivent inclure Authorization: Bearer <jeton-keycloak>.
Configuration¶
Le RBAC IA est appliqué par la politique OPA dans helm/akko/charts/akko-opa/.
Aucune configuration supplémentaire n'est nécessaire — les rôles sont hérités de Keycloak.