Administration

Sécurité & permissions

Architecture de sécurité d'Aidoo : authentification OAuth & clé API, contrôle d'accès par rôle, chiffrement des identifiants et journalisation.

8 min de lectureMis à jour le 1 octobre 2026

Architecture de sécurité

Aidoo applique une approche de sécurité en profondeur. Chaque requête MCP transite par le backend Express qui assure l'authentification, le contrôle d'accès, le chiffrement et la journalisation avant d'atteindre Odoo.

Assistant IAServeur MCPBackend AidooXML-RPCOdooAuthentification (JWT / clé API)Contrôle des permissionsJournalisationChiffrement des identifiants

Authentification

Aidoo propose trois méthodes d'authentification selon le contexte d'utilisation.

OAuth 2.1 (Claude.ai, ChatGPT, Claude Desktop, Claude Code, recommandé)

Pour les clients qui supportent l'OAuth (Claude.ai, ChatGPT, Claude Desktop, Claude Code), l'authentification est gérée par un flux OAuth 2.1 standard :

  • Aucune clé API à manipuler côté utilisateur, donc aucun secret à fuiter
  • La connexion se renouvelle automatiquement : un connecteur utilisé régulièrement n'a pas à être reconnecté
  • L'autorisation est scopée à une entreprise : l'utilisateur sélectionne explicitement quelle organisation Aidoo il autorise
  • Les permissions sont choisies sur l'écran de consentement, avec un jeu distinct possible pour la pré-production
  • La révocation est immédiate depuis la page Clés API du tableau de bord

C'est la méthode par défaut recommandée pour la majorité des utilisateurs. Voir les guides Se connecter avec Claude et Se connecter avec ChatGPT.

Clés API (IDEs sans OAuth)

