SE01: Transportauftragsfreigabe beschränken

Wie kann man in der SE01 die Freigabe von Transportaufträgen beschränken?

Mit der Transaktion SE01 kann man bekanntlich einen Transportauftrag unter anderem freigeben. Nun kann die Organisation des Transportwesens, diese Freigabe beschränken. Zur Berechtigung ist normaler Weise das Objekt S_TRANSPRT zuständig. Doch es gibt hier in der ECC 6.0 eine Besonderheit!

Stellen Sie sich vor innerhalb Ihrer Organisation, sollen die Entwickler in einem Transportauftrag zwar die Aufgabe freigeben können, nicht aber den ganzen Auftrag. Die Auftragsfreigabe ist einer Prüfstelle übergeben, die vielleicht erst einen Code Review durchführt, bevor der Transport in das Q-System importiert werden darf. Also betrachten Sie sich das Berechtigungsobjekt S_TRANSPRT z.B. mit der SU21.

S_TRANSPRT

Ein Blick in die Dokumentation des Berechtigungsobjektes zeigt, es besteht aus 2 Feldern: TTYPE [Auftragstyp (Change & Transport System)] und ACTVT.

TTYPE kann folgende Werte annehmen:

  • CLCP: Mandantentransporte
  • CUST: Customizing-Aufträge
  • DTRA: Workbench-Aufträge
  • MOVE: Umzugstransporte
  • PATC: Vorabkorrekturen und Auslieferungen
  • PIEC: Stücklisten
  • TASK: Aufgaben (Reparatur oder Korrektur)
  • TRAN: Transporte von Kopien

Als Aktivitäten kann ausgewählt werden:

  • 01: Hinzufügen oder Erzeugen
  • 02: Ändern
  • 03: Anzeigen
  • 05: Sperren
  • 06: Löschen
  • 23: Ändern im Objektlisteneditor
  • 43: Freigeben
  • 50: Quellmandant eines Auftrags ändern
  • 60: Importieren
  • 65: Reorganisieren
  • 75: Freigabe fremder Aufträge
  • 78: Auftrag in Transportantrag eintragen
  • 90: Inhaber ändern

Sie sehen sofort es geht einmal um die Berechtigung der Freigabe von Aufgaben und um die Freigabe von Aufträgen.
Also würden Sie jetzt behaupten, dass sie mit der Zuweisung
S_TRANSPRT ACTVT=43; TTYPE=TASK
innerhalb einer Entwicklerrolle, diese auf die Freigabe von Aufgaben (TASK) beschränken können.
Die oben erwähnte Prüfstelle bekäme dann z.b.
S_TRANSPRT ACTVT=43; TTYPE=DTRA, CUST,PIEC, TASK

Richtig?

 

Wenn Sie sich jetzt die Rolle des Entwicklers gehen und eine Freigabe des Auftrags versuchen, haben Sie folgendes Ergebnis:

 

ES GEHT

 

Die Frage ist Warum?

 

Berechtigungstrace der SE01

Machen wir also einen ST01-Berechtigungstrace

 
|S_TRANSPRT RC=4 |TTYPE=DTRA;ACTVT=43;type=TR;name=SE01;
 

Sie erkennen, dass zwar ein S_TRANSPRT mit RC=04 beantwortet wird, dass das Programm aber weiter macht!

Würden Sie vom Entwickler jetzt eine SU53 verlangen, würde Sie das auch verblüffen ! Dort würden Sie den Fehler auf S_TRANSPRT sehen, und denken: „Das ist doch richtig, warum wird aber trotzdem freigegeben?“.

Bemerkung:

Sie sehen, wie Sie die SU53 hier fehl leiten kann. Beim Hersteller hat man das wohl auch erkannt und die SU53 neuerdings erweitert. Es gibt einen Patch, mit dem Sie die letzten 20 oder mehr Berechtigungsfehler in der SU53 anzeigen können. Tobias Harmes hat darüber in www.rz10.de link berichtet.
Mit der neuen Funktion ist auch endlich in der SU53 eingerichtet, dass als Zeitstempel nicht der Aufruf der Transaktion sondern der Fehlerzeitpunkt angezeigt wird. Es lohnt sich also diesen Patch einzuspielen. Es gibt auch einen Hinweis 1671117 dazu, auch SNOTE wäre einsetzbar, doch leider mit enormen Zusatzeinstellungen, so dass man wohl besser den Patch einspielt 🙁

 

Betrachten Sie sich aber den ST01-Trace etwas genauer, dann erhalten Sie folgendes

|S_TRANSPRT RC=4 |TTYPE=DTRA;ACTVT=43;type=TR;name=SE01;
|S_SYS_RWBO RC=0 |DOMAIN=‘ ‚;DESTSYS=D11;TTYPE=DTRA;ACTVT=43;type=TR;name=SE01;
|S_TRANSPRT RC=0 |TTYPE= ;ACTVT=03;type=TR;name=SE01;

