Un utilisateur SAP appuie sur Entrée et tombe sur le message « Vous n’avez pas l’autorisation pour la transaction MM03 ». Trois personnes interviennent dans la minute qui suit : l’utilisateur qui rage, l’admin SAP qui doit comprendre pourquoi, et le chef de projet qui rappelle qu’on est en go-live dans deux jours. La même scène se rejoue dans chaque entreprise SAP, chaque semaine. Et à chaque fois, la solution tient en trois transactions : PFCG, SU01, SU53.
Cet article remet à plat les concepts du système d’autorisations SAP pour un key user ou un consultant junior qui doit savoir lire un rôle, comprendre pourquoi un utilisateur est bloqué, et soit le déboquer lui-même soit transmettre une demande propre à l’équipe Basis. Pas d’angle Basis pur ni de Sécurité avancée, on reste sur le terrain métier.

- Un rôle SAP = un menu de transactions + un ensemble d’objets d’autorisation avec leurs valeurs autorisées. Le rôle se crée dans
PFCG, s’affecte à un utilisateur dansSU01. - Quand un utilisateur est bloqué, la première transaction à lancer c’est
SU53. Elle affiche l’objet d’autorisation manquant et la valeur attendue. Diagnostic en 30 secondes. - Trois types de rôles : simple (un menu + des autorisations cohérentes), composite (regroupement de rôles simples par persona métier), et dérivé (hérite d’un rôle parent avec restrictions organisationnelles propres à chaque entité, pratique en multi-sociétés).
- Quatre pièges récurrents :
SAP_ALLen dev oublié en prod, profil non régénéré après modif, valeurs étoiles dans les objets, conflits de séparation des tâches (SoD).
C’est quoi un rôle SAP ? (et pourquoi ton key user en a besoin)
Un rôle SAP est l’objet qui détermine ce qu’un utilisateur a le droit de faire dans le système. Il combine deux choses : un menu (les transactions accessibles) et un ensemble d’objets d’autorisation avec leurs valeurs (les actions précises autorisées sur chaque transaction).
L’image qui marche bien : pense à un rôle comme à un badge d’accès dans une usine. Le menu = la liste des portes que tu peux ouvrir. Les objets d’autorisation = les conditions précises (par exemple : porte du magasin oui, mais seulement aux heures ouvrées, et seulement sur le site de Luxembourg). Sans badge, tu ne passes pas la première porte. Avec un badge mal configuré, tu peux entrer mais tu ne peux rien faire dedans. Le but du jeu c’est de calibrer chaque badge au métier exact de la personne.
Côté technique, le rôle est stocké dans la table AGR_DEFINE et lié à une série d’objets d’autorisation via AGR_1251. Le concept date de SAP R/3 et reste central en S/4HANA, sans coupure de paradigme. La documentation SAP Learning sur le concept d’autorisation S/4HANA couvre la théorie complète.
L’anatomie d’un rôle SAP en cascade
Le système d’autorisations SAP empile cinq niveaux. Ce schéma montre comment l’utilisateur final, en bas, hérite de tout ce qui est paramétré au-dessus :
Rôle simple, composite et dérivé : quand utiliser quoi
Trois types de rôles coexistent dans SAP, et la confusion entre eux fait perdre du temps sur tous les projets autorisations. Le rôle simple est l’unité de travail : il porte un menu + des objets d’autorisation cohérents pour une fonction métier précise. Le rôle composite est un agrégateur : il regroupe plusieurs rôles simples mais ne porte aucune autorisation en propre. Le rôle dérivé hérite des autorisations d’un rôle parent tout en permettant des restrictions organisationnelles (BUKRS, WERKS, VKORG) propres à chaque entité juridique : indispensable dans les déploiements multi-sociétés.
En production, on combine souvent les trois : un rôle parent métier (par exemple Acheteur), plusieurs rôles dérivés organisationnels (Acheteur FR, Acheteur DE, Acheteur LU) qui restreignent le périmètre par entité, regroupés ensuite dans un composite par fonction utilisateur. Sur un projet où la maintenance préventive multi-sites doit segmenter qui fait quoi par usine, le dérivé évite de dupliquer 15 fois le même rôle PM. Voir l’illustration concrète dans les rôles métier en maintenance préventive.
Rôle simple
- Porte le menu et les objets d’autorisation
- Cas d’usage : une fonction précise (validation OF, saisie commande, consultation stock)
- Granularité : 1 rôle = 1 fonction
- Réutilisable dans plusieurs personas via composite
Rôle composite
- Regroupement de rôles simples, sans autorisation propre
- Cas d’usage : un persona métier (responsable production, magasinier, comptable)
- Granularité : 1 composite = 3 à 8 rôles simples typiquement
- Affecté à l’utilisateur via SU01
SAP ne permet pas la conversion d’un rôle simple existant en rôle composite. Si tu décides en cours de projet qu’un rôle simple deviendrait mieux structuré en composite, il faut créer le composite à part, y ajouter le rôle simple, puis re-affecter les utilisateurs. Bien réfléchir au type de rôle avant de générer le profil, pas après.
PFCG, SU01, SU53 : les 3 transactions à connaître
Trois transactions couvrent la grande majorité des opérations courantes sur les rôles et autorisations SAP. Chacune a un rôle précis dans le workflow et un public cible distinct :
| Transaction | Qui l’utilise | Quand |
|---|---|---|
PFCG | Admin / Basis / Sécurité | Créer ou modifier un rôle. Sept onglets : Description, Menu, Authorizations, User, MiniApps, Personnalisation, Workflow (les quatre premiers sont les plus utilisés). |
SU01 | Admin / Helpdesk N1 | Gérer un utilisateur : créer, déverrouiller, affecter ou retirer un rôle, fixer une date de validité. |
SU53 | Utilisateur final / Helpdesk | Diagnostiquer un blocage. À lancer juste après l’erreur, sinon le buffer mémoire est perdu. |
SUIM | Admin / Audit | Info system users : qui a quel rôle, qui a quel objet d’autorisation, qui s’est connecté quand. |
SU24 | Admin / Sécurité | Suggestions d’autorisation par défaut SAP par transaction. Sert de base à la configuration PFCG. |

