Chapitre 6 : Création d’un module sur Odoo (part 6)

Security

Activité :

Compiler votre application

dans le console vous devez avoir le message suivant:

La sécurité est un aspect essentiel dans Odoo pour protéger les données sensibles et garantir l’accès approprié aux différentes fonctionnalités du système. Odoo met en œuvre un modèle de sécurité robuste basé sur des rôles et des règles d’accès.

Le modèle de sécurité d’Odoo repose sur les éléments suivants :

  1. Utilisateurs : Chaque utilisateur d’Odoo est identifié par un nom d’utilisateur et un mot de passe. Les utilisateurs peuvent être associés à des groupes pour faciliter la gestion des droits d’accès.
  2. Groupes : Les groupes sont des ensembles prédéfinis de droits d’accès qui peuvent être attribués à des utilisateurs. Par exemple, un groupe « Gestionnaire de ventes » peut avoir des droits d’accès spécifiques liés à la gestion des ventes.
  3. Rôles : Les rôles permettent de définir les droits d’accès globaux pour différents types d’utilisateurs. Par exemple, un rôle « Utilisateur » peut avoir des droits d’accès limités, tandis qu’un rôle « Administrateur » peut avoir des droits d’accès étendus.
  4. Objets : Dans Odoo, les objets représentent les différentes entités du système, telles que les modèles de données, les vues, les rapports, etc. Chaque objet peut avoir ses propres règles d’accès définies.
  5. Règles d’accès : Les règles d’accès définissent les droits d’accès spécifiques pour les utilisateurs ou les groupes sur les objets. Les règles peuvent être basées sur des critères tels que la lecture, l’écriture, la suppression, la création, etc.
  6. Access Control List (ACL) : Les ACL sont des règles spécifiques qui déterminent les droits d’accès à un objet particulier pour un utilisateur ou un groupe spécifique. Les ACL peuvent être configurées pour des opérations spécifiques, telles que la lecture, l’écriture, la suppression, etc.

En utilisant ces éléments, vous pouvez configurer la sécurité dans Odoo en définissant les groupes, les rôles, les règles d’accès et les ACL appropriés pour chaque objet. Cela permet de contrôler l’accès des utilisateurs aux différentes fonctionnalités et données du système.

La sécurité est un processus continu et doit être gérée de manière proactive. Il est important de revoir régulièrement les autorisations accordées aux utilisateurs et de mettre à jour les règles d’accès en fonction des changements dans les besoins de l’organisation.

Il convient également de noter que la sécurité d’Odoo peut être renforcée en utilisant des pratiques telles que l’authentification à deux facteurs, la gestion des mots de passe forts, la restriction des adresses IP, etc.

En résumé, la sécurité en Odoo est mise en œuvre grâce à un modèle de sécurité basé sur des rôles, des groupes, des règles d’accès et des ACL. Cela permet de contrôler finement l’accès des utilisateurs aux différentes fonctionnalités et données du système, assurant ainsi la confidentialité et l’intégrité des informations.

Voici un exemple d’utilisation du fichier ir.model.access.csv pour définir des règles d’accès dans Odoo :

  1. Créez un fichier ir.model.access.csv dans votre module avec le contenu suivant :
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_custom_model,Access Custom Model,model_custom_model,custom_group.group_manager,1,1,0,0

Dans cet exemple, nous définissons une règle d’accès avec l’ID access_custom_model pour le modèle model_custom_model. La règle donne au groupe custom_group.group_manager les droits de lecture (perm_read) et d’écriture (perm_write), mais pas les droits de création (perm_create) et de suppression (perm_unlink).

  1. Assurez-vous que le fichier ir.model.access.csv est correctement référencé dans le fichier manifeste de votre module.
{
    'name': 'Nom du module',
    'version': '1.0',
    'depends': ['base'],
    'data': [
        'security/ir.model.access.csv',
        # Autres fichiers de données...
    ],
    'installable': True,
    'auto_install': False,
}
  1. Rechargez ou redémarrez le module correspondant dans Odoo pour prendre en compte les modifications.

Cette approche permet de définir des règles d’accès de manière centralisée dans un fichier CSV. Cela rend la gestion des autorisations plus flexible et facilite la mise à jour des règles d’accès.

N’oubliez pas d’adapter les noms des modèles, des groupes et des champs de permissions en fonction de votre configuration spécifique.

Activité :

Objectif : Créer ou modifier le fichier ir.model.access.csv pour définir les règles d’accès à un modèle spécifique dans Odoo.

Instructions :

  1. Accédez à la console ou à l’éditeur de texte où vous travaillez sur votre projet Odoo.
  2. Ouvrez le fichier ir.model.access.csv correspondant à votre module ou créez-le s’il n’existe pas déjà.
  3. Dans la console, vous avez reçu une proposition de règle d’accès sous la forme d’une ligne CSV. Utilisez cette proposition pour ajouter ou modifier une règle d’accès dans le fichier ir.model.access.csv.
  4. Assurez-vous de respecter la structure du fichier CSV avec les colonnes suivantes : id, name, model_id:id, group_id:id, perm_read, perm_write, perm_create, perm_unlink.
  5. Enregistrez les modifications apportées au fichier ir.model.access.csv.
  6. Rechargez ou redémarrez le module correspondant dans Odoo pour prendre en compte les modifications.
  7. Testez les règles d’accès en vous connectant à Odoo avec différents utilisateurs appartenant à des groupes différents et en vérifiant les autorisations sur le modèle concerné.

Note : Veillez à remplacer les placeholders (espaces réservés) tels que id, name, model_id:id, group_id:id, perm_read, perm_write, perm_create, perm_unlink dans la proposition par les valeurs appropriées.