Berechtigung SAP_ALL einfach erhalten

In diesem Artikel zeige ich Dir, wie Du einfach und schnell SAP_ALL bekommst, wenn Du eine Berechtigung für Deinen SAP-Benutzer hast.

Mit SAP_ALL hast Du alle Berechtigungen im SAP-System und kannst alle notwendigen Tätigkeiten ausführen. Besonders SAP-Consultants lieben diese Transaktion, da sie ohne Einschränkungen im SAP-System arbeiten können. Es ist kein Abstimmungsaufwand bezüglich der Berechtigungen notwendig und man kann sicher sein, dass die Anpassungen keine Berechtigungsprobleme haben werden.

Ich möchte mit diesem Artikel vor allem Aufmerksamkeit auf diese riskante Berechtigung, das Vorgehen und die Auswirkungen davon eingehen. Dadurch soll man erkennen und sehen, dass man stets vorsichtig mit Berechtigungen umgehen sollte und ein fundiertes und durchdachtes Berechtigungskonzept erstellen und pflegen sollte.

Was ist SAP_ALL?

SAP_ALL ist ein Berechtigungsprofil in SAP ERP bzw. SAP S/4HANA. Das Sammelprofil SAP_ALL gewährt uneingeschränkten Zugriff auf alle Transaktionen und Programme des SAP-Systems. Es enthält Berechtigungen für nahezu alle Funktionen und Aktionen, die ein SAP-Benutzer im SAP-System ausführen kann. Das Profil SAP_ALL verfügt über eine „Sternchen“-Berechtigung (*), also eine Vollberechtigung.

Profil SAP_ALL

Das Berechtigungsprofil SAP_ALL kann man in der Benutzerverwaltung (Transaktion SU01 oder SU10) in der Registerkarte „Profile“ hinzufügen. Nachdem das Profil hinzugefügt wurde, darf dieser SAP-Benutzer ohne Einschränkungen Tätigkeiten im SAP-System durchführen.

Benutzer SAP_ALL

SAP_ALL einfach erhalten

Wie im obigen Abschnitt erwähnt, muss das Profil SAP_ALL einem SAP-Benutzer in der Benutzerverwaltung (Transaktion SU01 oder SU10) hinzugefügt werden, damit dieser SAP-Benutzer das Profil erhält. Wenn der Benutzer keine Berechtigungen für die Benutzerverwaltung hat, kann er das Profil nicht hinzufügen. Oder doch? Es gibt eine Möglichkeit, wie der SAP-Benutzer SAP_ALL selbstständig erhält, ohne Berechtigungen für die Transaktionen SU01 oder SU10 zu haben. Dazu benötigt der SAP-Benutzer das Berechtigungsobjekt S_DEVELOP in der Aktivität 02 (Ändern). Diese Ausprägung reicht aus, damit er im Debugger selbstständig die notwendigen Zugriffe auf die Transaktion SU01 erhält und das Profil hinzufügen kann.

Berechtigungsobjekt S_DEVELOP - Aktivität 02 und 03

Insgesamt sind hierfür folgende Schritte notwendig:

  1. Debugger einschalten
  2. Transaktion SU01 aufrufen
  3. Breakpoints setzen
    • AUTHORITY-CHECK
    • AUTH_CHECK_TCODE
  4. Berechtigungsprüfung umgehen
  5. SAP-Benutzer ändern
  6. Berechtigungsprüfung umgehen
  7. Auf Registerkarte „Profile“ wechseln
  8. Berechtigungsprüfung umgehen
  9. Profil SAP_ALL hinzufügen
  10. Berechtigungsprüfung umgehen
  11. Änderungen sichern

Debugger einschalten

Zuerst schaltet man das Systemdebugging an, indem man im Kommandofeld „/hs“ (ohne Anführungszeichen) eingibt. Daraufhin erhält man in der Nachrichtenzeile die Nachricht „Debugging wurde eingeschaltet“. Wichtig hierbei ist, dass man das Systemdebugging anschaltet. Das einfache Debugging mit dem Befehl „/h“ ist nicht ausreichend.

Transaktion SU01 aufrufen

Als Nächstes rufst Du die Benutzerverwaltung auf, indem Du im Kommandofeld den Transaktionscode SU01 eingibst. Nach der Eingabe des Transaktionscodes startet der Debugger.

Breakpoints setzen