Pour aller plus loin sur les options de paramétrage et les tables sous-jacentes, la documentation help.sap.com filtrée sur “User and Role Maintenance” couvre la mécanique complète de PFCG.
Si tu travailles sur des transactions custom, la création de variants via SHD0 est complémentaire à la gestion des autorisations : limiter l’accès via PFCG d’un côté, simplifier l’écran de l’utilisateur via SHD0 de l’autre.
Workflow type : créer un rôle métier de A à Z
Le pas-à-pas pour créer un rôle simple SAP, depuis l’interview du key user jusqu’au compte de recette. Sept étapes que tu retrouveras sur tous les projets autorisations :
-
1Lister les transactions du métier
Interview du key user ou observation terrain. Note chaque transaction effectivement utilisée (par exemple
MM03,MIGO,MB52). Évite les listes théoriques type “il faut tout MM” : tu finiras avec un rôle qui donne accès à 50 transactions dont 5 servent vraiment. -
2Créer le rôle dans PFCG (avec copie SAP standard si possible)
Lance
PFCG, saisis un nom en namespace Z (par exempleZ_MAGASINIER_SAP), choisis “Single Role”. Si un rôle SAP standard couvre déjà la majeure partie du besoin, copie-le et adapte plutôt que de partir de zéro. -
3Compléter le menu (onglet Menu)
Ajoute les transactions de l’étape 1 dans l’onglet Menu. Tu peux organiser en arborescence (Menu > Production > Validation OF) pour que l’utilisateur s’y retrouve. Le menu détermine ce que l’utilisateur voit dans son SAP Easy Access.
-
4Adapter les valeurs d’autorisation (onglet Authorizations)
Clique sur “Change Authorization Data”. SAP propose des objets d’autorisation par défaut basés sur
SU24. Adapte chaque valeur étoile (*) à la valeur métier réelle (par exempleBUKRS = 1000pour la société Luxembourg uniquement). Le code couleur SAP : feu rouge = à compléter obligatoire, feu jaune = optionnel mais conseillé, feu vert = OK. -
5Générer le profil (cadenas)
Clique sur l’icône cadenas en haut. SAP génère un profil d’autorisation à partir des valeurs saisies. Le profil porte un nom auto type
T-XXXXXet c’est lui qui sera réellement chargé en mémoire à la connexion utilisateur. -
6Affecter le rôle à un utilisateur (ou à plusieurs via SU10)
Soit via l’onglet User de PFCG (rapide, pour un seul utilisateur), soit via
SU01(workflow standard helpdesk). Pour un mass-assignment lors d’une réorganisation ou d’une migration, utiliseSU10: il permet d’assigner ou retirer un rôle à plusieurs utilisateurs en une seule opération, ce que SU01 ne sait pas faire. Pense à fixer une date de validité, surtout pour les comptes intérimaires ou stagiaires. -
7Tester avec un compte de recette
Connecte-toi avec le compte test affecté au rôle, fais le parcours métier complet. Si une transaction du menu déclenche un message d’autorisation manquante, lance
SU53immédiatement après et corrige dans PFCG. Itère jusqu’à ce que le parcours métier passe sans blocage.
Les 4 pièges qui font échouer la plupart des projets autorisations
Quatre situations reviennent sur tous les projets et plombent la qualité du système d’autorisations à long terme :
1. SAP_ALL en dev oublié en prod
Le profil SAP_ALL donne tous les droits sur toutes les transactions. C’est utile en développement pour ne pas être bloqué pendant le paramétrage. Le piège : il finit affecté à un utilisateur en production parce que “on testait, on nettoie après”, et personne ne nettoie. Conséquence : un utilisateur métier a tous les droits SAP, y compris la possibilité de modifier les paramètres financiers ou de supprimer des données. Audit failure garanti. La règle terrain : SAP_ALL en prod, c’est jamais, même temporairement.
2. Profil non régénéré après modif
Tu modifies un rôle dans PFCG, tu sauves, tu affectes à un utilisateur, et l’utilisateur n’a toujours pas l’accès. Cause : le profil n’a pas été régénéré (cadenas). Le rôle stocke les valeurs en base, mais c’est le profil qui est chargé à la connexion. Sans régénération, les modifs ne sont pas effectives. Symptôme : SU53 de l’utilisateur affiche un message d’autorisation manquante alors que le rôle a l’air bon dans PFCG.
3. Valeurs étoile (*) partout
Quand un consultant ne sait pas quelle valeur mettre sur un champ d’autorisation, la tentation est de mettre * (toutes valeurs). Multiplier les étoiles transforme le rôle en pseudo-SAP_ALL sur le périmètre concerné. Sur 50 utilisateurs avec ce rôle, ça veut dire que tous peuvent tout faire sur ce périmètre. Audit failure.
4. Conflits de séparation des tâches (SoD)
La séparation des tâches (Segregation of Duties) interdit qu’un même utilisateur cumule deux fonctions incompatibles : créer un fournisseur et valider une facture, créer un article et passer une commande d’achat, valider un OF et le réceptionner. Le risque c’est la fraude ou l’erreur non détectée. Sur les projets matures, un audit SoD est lancé chaque année avec des outils dédiés (SAP GRC ou équivalents tiers). Sur les projets jeunes, c’est souvent oublié et découvert tard.
Comment diagnostiquer une erreur d’autorisation en 3 étapes
Quand un utilisateur appelle en disant « SAP me dit que je n’ai pas l’autorisation », voici la procédure terrain qui résout la plupart des cas en moins de 10 minutes :
-
1SU53 immédiatement après l’erreur
Demande à l’utilisateur de lancer
/n SU53dans la commande de transaction juste après avoir vu le message d’erreur. Surtout pas plus tard, le buffer mémoire est volatile. SU53 affiche l’objet d’autorisation manquant et la valeur attendue, en clair. -
2SUIM pour identifier qui a déjà l’objet
Si tu veux savoir qui dans l’organisation a déjà cet objet d’autorisation avec la bonne valeur, lance
SUIM> Users by complex sélection criteria. Tu trouves rapidement un utilisateur de référence dont tu peux copier le rôle. -
3ST01 pour les cas avancés
Quand SU53 ne dit rien (ou dit des choses incohérentes) et que tu suspectes un check d’autorisation custom dans un Z program, lance
ST01en mode trace authorization. Active la trace, fais répéter le parcours utilisateur, désactive la trace, lis le résultat. Niveau intermédiaire-avancé : pas pour le helpdesk N1.


