La mise en œuvre de la gestion des autorisations a tout pour plaire !
C’est fastidieux et chronophage pour l’administrateur, et c’est frustrant pour l’utilisateur qui se trouverai bloqué à tort par un message du genre : « Désolé. Les autorisations actuelles ont empêché l’action… ».
Il est alors tentant de lui attribuer ‘provisoirement’ des autorisations élargies, au risque de laisser perdurer cette situation et de s’attirer les foudres des auditeurs du contrôle interne.
La séparation des tâches (ou SoD : Separation of duties – Wikipedia) vise à prévenir les fraudes et les erreurs en organisant les tâches critiques de manière à ce qu’une même personne ne puisse contrôler toutes les étapes clés d’une transaction.
Le processus achat (Purchase to Pay) en est la parfaite illustration et peut être découpé comme suit :
- Créer un fournisseur
- Mettre à jour son IBAN
- Approuver la commande
- Enregistrer la facture
- Approuver la facture
- Générer le virement
- Approuver le virement
La gestion des autorisations de Business Central n’est donc que l’un des maillons du contrôle interne.
Cet article ne prétend pas être exhaustif mais propose quelques recommandations.
Vous pouvez vos référer à la documentation Microsoft (Définir des autorisations granulaires – Business Central | Microsoft Learn) avant de solliciter l’assistance d’un consultant expérimenté.
Naviguer
Profils (rôles) versus autorisations
Tout d’abord, il ne faut pas confondre les autorisations (accordées ou non aux utilisateurs) et les « Profils (rôles) » qui n’impactent que la présentation des informations (voir Personnalisez votre profil – Wanamics).
Groupes de sécurité
Les « Groupes de sécurité » introduits depuis la version 22 (voir Groupes de sécurité – Wanamics) remplaceront les « Groupes d’utilisateurs » à compter de la version 25 (fin 2024).
Le terme « Groupe de sécurité » est utilisé ci-après.
Dans un premier temps, vous devez identifier les rôles est responsabilités (qui fait quoi).
Une matrice RACI (RACI — Wikipédia (wikipedia.org) pourra vous y aider.
Outre les tâches relevant de Business Central, veillez à y inclure les tâches assurées via d’autres solutions.
Ainsi par exemple, la transmission et l’approbation d’un fichier de virement peuvent nécessiter l’accès au portail de la banque. Ces responsabilités doivent donc être identifiées.
Un « Groupe sécurité » (ou « Groupe d’utilisateurs ») est composé d’un ou plusieurs
« Ensemble d’autorisations » qui eux-mêmes définissent les
« Autorisations » (Lecture, Insertion, Modification…) associées à des
« Objets » (tables, pages, reports…).
Un utilisateur se verra attribuer un ou plusieurs « Groupe de sécurité » (pour chacune des sociétés le cas échéant).
Quelques liens pour aller plus loin :
- Contrôle d’accès à base de rôles — Wikipédia (wikipedia.org) (ou son pendant en anglais plus complet)
Ensembles d’autorisations
Les ensembles d’autorisations définis par Microsoft (ou éditeurs des extensions le cas échéant) sont à utiliser en priorité.
Si vous n’y trouvez pas votre bonheur, vous pourriez être tentés de ‘cloner’ l’un d’eux pour l’enrichir ou au contraire l’élaguer selon vos besoins.
Mais si, lors d’une prochaine version Microsoft (ou l’éditeur d’une extension) le modifie, vous devrez adapter le vôtre.
Il est donc préférable de définir des ensembles d’autorisations ‘différentiels’ composés des quelques objets concernés.
Dès lors, vous pourrez définir un nouvel ensemble d’autorisations dans lequel vous viendrez ‘Inclure’ l’ensemble initial et Inclure ou Exclure les ensembles ‘différentiels’.
Par convention les codes créés seront préfixés ‘_’ (ils apparaissent ainsi en début de liste).
Si vous disposez de quelques développements spécifiques (extensions ‘Per tenant’), il vous faudra ajouter autant d’ensembles d’autorisations que de fonctionnalités afin de les attribuer aux groupes de sécurité souhaités.
Restrictions
En général, un ensemble d’autorisations (comme son nom l’indique) définit des autorisations.
Il est cependant possible d’y associer des exclusions.
Ainsi par exemple, un utilisateur pourra saisir un document d’achat (moyennant l’ensemble d’autorisation ‘D365 PURCH DOC, EDIT’ :
Mais moyennant un ensemble d’autorisations interdisant le plan comptable il ne pourra cependant y ajouter une ligne de type ‘Compte général’ (par convention, le code est préfixé ‘-‘) :
De même, un ensemble d’autorisations tel que ‘-IBAN’ permettra d’exclure les tables suivantes :
- 270 : Compte bancaire
- 287 : Compte bancaire client
- 288 : Compte bancaire fournisseur
Remarques :
- Les actions « Exporter des ensembles d’autorisations » et « Importer des ensembles d’autorisations » permettent de les transférer d’un environnement à une autre (en particulier de Sandbox vers Production).
- Le type d’autorisation ‘Indirect’ accorde un droit (Lire, Insérer, Modifier, Supprimer, Exécuter) uniquement au travers d’un objet défini à ce effet. Ainsi par exemple, aucun utilisateur n’est autorisé à ajouter des écritures comptable directement, mais une autorisation en ‘Indirect’ lui permettra de créer des écritures par la validation d’une feuille comptabilité ou d’une facture par exemple.
- Les ensembles d’autorisations de type ‘Système’ ou ‘Extension’ ne sont pas modifiables (donc seul ceux de « Type » ‘Défini par l’utilisateur » le sont).
- L’action « Enregistrer autorisations » permet, en réalisant une tâche, de générer un ensemble d’autorisation reprenant tous les objets utilisés. Cela peut être utile pour analyser le lien entre une tâche et les objets impactés, mais le résultat ne devrait pas être utilisé en tant que tel car il est probablement incomplet et pourrai ne pas prendre en compte les variantes et/ou cas particuliers.
- Un ensemble d’autorisations peut inclure (voire exclure) d’autres ensembles d’autorisations (ex : ‘D365 PURCH DOC, POST’ inclut ‘D365 PURCH DOC, EDIT’). L’action « Afficher toutes les autorisations » permet d’obtenir le détail résultant de ces combinaisons.
En cas de problème…
Si un utilisateur rencontre une erreur liées aux autorisations, il doit impérativement transmettre l’intégralité du message d’erreur.
Une erreur peut en cacher une autre. Ainsi, alors que vous lui aurez accordé de nouvelles autorisations, il pourra rencontrer un problème très similaire mais mentionnant un autre objet.
Pour une résolution rapide et efficace, il est donc recommandé de traiter en direct ces problèmes par nature frustrants.
Mais au vu du message d’erreur, il est parfois difficile de déterminer l’ensemble d’autorisations qui pourrait manquer.
Depuis un utilisateur, l’action « Autorisations effectives » permet de visualiser le détail des autorisations qui lui sont accordées, et pour l’une d’elles de savoir de quel « Ensemble d’autorisations » elle provient.
Vous pourrez ainsi comparer les autorisations à celles d’un utilisateurs non confronté à ce problème.
Une autre solution est de recenser tous les ensembles d’autorisations susceptibles d’accorder l’autorisation manquante. L’URL ci-après vous permet (moyennant un accès administrateur), d’afficher l’intégralité des autorisations pour y filtrer l’objet convoité afin identifier les ensembles d’autorisation auxquels il appartient :
https://businesscentral.dynamics.com?table=2000000005 (voir aussi Informations tables – Wanamics)
Audit
La gestion des autorisations est bien sûr dans le périmètre du contrôle interne et s’étend au delà de Business Central.
L’audit consiste à prévenir les risques d’erreur ou de fraude en évitant que des tâches critiques soient confiées à un même personne.
Les liens ci-après (services proposés autour de l’ERP SAP, dont l’image ci-dessus est extraite) décrivent bien les enjeux :
Commentaires récents