Nach S_TRANSPRT wird das Objekt S_SYS_RWBO aufgerufen. Dies geht bei dem hier aufgezeigten Trace mit RC=0 in Ordnung. Doch schaut man sich in der SU21 das Objekt an, so wird man nur über den Text „System specific authority object for WBO proxy funktions“ und den Berechtigungsfeldern etwas klüger, denn das Objekt hat leider keine Dokumentation.:-(

 

S_SYS_RWBO

  • DOMAIN: TMS: Transportdomäne
  • DESTSYS:Logisches System
  • TTYPE: Auftragstyp (Change & Transport System)
  • ACTVT: Aktivität

Die Aktivitäten sind :

  • 01: Hinzufügen oder Erzeugen
  • 02: Ändern
  • 03: Anzeigen
  • 05: Sperren
  • 06: Löschen
  • 23: Pflegen
  • 43: Freigeben
  • 50: Verschieben
  • 60: Importieren
  • 65: Reorganisieren
  • 75: Abnehmen
  • 78: Zuordnen
  • 90: Übernehmen

fast die gleichen sind wie bei S_TRANSPRT.

 

Eine genauere Untersuchung aller Berechtigungen, die der getestete Benutzer hat zeigt (SU56), dass er in einer anderen Rolle S_SYS_RWBO mit allen Berechtigungen (*) hat. Deshalb geht die Prüfung des Objekts mit RC=0 aus.

Lösung

Also kann man festhalten, dass wir mit der Bewertung
S_SYS_RWBO ACTVT= 01,02,05,06,23,50,60,65,75,78,90 DOMAIN=*;DESTSYS=*;TTYPE=*
und
S_SYS_RWBO ACTVT= 43 DOMAIN=*;DESTSYS=*;TTYPE=TASK

die Transportfreigabe einschränken kann.

Sie sehen hier wie wichtig die Transaktionen SU53, SU56 und ST01 bei der Fehlersuche sein können. Hier lag der Fehler in einer anderen dem Benutzer zugeordneten Rolle, die dem Benutzer ein Recht gab, dass er so eigentlich gar nicht haben durfte.

4 Responses to “SE01: Transportauftragsfreigabe beschränken”

  1. Ein sehr wichtiges und unterschätztes Thema in der Systemsicherheit!

  2. Hallo, sehr guter Hinweis , es wird aber mittlerweile selbst von der SAP Seite darauf hingewiesen das es mit dem Berechtigungsobjekt S_SYS_RWBO eine Besonderheit hat .http://help.sap.com/saphelp_nw70ehp1/helpdata/de/69/78ff8f8223429da34482c38e18dbcb/frameset.htm
    Achtung

    Die systemspezifischen Berechtigungsobjekte S_CTS_SADM und , S_SYS_RWBO stellen Erweiterungen der nicht systemspezifischen Berechtigungsobjekte S_CTS_ADMI, und S_TRANSPRT dar. Aus Kompatibilitätsgründen werden die systemspezifischen Berechtigungen nur dann wirksam, wenn dem Benutzer nicht die erforderlichen Rechte aus S_CTS_ADMI oder S_TRANSPRT vergeben wurden. Die Anzeigeberechtigung aus S_TRANSPRT muss jedoch immer vergeben werden.
    Na ja das sieht mal wieder so ne Sache, wo man sich dann schon fragt, ob sich jemand über die Auswirkung dieses Systemverhaltens wirklich Gedanken gemacht hat .
    Schönen Tag noch und weiter so , der Blog ist sehr gut .

  3. Danke Herr Steiger,
    ob und wer sich da Gedanken gemacht hat, kann ich auch nicht sagen. Ich war damals nur so überrascht, als ich das Coding sah! Daraus folgt eigentlich, dass man bei jedem Upgrade eigentlich alle seine
    Berechtigungen anschauen, bzw. das Verhalten der Benutzer analysieren muss. Zu der Zeit, als ich den Artikel verfasste, war das Objekt S_SYS_RWBO noch undokumentiert. Deshalb auch vielen Dank für den
    Link und die Anmerkung. Man kann doch nicht jeden Tag mit dem SAP-Help unter dem Arm rumlaufen 🙂

  4. Ja sehr interessante Anmerkung von Herrn Steiger und ein guter Artikel von Herrn Klüppelberg. Das ist auf jeden Fall eine der merkwürdigeren Erscheinungen bei SAP 😉

    Viele Grüße

Schreiben Sie bitte einen Kommentar





SAP Berechtigungen, -Konzepte, -Technik | System Beratung Bernd Klüppelberg