Was bewirken gelbe Berechtigungsfelder in SAP Rollen?

Autor: Tobias Harmes | 19. Juni 2019

16

Wenn beim Speichern oder der Generierung eine Warnung wegen offenen Berechtigungen kommt, dann gibt es in der Rolle noch gelbe Berechtigungsfelder. Doch gerade bei vorgefertigten Rollen hat man manchmal keine Freiheiten selbst nachzubessern. Welche Auswirkungen haben eigentlich gelbe Berechtigungsfelder auf die Berechtigungen des Benutzers?

Berechtigungsprüfungen müssen in der Regel über einen AUTHORITY-CHECK im Programm ausgelöst werden. Und die Frage nach dem Verhalten von gelben Rollen kann leider nur beantwortet werden, wenn man sich die jeweilige programmierte Prüfung ansieht. Nehmen wir mal folgende Rolle an:

DUMMY heißt egal

Hier ein Prüfung gegen das Berechtigungsobjekt S_USER_GRP beim dem das Feld Aktivität mit dem Schlüsselwort DUMMY geprüft wird. Was so viel bedeutet wie: “egal was im dem Feld steht, daran soll es nicht scheitern”.

REPORT Z_AUTHORITY_CHECK.

**********************************************************************
*** Berechtigungsprüfung auf S_USER_GRP - Aktivität ist egal
**********************************************************************

AUTHORITY-CHECK OBJECT 'S_USER_GRP'
           ID 'CLASS' FIELD '*'
           ID 'ACTVT' DUMMY.

**********************************************************************
*** Auswertung des Ergebnisses
**********************************************************************
  IF sy-subrc <> 0.
      MESSAGE 'Keine Berechtigung für diese Abteilung' TYPE 'E'.
  ENDIF.

Wenn die Rolle nun wie im Beispiel für Aktivität einen offenen Wert hat, sprich gelbes Feld enthält, dann wäre diese Berechtigungsprüfung trotzdem erfolgreich (SY-SUBRC = 0).

Sternchen heißt “ich darf nicht leer sein”

Anders verhält es sich, wenn der Wert “*” abgefragt wird, was stellvertretend für jeden Wert steht – aber eben nicht für leere Felder.

REPORT Z_AUTHORITY_CHECK.

**********************************************************************
*** Berechtigungsprüfung auf S_USER_GRP - Aktivität darf alles, nur nicht leer sein
**********************************************************************

AUTHORITY-CHECK OBJECT 'S_USER_GRP'
           ID 'CLASS' FIELD '*'
           ID 'ACTVT' FIELD '03'.

**********************************************************************
*** Auswertung des Ergebnisses
**********************************************************************
  IF sy-subrc <> 0.
      MESSAGE 'Keine Berechtigung für diese Abteilung' TYPE 'E'.
  ENDIF.

Dann muss in der Rolle irgendein Wert für Aktivität eingetragen werden, ein gelbes Feld würde dann nicht genügen um die Prüfung auf “*” zu überstehen. Für die Beispielrolle von oben würde deshalb dann hier auch ein Fehler erzeugt werden. Das Ergebnis wäre ein Returncode 4.

Gelb ist nicht grün

E-Book SAP Basis

Mehr als 100 ausgewählte SAP Basis Fachartikel von rz10.de seit 2011! Auf über 900 Seiten Tipps, Tricks und Tutorials mit Screenshots aus echten SAP-Systemen.

Das zeigt: gelbe Berechtigungsfelder können funktionieren, müssen aber nicht. Glücklicherweise kann man in den Transaktionen STAUTHTRACE und Co. direkt in den Sourcecode springen und sich im Zweifelsfall ansehen, ob so ein Fall eventuell vorliegt. Die beste Vorgehensweise ist sowieso gelbe Felder wo es geht zu vermeiden.

 

Sie benötigen Unterstützung in diesem Thema? Informieren Sie sich über unsere Leistungen im Bereich SAP- und IT-Security-Beratung oder stellen kostenlos und unverbindlich eine Anfrage.


Artikel war hilfreichArtikel empfehlen


Dieser Beitrag ist auch als Download verfügbar:
Tobias Harmes

Autor

Tobias Harmes

Experte, Speaker, Herausgeber rz10.de

Fragen? Anmerkungen?
Kontaktieren Sie mich

Kommentar verfassen


Unsere Top-Downloads

Kontaktieren Sie uns!
Renate Burg Kundenservice