Im Debugger muss man nun Breakpoints bei Anweisungen setzen. Zuerst klickt man auf den Button „Breakpoint bei Befehl, Methoden… anlegen“ oder betätigt die F9-Taste. Anschließend gibt man im Reiter „ABAP Befehle“ die Anweisung „AUTHORITY-CHECK“ ein. Daraufhin wechselt man in den Reiter „Funktion“ und gibt den Funktionsbaustein AUTH_CHECK_TCODE ein. Die Eingaben bestätigt man mit der Enter-Taste. Daraufhin erhält man die Erfolgsmeldung „Breakpoint wurde gesetzt“.

Debugger - Breakpoint bei AUTHORITY-CHECK

Nun sind bei allen Anweisungen Breakpoints gesetzt und das Programm stoppt, sobald eine dieser Anweisungen erreicht werden. Bei den Anweisungen handelt es sich um Berechtigungsprüfungen. Diese werden im späteren Verlauf umgangen. Deshalb sind dort Breakpoints notwendig.

Berechtigungsprüfung umgehen

In den folgenden Schritten wechselt man zwischen dem Debugger und dem Dialog in der SAP GUI. Immer wenn man bei einem gestzten Breakpoint haltet bzw. die Berechtigungsprüfung über die Anweisung AUTHORITY-CHECK erreicht wird, kann man diese im Debugger überspringen. Zurvor sollte man prüfen, ob die Systemvariable SY-SUBRC den Wert 0 hat. Wenn dies nicht der Fall ist, soll man den Wert auf 0 ändern.

Genau das gilt es nun zu tun. Im Debugger kann man nun den Button „Weiter“ oder die F8-Taste benutzen. Daraufhin landet man im Breakpoint in dem Funktionsbaustein AUTH_CHECK_TCODE.

Breakpoint bei AUTH_CHECK_TCODE

Als Nächstes gilt es, diese Berechtigungsprüfungen zu umgehen. Dafür setzt Du den Cursors in die erste Zeile nach den Berechtigungsprüfungen oder an das Ende der Funktion und wählst mit der rechten Maustaste „Springe zur Anweisung“.

SY-SUBRC - Springe zur Anweisung

Als Nächstes kannst Du die restlichen Anweisungen ausführen, indem Du die F8-Taste bzw. den Weiter-Button betätigst. Obwohl der SAP-Benutzer für die Transaktion SU01 keine Berechtigungen hat, befindest Du Dich nun in der Benutzerpflege und hast die Berechtigungsprüfungen umgangen.

Dieses Vorgehen führst Du nun in den folgenden Schritten ebenfalls aus. Du gibst nun Deinen SAP-Benutzer im Eingabefeld „Benutzer“ ein und gehst in den Änderungsmodus, indem Du den Ändern-Button drückst oder die Tastenkombination „Umschalt + F6“ verwendest.

Daraufhin startet erneut der Debugger. Hier überspringst Du erneut die Berechtigungsprüfungen. Stelle vor allem sicher, dass die Systemvariable SY-SUBRC den Wert 0 hat. Wenn das nicht der Fall ist, muss man im Bereich „Variablen 1“ die Variable SY-SUBRC eingeben und den Wert auf 0 ändern.

SY-SUBRC auf 0 ändern

Anschließend kann man das Programm fortlaufen lassen, indem man den Weiter-Button oder die F8-Taste betätigt.

Du wirst Dich im Anschluss in der Benutzerpflege befinden. Im Tabreiter „Profile“ wird das Profil SAP_ALL hinzugefügt. Deshalb wechselst Du auf die Registerkarte „Profile“ und umgehst wie bisher die Berechtigungsprüfungen. Als Nächstes gibst Du in der ersten freien Zeile das Profil SAP_ALL ein und bestätigst die Eingabe mit der Enter-Taste. Erneut öffnet sich der Debugger, den Du wie bisher umgehst.

SAP_ALL Profil erhalten

Gegenmaßnahme

Im Berechtigungskonzept sollte daher sehr vorsichtig mit der kritischen Berechtigung S_DEVELOP umgegangen werden. Vor allem mit der Aktivität 02 (Ändern). Wenn man diese Ausprägung nicht vergibt, ist es nicht möglich, eigenständig das Profil SAP_ALL hinzuzufügen.

Du kannst diesen Artikel mit allen Verantwortlichen teilen, um auf das Problem aufmerksam zu machen und die Berechtigung restriktiv zu vergeben. Insbesondere im Produktivsystem ist dieser „Workaround“ von SAP_ALL unbedingt zu beachten.

Über den Autor

Andreas Geiger

Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.

Mehr zu ERP UP

ERP UP unterstützen

Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.

Schreibe einen Kommentar