Aller au contenu

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

  1. L'utilisateur exécute SELECT akko_ai_sentiment('text') dans Trino
  2. Trino envoie une vérification de politique OPA pour l'opération ExecuteFunction
  3. OPA évalue les groupes de l'utilisateur (du JWT Keycloak vers le mapping de groupes Trino)
  4. 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.