Transaktionsarten und die Automatisierung von Abfragen im SAP-Benutzerinformationssystem (SUIM) mit der Platform

Eine der häufigsten manuellen und sich wiederholenden Aufgaben des SAP-Sicherheitsadministrators ist die Abfrage des SAP-Benutzerinformationssystems (mithilfe des Transaktionscodes SUIM). Der SAP-Sicherheitsadministrator nutzt SUIM in SAP-Systemen manuell, wobei er jeweils ein SAP-System bzw. einen Mandanten nach dem anderen durchgeht, um diese Daten für den operativen Einsatz zu erfassen und die Ergebnisse intern oder extern an Compliance- oder Audit-Teams zu melden. Dies kann ein zeitaufwändiger Prozess sein.
Die Lösung für dieses häufige Problem bei der Arbeitseffizienz liegt in der Fähigkeit PlatformOnapsis Platform, viele der grundlegenden Abfragen zu automatisieren, die sich wiederholen – dieselbe Abfrage Woche für Woche oder Monat für Monat und dieselbe Abfrage, die separat auf mehreren SAP-Systemen durchgeführt wird. Bei Onapsis nennen wir dies „Automate the Audit“. Durch die Automatisierung dieser Prozesse gewinnen Sie an Effizienz und können sich auf andere wichtige Projekte konzentrieren.
DieFunktion fürbenutzerdefinierte Module Platform Onapsis Platformermöglicht es einem Administrator, Scan-Jobs für SAP-Berechtigungen, die Aufgabentrennung, Parametereinstellungen und Werte in Schlüsseltabellen zu erstellen. Diese Funktion entspricht in etwa den Abfragen, die ein SAP-Sicherheitsadministrator manuell über den Transaktionscode SUIM durchführen würde.
Diese benutzerdefinierten Module werden in Richtlinien zusammengefasst und anschließend als Scan-Jobs in einem einzelnen SAP-System oder in mehreren SAP-Systemen ausgeführt. Die Scan-Ziele werden durch die Platform oder Tags bestimmt, die dem Scan-Job zugeordnet sind. Der Scan-Job kann auch so geplant werden, dass er automatisch ausgeführt wird, beispielsweise täglich, wöchentlich oder monatlich.
Ein Beispiel für einen Scan-Job ist eine Berechtigungsprüfung, mit der die Zugriffsrechte auf bestimmte Funktionen überprüft werden:
- Wer ist berechtigt, ausschließlich Hintergrundjobs zu überwachen, die möglicherweise auf einem SAP-System laufen?
- Wer ist berechtigt, Hintergrundjobs zu ändern (freizugeben, zu starten, zu unterbrechen, abzubrechen)?
Im Rahmen dieser Analyse könnte es für Platform der Platform von Interesse sein, zu erfahren, welche Benutzer Zugriff auf den SAP-Transaktionscode (T-Code) SM37 haben. Mit diesem T-Code lassen sich Hintergrundjobs überwachen, die möglicherweise auf Ihrem SAP-System ausgeführt werden.
T-Code-Berechtigungen werden SAP-Benutzern über das Berechtigungsobjekt S_TCODE erteilt.
Es gibt ein weiteres Berechtigungsobjekt, das üblicherweise mit SM37 verwendet wird: das Berechtigungsobjekt S_BTCH_ADM. S_BTCH_ADM legt fest, in welchem Umfang der Benutzer Zugriff auf die Anzeige oder Verwaltung eines Hintergrundjobs hat. Wenn das Feld BTCADMIN den Wert „Y“ hat, ist der Benutzer berechtigt, alle Vorgänge an Jobs auf dem Asset (SID) auszuführen.
Da dies als sensibler Zugriff angesehen werden kann, kann Platform ein benutzerdefiniertes Modul konfigurieren, um zu überprüfen, welche SAP-Benutzer BEIDES erfüllen:
- Aufruf des Transaktionscodes SM37
- Administratorberechtigungen für Batch-Jobs
Die Abfrage des benutzerdefinierten Moduls könnte in der SQL-Syntax des Platform Scan-Moduls der Onapsis Platform etwa wie folgt aussehen:
SELECT USERS FROM AUTHORIZATIONS WHERE ( S_TCODE[TCD IS ‘SM37’] AND S_BTCH_ADM[BTCADMIN IS ‘Y’)

Um Ihnen noch ein paar weitere Anregungen zu geben: Vielleicht wissen Sie ja, dass es zwei weitere Berechtigungsobjekte gibt, die für die Überprüfung der Berechtigungen der Batch-Job-Administratoren von Bedeutung sein könnten:
S_BTCH_JOB
S_BTCH_NAM
Eine weitere Abfrage für ein benutzerdefiniertes Modul könnte also die Berechtigungskombinationen für den Transaktionscode sowie die Berechtigungsobjekte S_BTCH_JOB und S_BTCH_NAM untersuchen. Die Abfragesyntax könnte in der Platform etwa wie folgt aussehen:
SELECT USERS FROM AUTHORIZATIONS WHERE ( S_TCODE[TCD IS ‘SM37’] AND
S_BTCH_JOB[JOBACTION IN (‘DELE’,’RELE’,’PLAN’)] UND S_BTCH_NAM[BTCUNAME IST ‘*’] )

Lassen Sie uns nun mit einer etwas fortgeschritteneren Analyse noch tiefer in die Materie einsteigen und uns die möglichen Ergebnisse einer solchen Abfrage ansehen.
Es besteht die Möglichkeit, dass Ihr benutzerdefiniertes Scan-Modul Ergebnisse für Personen zurückgibt, die über eine Berechtigung für SM37 oder SM37DISP verfügen. SM37DISP ist ein separater Transaktionscode mit ähnlichen, jedoch eingeschränkten Funktionen wie der Transaktionscode SM37.
Es könnte die Frage aufkommen, ob es sich bei diesem SM37DISP um ein „falsches Positiv“ handelt, da es nicht in der Abfrage enthalten war. Es könnte sich die Frage stellen, ob die Abfrage, die SM37DISP zurückgibt, auf einem „CONTAINS“- oder „STARTS_WITH“-Operator basiert, anstatt explizit auf einem „EQUALS“-Operator.
Um dies als möglichen Fehlalarm zu untersuchen, habe ich ein ähnliches Testszenario eingerichtet, um die Transaktionscodes SU01 und SU01D zu überprüfen. Ich habe meinen Testbenutzern verschiedene Kombinationen von Berechtigungen zugewiesen, um Folgendes zu gewähren:
- Nur SU01
- Nur SU01D
- SOWOHL SU01 als auch SU01D
- WEDER SU01 NOCH SU01D
Ich habe ein ähnliches Testszenario mit einer weiteren Gruppe von Testbenutzern eingerichtet, um Folgendes zu ermöglichen:
- Nur SM37
- Nur SM37DISP
- SOWOHL SM37 als auch SM37DISP
- WEDER SM37 NOCH SM37DISP
Interessanterweise unterschieden sich bei den Tests für diese beiden verschiedenen Paare die Testergebnisse für SU01/SU01D von denen für das Paar SM37/SM37DISP. Mir ist insbesondere aufgefallen, dass Abfragen, die nur nach SU01 suchten, durchweg NICHT den Transaktionscode SU01D zurückgaben. Benutzerdefinierte Abfragen, die hingegen nur nach SM37 suchten, lieferten durchweg sowohl SM37 als auch SM37DISP als Ergebnis.
Als Nächstes habe ich überprüft, ob es in der Logik der Platform etwas gab, Platform diese Abweichung verursachen könnte. Die Platform vom Onapsis-Entwicklungsteam für einwandfrei Platform .
Nachdem diese Analysephasen abgeschlossen waren, konnte ich zu dem Schluss kommen, dass die Syntax bzw. die Programmierung im benutzerdefinierten Modul (STARTS WITH oder CONTAINS im Vergleich zu EQUALS) NICHT die eigentliche Ursache war.
Anschließend hat sich das Entwicklerteam von Onapsis etwas eingehender mit der Sache befasst, um herauszufinden, warum dieser SM37DISP-Transaktionscode angezeigt wurde.
Die Antwort liegt tatsächlich in einem anderen Faktor begründet, der damit zusammenhängt, wie SAP die TYPEN von Transaktionscodes in einem SAP-System definiert. Unter Anleitung des Onapsis-Entwicklerteams habe ich mir die Transaktions-TYPEN dieser vier Transaktionscodes genauer angesehen.
Wenn Sie über Erfahrungen oder eine Ausbildung im Bereich SAP-Sicherheit/Berechtigungen verfügen, ist Ihnen das Thema „Varianten“ von Transaktionscodes wahrscheinlich bereits begegnet, auch wenn es vielleicht kein zentraler Bestandteil Ihrer Ausbildung oder Ihres Arbeitsschwerpunkts war. In diesem Fall ist es jedoch wichtig, sich mit diesem Thema auseinanderzusetzen. Im weiteren Verlauf werde ich einige Screenshots einfügen. Bei der Verwaltung von Transaktionscodes führt der SAP-Sicherheitsadministrator den Transaktionscode SE93 aus, um die Transaktionen/Transaktionscodes zu erstellen, zu ändern oder anzuzeigen, die in SAP-ABAP-basierten Systemen verwendet werden.
Beim Anlegen eines Transaktionscodes wird dem Administrator zunächst ein Bildschirm angezeigt, auf dem er den Transaktionscode-Typ festlegen kann. Wenn Sie sich SM37 und SM37DISP in SE93 ansehen, werden Sie feststellen, dass SM37DISP eine „Transaktionsvariante“ von SM37 ist. Unter der Haube von ABAP handelt es sich also immer noch um die Transaktion SM37, wie hier beim Ausführen von SE93 zu sehen ist.
HINWEIS: SAP verfügt sowohl über ein Feld „Transaktionscode“ als auch über ein Feld „Transaktion“, und für diesen Transaktionscode-Typ gibt es zudem ein Feld „Transaktionsvariante“. Wir bewegen uns hier also auf einem schmalen Grat, was die Unterscheidung der Details angeht.

Wenn wir einen Demo-/neuen Transaktionscode (z. B. ZTEST) anlegen, sehen wir FÜNF Arten von Transaktionen, die wir durchführen können:
- Dialog
- Bericht
- OO
- Variante
- Parameter
Hier finden Sie die T-Code-Typen aus dem Dialogfenster des T-Codes SE93-Create

Anhand der Analyse in SE93 lässt sich feststellen, dass SU01D KEINE Variante von SU01 ist. Es handelt sich um einen eigenständigen Transaktionscode vom Typ „Bericht“.


Und wie geht es nun weiter?
- Bitte beachten Sie, dass die Platform nur die Transaktion Platform , sondern auch die zu dieser Transaktion gehörenden Varianten (z. B. SM37DISP) und die zugehörigen Parametertransaktionen (z. B. OABA).
- SM37DIS ist eine Transaktionsvariante von SM37
- OABA ist eine Parametertransaktion von SM37
- Wenn im Bericht ein Transaktionscode auftaucht, den Sie nicht erwartet haben, überprüfen Sie den Transaktionscode-Typ über SE93
Um auf diese Kernfrage zurückzukommen: War es ein „falsches Positiv“, über SM37DISP zu berichten? Technisch gesehen nicht, aber die T-Code-Variante wird in eine Spalte eingetragen, die alle T-Code-„Typen“ in derselben Spalte anzeigt, ohne nach T-Code-Typen zu unterscheiden, was möglicherweise zu Verwirrung geführt hat. Sobald wir wissen, dass die Transaktionscode-Spalte Transaktionen sowie deren Variantentransaktionen und deren Parametertransaktionen in derselben Spalte enthält, können wir verstehen, warum ein Bericht für SM37 in der Ausgabe auch SM37DISP und OABA enthält.
Umgekehrt sind Berichtstransaktionen eigenständig und nicht an eine Ursprungstransaktion „gebunden“, auch wenn sie ähnlich benannt sein mögen. Man beachte, dass SU01D eigenständig ist und keine Varianten- oder Parametertransaktion von SU01 darstellt.
Wenn Sie diese Scans in Ihrer SAP-Umgebung ausprobieren möchten, wenden Sie sich bitte an Ihren Onapsis-Ansprechpartner. Wir helfen Ihnen gerne dabei, solche Szenarien zu untersuchen. Die Platform zahlreiche Analyse- und Bewertungsfunktionen, die Ihnen Einblicke liefern, mit denen Sie die Sicherheit Ihrer SAP-Umgebung gewährleisten können. Lassen Sie uns gemeinsam daran arbeiten, Ihre geschäftskritischen Anwendungen, die Ihr Unternehmen am Laufen halten, zu schützen und die Einhaltung gesetzlicher Vorschriften sicherzustellen.

