abap:autorisations
This is an old revision of the document!
Table of Contents
Autorisations (ABAP)
Transactions utiles
- SU01 : Gestion des utilisateurs (notamment onglets Rôles et Profils)
- ST01 : Trace des autorisations
- PFCG : Gestion des rôles
- SU21 : Liste des classes d'objet d'autorisations
- SU24 : Objets d'autorisation
- SU53 : Last authorization check log (voir ce qui manque lors d'un refus d'autorisation)
- SE54 : Génération dialogue de gestion de tables > accès table/vue > Groupes d'autorisation
Classes d'objets & objets d'autorisation classiques
- BC_A/S_TABU_DIS : Gestion de tables (via outils standard tels que SM30)
- S_DEVELOP : ABAP Workbench
- S_TCODE : Contrôle du code transaction lors lancement transaction
Authority check
Contrôle du code transaction
CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING tcode = sy-tcode EXCEPTIONS ok = 0 not_ok = 2 OTHERS = 3.
contrôle généraliste
Vérifier que le user à une autorisation sur un objet en particulier (quel qu'il soit).
AUTHORITY-CHECK OBJECT 'M_RECH_EKG' ID 'ACTVT' FIELD '02' "Display ID 'EKGRP' FIELD 'ZZ'. "Purchasing group IF SY-SUBRC = 0. " User has correct authority ENDIF.
Comment tester techniquement (en dev) les authors
- Créer un utilisateur dédié (su01, on peut copier un utilisateur existant pour aller vite)
- Vider ses rôles et profils (Certains rôles peuvent donner beaucoup de droits, notamment les rôles développeur…)
- Créer un rôle dédié avec :
- l'objet d'autorisation que l'on souhaite tester
- S_TCODE avec la valeur SE38
- S_DEVELOP avec l'ACTVT 16
- Affecter ce rôle à notre utilisateur dédié
- Votre programme, par exemple le programme de test suivant :
REPORT zdeu_test_authority_check . * Afficher AUTHORITY-CHECK OBJECT 'S_TABU_DIS' ID 'DICBERCLS' FIELD 'ZWM1' ID 'ACTVT' FIELD '03'. WRITE sy-subrc. * Modifier AUTHORITY-CHECK OBJECT 'S_TABU_DIS' ID 'DICBERCLS' FIELD 'ZWM1' ID 'ACTVT' FIELD '02'. WRITE sy-subrc.
- Tester le programme avec l'utilisateur dédié.
Démarche design autorisation
Cas d'usage : demande de mise en place d'une nouvelle (restriction d') autorisation.
- Commencer à tester en ajoutant la transaction à un profil de test.
- Si les critères que l'on recherche ne sont pas dispo, regarder les objets maintenus en SU24.
- Si toujours rien, il faudra faire de nouveaux objets d'autorisation.
abap/autorisations.1425568551.txt.gz · Last modified: 2015/03/05 16:15 by ginko