Ce qu’il faut faire face à une erreur d’autorisation
Quand un utilisateur rencontre une erreur d’autorisation, deux réflexes sont contre-productifs : ouvrir le code en debug pour voir « pourquoi ça bloque », ou demander temporairement SAP_ALL. Les deux exposent l’organisation à des risques SOX, GDPR et ISO 27001, et laissent une trace systématiquement remontée par tout audit interne ou externe.
La méthode standard côté équipe Basis tient en quatre étapes :
-
1Reproduire l’erreur côté utilisateur
Note la transaction lancée et le code retour exact affiché dans la status bar SAP GUI. Sans reproduction propre, le diagnostic SU53 sera vide ou pollué par un check antérieur.
-
2Tracer l’objet d’autorisation manquant via SU53
Lance
SU53immédiatement après l’erreur. Tu obtiens le dernier check qui a échoué, avec l’objet (par exempleM_BEST_BSA), le champ et la valeur attendue. C’est la base factuelle de toute la suite. -
3Identifier le rôle responsable via SUIM
Ouvre
SUIM> Rôles > avec valeurs d’autorisation et filtre sur l’objet remonté par SU53. Cela donne le ou les rôles candidats à amender. Si l’objet d’autorisation touche un système de classification SAP, la liste peut être large : filtre aussi sur l’utilisateur pour cibler. -
4Décider de l’amendement avec l’équipe métier
Faut-il vraiment ajouter cette autorisation à ce rôle, et donc à toutes les personnes qui l’ont ? Ou créer un dérivé pour ne l’ouvrir qu’à un sous-périmètre ? La réponse détermine si on patch le rôle existant via
PFCG, ou si on en crée un nouveau.
Le debug du code applicatif pour faire « passer » un check d’autorisation n’est jamais une réponse appropriée en production : ça contourne la séparation des tâches, masque le besoin réel, et laisse une trace dans les transports et les logs.
Il existe des techniques de bypass d’autorisation via le debugger SAP (modification de la variable SY-SUBRC à 0). Ces techniques sont parfois enseignées comme “astuce”. En réalité elles sont interdites en production sans mandat formel : elles laissent une trace dans ST22 ou SM21, elles violent la séparation des tâches, et elles peuvent te faire perdre ton accréditation utilisateur si l’audit les détecte. Si tu es bloqué, demande l’autorisation. Ne contourne pas.
Le système d’autorisations SAP est l’un de ces sujets qu’on apprend tôt et qu’on continue à découvrir pendant 10 ans. Les concepts de base (rôle simple, rôle composite, profil, objet d’autorisation, valeurs) suffisent au quotidien. Les pièges (SAP_ALL, profil non régénéré, étoiles, SoD) suffisent à reconnaître un projet qui dérape avant qu’il soit trop tard. Et les trois transactions PFCG, SU01, SU53 couvrent l’essentiel des opérations courantes. Pour aller plus loin sur la création concrète des rôles, la documentation SAP officielle FR sur la création des rôles d’autorisation détaille les options par contexte.
Questions fréquentes
C’est quoi un rôle SAP ?
Un rôle SAP est l’objet qui détermine ce qu’un utilisateur peut faire dans le système. Il combine un menu (les transactions accessibles) et un ensemble d’objets d’autorisation avec leurs valeurs (les actions précises autorisées sur chaque transaction). Le rôle se crée dans PFCG et s’affecte à un utilisateur via SU01.
Quelle est la différence entre un rôle simple et un rôle composite SAP ?
Un rôle simple porte un menu et des objets d’autorisation pour une fonction métier précise (par exemple validation d’ordre de fabrication). Un rôle composite est un regroupement de plusieurs rôles simples par persona métier (par exemple responsable production), sans porter d’autorisations en propre. On affecte le composite à l’utilisateur, et SAP combine les autorisations des rôles simples qu’il contient.
À quoi sert la transaction PFCG ?
PFCG (Profile Generator) sert à créer et modifier les rôles SAP. Sept onglets organisent le travail : Description (métadonnées), Menu (transactions accessibles), Authorizations (objets d’autorisation et valeurs), User (affectation aux utilisateurs), MiniApps (workplaces, peu utilisés en S/4HANA), Personnalisation (paramètres user) et Workflow (intégration approbation). Les quatre premiers concentrent l’usage quotidien. Toute modification de rôle doit être suivie d’une régénération du profil pour devenir effective.
Comment savoir pourquoi un utilisateur n’a pas accès à une transaction SAP ?
Demande à l’utilisateur de lancer la transaction SU53 immédiatement après avoir vu le message d’erreur d’autorisation. SU53 affiche l’objet d’autorisation manquant et la valeur attendue. Le buffer est volatile, donc à exécuter dans la même session juste après l’erreur. Pour les cas plus complexes, ST01 en mode trace authorization permet de capturer tous les checks d’autorisation d’un parcours utilisateur.
Qu’est-ce que la transaction SU53 ?
SU53 est la transaction qui affiche le dernier check d’autorisation échoué pour l’utilisateur courant. Elle indique l’objet d’autorisation impliqué, le champ qui a bloqué, et la valeur que l’utilisateur aurait dû avoir. C’est l’outil de diagnostic numéro 1 quand un utilisateur est bloqué. À lancer juste après l’erreur, sinon le buffer mémoire est perdu.
Pourquoi SAP_ALL est-il interdit en production ?
SAP_ALL est le profil qui donne tous les droits sur toutes les transactions SAP. En production, l’affecter à un utilisateur métier signifie qu’il peut tout faire, y compris modifier les paramètres financiers, supprimer des données ou contourner les processus de validation. Audit failure quasi-garanti. Les seules exceptions tolérées : un compte d’urgence type firefighter, tracé et limité dans le temps, avec workflow d’activation explicite.
Qu’est-ce que la SoD (segregation of duties) en SAP ?
La séparation des tâches interdit qu’un même utilisateur cumule deux fonctions métier incompatibles, comme créer un fournisseur et valider sa facture, ou créer un article et passer la commande d’achat. L’objectif est de prévenir la fraude et l’erreur non détectée. Sur les projets matures, un audit SoD est lancé annuellement avec SAP GRC ou un outil tiers. Sur les projets jeunes, c’est souvent oublié et découvert tard, lors d’un audit externe.