Programmschutz und Tabellenschutz (Teil2)

In Teil 1 Programm- und Tabellenschutz (Teil1) haben wir die Lösung für den Tabellen und Programmschutz besprochen, wie er eigentlich vorgesehen ist. Nun wollen wir uns eine andere Lösung vornehmen, die weniger aufwendig ist, auch wenn es zunächst nicht so scheinen mag.

Diese Lösung wird von vielen Kunden eingesetzt, da sie auf alle Fälle besser händelbar ist.

Wir müssen die Programme und die Tabellen vor unberechtigtem Zugriff schützen. Nun, hinter allen Transaktionen im System liegen Programme, die man auch mit SA38 starten könnte. Schauen Sie sich die Transaktionstabelle TSTC an, so enthält sie den Transaktionscode, das zu startende Programm und das Anfangsdynpro für die Transaktion.

Genau das machen wir uns nun umgekehrt zu Nutze. Den Zugriff zu Transaktionen können wir leicht über das Berechtigungsobjekt S_TCODE schützen. Warum definieren wir nicht einfach für ein Programm eine neue Transaktion, schützen diese und verbieten den Aufruf der Transaktion SA38?

Ja, werden Sie einwenden, was ist dann mit den Varianten der Programme? Wenn Sie sich innerhalb so mancher Transaktion das Menü anschauen, werden Sie feststellen, dass es dort eine Auswahlfunktion für eine Variante gibt.

Wie erstelle ich eine Transaktion? Es gibt die Transaktion SE93, mit der man eine sog. Reporttransaktion erstellen kann. Mit der SE93 legt man nicht nur fest, wie die Transaktion heißt, sondern auch welches Programm sie rufen soll. Zusätzlich kann man hier schon gleich die Selektionsvariante festlegen.

Nun beschränken wir den Zugriff auf SA38, und starten das Programm SAP… mit der Transaktion Z….! FERTIG!

Wenn ich jetzt noch erwähne, dass man das gleiche auch für Tabellen machen kann, in dem man in der SE93 eine Transaktion definiert, die intern die SM30 mit der Tabelle xyz aufruft, dann ist diese Idee doch um einiges angenehmer, als 200.000 Berechtigungsgruppen zu planen, oder?

Nehmen wir beispielsweise den Report RFBILA00, der uns die Bilanz anzeigen kann. Schauen Sie in der Tabelle TRDIR den Eintrag für den RFBILA00 nach. Sie sehen dass das Feld SECU leer ist. Also kann jeder Benutzer, der die Startberechtigung von Programmen mt der Transaktion SA38 hat, auch den RFBILA00 aufrufen. Einen Schutz davor könnte ich nach Teil 1 damit erreichen, dass ich das Feld SECU = xxxx bewerte und diese Berechtigung aus dem Objekt S_PROGRAM P_GROUP = [alles außer xxxx] bewerte.

Mit obiger Lösungsidee, definieren Sie mit der SE93 die Transaktion Z_RFBILA00 (oder ähnlich) als Reporttransaktion, vergeben kein Berechtigungsobjekt und nehmen die Z_RFBILA00 in der Rolle in das Rollenmenü auf, generieren die Rolle.  FERTIG!

Der Aufruf der Z_RFBILA00 kann nun nur noch mit der S_TCODE – Berechtigung für diese Transaktion gestartet werden.

Sie werden nun einwenden, dass ich ja dann zig Z*-Transaktionen haben werde, die sich ja kaum jemand merken kann.

Richtig, aber auch dafür gibt es eine elegante Lösung, die des Bereichsmenüs. Ich gehe einmal davon aus, dass Sie Ihre Benutzer nicht über die Pflicht zum Rollenmenü beschränken wollen. Mit der Idee des Bereichsmenüs, können Sie 2 Fliegen mit einer Klappe schlagen.

Sie können mit der SE43N entweder das Standard-Bereichsmenü S000 in ein Z000 kopieren und in diesem an den neuralgischen Stellen Ihre eigenen Transaktionen einpflegen, oder Sie definieren ein eigenes Menü Z001, das Sie <Firma>-Transaktionen nennen. In diesem Menü können Sie nun alle eigenen Reporttransaktionen einstellen. Ja Sie können sogar eigene Unterkapitel definieren. Jeder Benutzer kann sich dann aus dem Menü seine Transaktionen in seine Favoriten stellen.

Der Schutz ist vollständig!

Gleiches kann man wie gesagt auch für Tabellenzugriffe realisieren. Dazu kommen wir dann im Teil 3.

Falls Sie zu dieser Lösung noch Fragen haben, können Sie mich gerne anmailen. Ich werde noch einen Newsletter erstellen, um registrierte Benutzer in www.sybeklue.de mit einer Schritt für Schritt Anleitung zu beliefern.

Lieben Gruß
Bernd Klüppelberg

Schreiben Sie bitte einen Kommentar





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