Pour les IDEs qui ne supportent pas OAuth (Cursor, Windsurf, etc.), les clés API authentifient les requêtes programmatiques. Chaque clé :

  • Est hachée en SHA-256 avant stockage (la clé en clair n'est jamais conservée)
  • Porte un préfixe aid_live_ pour identification rapide
  • Est liée à un utilisateur et une entreprise, à raison d'une clé active par membre et par espace
  • Peut être révoquée instantanément depuis le tableau de bord

Consultez les guides Clés API et Clients locaux pour la gestion complète.

JWT (sessions du tableau de bord)

Les sessions du tableau de bord web utilisent des tokens JWT :

  • Access token : durée de vie de 15 minutes
  • Refresh token : durée de vie de 30 jours, transmis via cookie httpOnly sécurisé
  • Le renouvellement est automatique et transparent pour l'utilisateur

Authentification à deux facteurs (TOTP)

Chaque utilisateur peut protéger son compte par un code temporaire, généré par une application d'authentification (Google Authenticator, Microsoft Authenticator, 1Password, etc.). L'option est facultative et se règle compte par compte.

  1. Ouvrez Paramètres, section Authentification à deux facteurs, puis cliquez sur Activer
  2. Si votre compte a un mot de passe, saisissez-le pour confirmer votre identité
  3. Scannez le QR code avec votre application (ou saisissez la clé affichée)
  4. Entrez le code à 6 chiffres pour confirmer l'activation
  5. Conservez les 8 codes de secours affichés : chacun n'est utilisable qu'une fois et ils ne seront plus montrés

Le code est ensuite demandé à chaque nouvelle connexion au tableau de bord, par mot de passe comme par Google. Vous disposez de 5 minutes et de 5 essais ; au-delà, la connexion est à recommencer. Si vous perdez votre téléphone, cliquez sur « Utiliser un code de secours ».

Ce que l'activation ne change pas :

  • les sessions déjà ouvertes restent valides : personne n'est déconnecté ;
  • les clés API et les connexions OAuth de vos assistants (Claude, ChatGPT, IDEs) continuent de fonctionner sans code ;
  • le chat intégré à Odoo et les agents ne sont pas concernés.

Désactiver l'option ou générer de nouveaux codes de secours (bouton « Nouveaux codes de secours », qui invalide les anciens) demande un code de l'application, et le mot de passe pour les comptes qui en ont un.

Rôles et contrôle d'accès

Aidoo utilise un système de rôles à trois niveaux, appliqué par entreprise. Un même utilisateur peut avoir des rôles différents selon l'entreprise.

RôlePérimètre
OwnerContrôle total : gestion de l'entreprise, des membres, des clés API, de la facturation et de la connexion Odoo
AdminAdministration : gestion des membres et de leurs clés API, limites de crédits IA, accès à tous les logs, configuration Odoo
MemberAccès limité : consultation et révocation de ses propres clés API, consultation de ses propres logs

Par défaut, un membre choisit lui-même les permissions de son connecteur. L'option Membres en lecture seule des Paramètres le limite à la lecture (voir Clés API).

Le rôle Owner est unique par espace et peut être transmis à un autre membre depuis la page Équipe, après confirmation par e-mail (voir Facturation et gestion de l'espace).

Exemples concrets

ActionOwnerAdminMember
Connecter son assistant en OAuthOuiOuiOui
Générer ou modifier la clé API d'un membreOuiOuiNon
Révoquer la clé d'un autre membreOuiOuiNon
Consulter tous les logsOuiOuiNon
Modifier la connexion Odoo, bloquer modèles et champsOuiOuiNon
Inviter ou retirer un membreOuiOuiNon
Fixer la limite mensuelle de crédits IA d'un membreOuiOuiNon
Mettre à jour les hints via l'assistant (par défaut)OuiOuiNon
Gérer la facturationOuiNonNon
Transférer la propriété, supprimer l'espaceOuiNonNon

La limite de crédits IA par membre se règle depuis la page Équipe, voir Crédits et consommation.

Isolation multi-tenant

Chaque requête est scopée à une entreprise. Un utilisateur ne peut accéder qu'aux ressources des entreprises dont il est membre.

Bloquer des modèles et des champs

Indépendamment des permissions des clés, les owners et admins peuvent fermer des pans entiers de la base depuis la page Configuration Odoo :

  • Bloquer ce modèle : plus aucune requête possible sur le modèle, quel que soit l'outil ;
  • Bloquer ce champ : le champ est retiré des lectures et ignoré dans les écritures.

Ces blocages s'appliquent à toutes les clés, y compris celles des agents et du chat intégré à Odoo. Le filtre « Bloqués » de la page liste ce qui est fermé, et « Tout débloquer » rouvre les modèles en une fois.

Chiffrement des identifiants Odoo

Les identifiants de connexion Odoo (URL, base de données, mot de passe) sont chiffrés au repos dans la base de données.

Algorithme

  • AES-256-GCM (Galois/Counter Mode) : chiffrement authentifié qui garantit à la fois la confidentialité et l'intégrité des données
  • Vecteur d'initialisation (IV) : 16 octets aléatoires générés pour chaque opération de chiffrement
  • Tag d'authentification : 16 octets pour détecter toute altération des données chiffrées

Fonctionnement

  1. Lors de l'enregistrement d'une connexion Odoo, les identifiants sensibles sont chiffrés côté serveur
  2. Le résultat est stocké au format IV:TAG:CIPHERTEXT (hexadécimal)
  3. Lors de chaque requête vers Odoo, les identifiants sont déchiffrés en mémoire pour la durée de l'appel
  4. La clé de chiffrement est une variable d'environnement serveur, jamais exposée côté client

Les identifiants Odoo ne transitent jamais en clair entre le navigateur et le serveur MCP. Seul le backend dispose de la clé de déchiffrement.

Journalisation des requêtes

Chaque appel MCP est enregistré avec un niveau de détail permettant l'audit complet.

Données enregistrées

ChampDescription
Outil MCPNom de l'outil appelé (query, read, create, etc.)
ParamètresDonnées d'entrée de la requête
RésultatDonnées de sortie (succès) ou message d'erreur
Statutsuccess, error ou timeout
DuréeTemps d'exécution en millisecondes
UtilisateurIdentité de l'utilisateur et clé API utilisée
SessionIdentifiant de session pour regrouper les appels liés

Rétention des données

La durée de conservation se règle par espace dans Paramètres, onglet Odoo et logs, section Logs des requêtes : 7, 14, 30, 90, 180 ou 365 jours (14 jours par défaut). Au-delà, les logs sont supprimés automatiquement, et réduire la durée supprime immédiatement les logs plus anciens.

La même section permet de couper complètement la collecte détaillée, ou seulement pour certains outils (« Paramètres avancés »). Les statistiques et les quotas restent actifs dans tous les cas. Ces réglages sont réservés aux owners et admins.

Filtrage et consultation

Depuis la page Logs du tableau de bord, vous pouvez filtrer par :

  • Outil MCP utilisé
  • Statut de la requête (succès, erreur, timeout)
  • Environnement (production ou pré-production)
  • Plage de dates

Les owners et admins consultent tous les logs de l'entreprise. Les members ne voient que leurs propres requêtes.

Étape suivante