User Tools

Site Tools


abap:autorisations

This is an old revision of the document!


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