Schnelltransport von Rollen zwischen Mandanten

Sie haben ein System mit mehrern Mandanten und sollen ein Berechtigungskonzept erstellen für alle diese Mandanten. Dann ergibt sich sofort das Problem, wie kann ich Rollen zwischen Mandanten transportieren?

Man kann sicherlich einen Transportweg zwischen den Mandanten erstellen und somit den Transport bewältigen.

Aber es gibt auch noch einen schnelleren Weg….

Weiter…»

Diesen Artikel mit anderen teilen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Google Bookmarks
  • Webnews
  • Y!GG
  • Oneview
  • TwitThis
  • Facebook
  • MisterWong

Programmschutz und Tabellenschutz (Teil3)

Im Teil 3 kommen wir nun zur äquivalenten Umsetzung der Idee des Programmschutzes (Teil2); nun aber für die Tabellen.

Tabellen werden normalerweise mit SE16 oder SM30 angezeigt oder gepflegt. Beide Transaktionen haben ein Einstiegsbild und ggf. ein Selektionsbild, mit dem man den Inhalt der Tabelle ändern kann. Meist werden für die Auswahl von häufig benutzen Tabellen Varianten im System gespeichert, damit die Anzeige standardisiert ist, und man sich Arbeit um das Wissen, welches  Feld was bedeutet,  sparen kann.

Genau das Geiche geht auch über sog. Parametertransaktionen.

Weiter…»

Diesen Artikel mit anderen teilen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Google Bookmarks
  • Webnews
  • Y!GG
  • Oneview
  • TwitThis
  • Facebook
  • MisterWong

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.

Weiter…»

Diesen Artikel mit anderen teilen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Google Bookmarks
  • Webnews
  • Y!GG
  • Oneview
  • TwitThis
  • Facebook
  • MisterWong

Programmschutz und Tabellenschutz (Teil 1)

Es gibt mehrere Möglichkeiten den Zugriff auf Programme und Tabellen im R/3™ zu berechtigen.

Der “offizielle” bzw. der vorgesehene Weg ist ein sehr aufwendiger, da man für alle Programme Berechtigungsgruppen definieren muss und mit diesen Berechtigungsgruppen dann die Rollen bewertet. In der Standardauslieferung sind aber Hunderttausende von Programmen nicht berechtigt worden, wie eine Auswertung der Tabelle TRDIR (= Tabelle aller ABAP-Programme) zeigt. Weiter…»

Diesen Artikel mit anderen teilen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Google Bookmarks
  • Webnews
  • Y!GG
  • Oneview
  • TwitThis
  • Facebook
  • MisterWong

Fehleranalyse bei Berechtigungen (Teil 2)

Kommen wir heute zum zweiten schwierigeren Fall der Fehleranalyse.

Ein Benutzer hat im Gegensatz zu Fall 1 nun zu viele Rechte! Er darf in der Transaktion xy bestimmte Dinge ausführen,  für die er aber nicht berechtigt sein soll. .

Jetzt geht es an die Rollen selbst und an die in den Rollen vergebenen Berechtigungen. Hierbei sind mehrere Fälle denkbar: Der Benutzer hat

  • zu viele Rechte bei den Organisationsebenen (Buchungskreis, Werk, etc)
  • zu viele Rechte bezüglich der Berechtigungsobjekte, die in der Rolle sind. Z.B. er soll keine Kreditoren anzeigen dürfen.
  • zu viele Rechte Transaktionen aufzurufen.

Je nachdem welche Rechte zu viel sind, muß die Analyse zunächst bei den zugeordneten Rollen beginnen. Schaut man sich zunächst mit der SU01 an, welche Rollen der Benutzer besitzt, kann man hier vielleicht schon einen Fehler bei der Rollenzuordnung erkennen.

Vielleicht muß man eine bestehende Masterrolle nur nochmals  nach einen anders Org-Level ableiten, um ihm die Rechte zu nehmen. Oder es ist z.B. eine Valuerolle zu viel zugeordnet.

Hat der Benutzer dann immernoch zu viele Rechte, kann es sein, dass man die Rollen anpassen muß. D.h. man muß evtl. die Rolle aufteilen, ihr Objekte oder Transaktionen nehmen und diese einer anderen Rolle zuordnen. Manchmal muß man diese Analyse bis auf die Berechtigungsobjekte in der Rolle herunterbrechen, wenn man das Berechtigungsobjekt, das zu viel ist überhaupt schon identifiziert hat.

Es gibt verschiedenste Hilfsmittel mit denen man bei Kenntnis des Brechtigungsobjekts prüfen kann, in welchen Rollen dies vorkommt und wie es bewertet ist, so z.B. die Transaktion:

S_BCE_68001425 Rollen nach komplexen Suchkriterien (auch zu finden unter Werkzeuge / Administration / Benutzerpflege / Infosystem / Rollen)

Hier können Sie nach dem Vorkommen des Berechtigungsobjektes mit einer Bewertung suchen. Sie erhalten alle Rollen angezeigt, in denen das Berechtigungsobjekt mit der Bewertung vorkommt. Dies und das Wissen um den Aufbau und die Namensgebung der Rolle reichen meist schon aus, die richtige Rolle auszuwählen.

Manchmal ist es so, dass der Benutzer in der Transaktion etwas darf und Sie wissen nicht mit welchem Berechtigungsobjekt das zusammenhängt. Bei über 120.000 Transaktionen kann einem schon einmal eine aus dem Sinn geraten ;-)

Was dann noch beleibt ist der sog.  Berechtigungstrace.

Beim Berechtigungstrace ruft man die Transaktion ST01 auf und führt mit dem Benutzer einen Trace durch. D.h. Sie schalten den Trace auf den Benutzer beschränkt ein, dann führt der Benutzer die Transaktion von vorne her (also Transaktionsstart /nxxx) nochmals durch. Der Benutzer muss die Transaktion beenden, dann wird erst der letzte Satz für die Transaktion in den Trace geschrieben.

Nun haben Sie alle aufgerufene Transaktionen und Berechtigungsprüfungen aufgezeichnet. Schalten Sie den Trace in der ST01 aus und analysieren Sie den Trace.

Anhand eines solchen Traces läßt sich nun erkennen, welche Rechte durchlaufen wurden, und welche dem Benutzer zu viel vergeben wurden.  Wenn es ganz schlimm kommt, müssen Sie in dem System, wo auch die – oder ähliche – Daten liegen,  einen Testbenutzer anlegen, und mit dem Test-User dann die Richtigkeit des zugeordneten Rollensets analysieren.

[Hinweis: Dies ist z.B. ein Fall, wo in einem Integrations- oder Test-System, dem Rollenadministrator das Recht zum Anlegen von Benutzern vergeben werden sollte, um die Fehleranalyse nicht durch Bürokratie künstlich zu verlängern]

Insbesondere eignet sich der ST01-Trace auch für Sie selbst, um  festzustellen, was in einer Transaktion wie geprüft wird. Diese Traces führen Sie aber bitte nur ausnahmsweise  im Produktionsystem durch.

Letzlich wird die Analyse zeigen, ob Sie eine Rolle in 2 Rollen mit fast gleichen Rechten aufsplitten müssen, oder ob der Fehler mit einer einfachen Zuordnungsänderung gelöst werden kann.  Es kann aber auch sein, dass Sie den Fehler mit den vorhandenen Mitteln gar nicht lösen können. Dies bedeutet dann zum Beispiel, dass Sie ein neues eigenes Berechtigungsobjekt brauchen, mit dem Sie die Transaktion steuern können.

Neue Objekte müssen in der Transaktion aber auch abgeprüft werden, sonst habe sie keinen Erfolg. Deshalb müssen Sie in einem solchen Fall mit der Entwicklung zusammen nach sogenannten User-Exists in der Transaktion Ausschau halten, in denen dann ein neues Objekt geprüft werden kann.

Ist kein User-Exit vorhanden, haben Sie nur die Wahl entweder eine Modifikation des Systems durchzuführen (die schlechteste aller Lösungen) oder irgendwie auf organisatorischer Weise den Fehler zu beseitigen. Diese Fälle kommen zum Glück nur sehr selten vor, denn meist gibt es einen Weg, mit dem man Rechte beschränken kann.

In weiteren Beiträgen werde  ich später auch typische Berechtigungsbeschränkungen und ihre Bewertungen in Rollen darstellen, weil man immer wieder, genau an der Stelle nicht weiss, wie die Tranaktionen prüfen. Z.B. wie muss die Rolle bewertet werden, wenn man einen Benutzer nur freischalten darf und nur sein Passwort zurücksetzen darf. Was ggf. ja ein Hotliner können soll, er aber ansonsten keine Userrechte besitzt.

Liebe Grüße

Bernd Klüppelberg

Diesen Artikel mit anderen teilen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Google Bookmarks
  • Webnews
  • Y!GG
  • Oneview
  • TwitThis
  • Facebook
  • MisterWong

Fehleranalyse bei Berechtigungen (Teil 1)

Kommen wir heute mal zur Fehleranalyse bei Berechtigungen.

Das beste, was einem dabei passieren kann, ist der Fehler der Art:  “Ich habe keine Berechtigung das und das auszuführen!” (FALL1) . Schlechter ist schon der Fall, dass jemand zuviele Berechtigungen hat, also der Art: “User xy soll diese Berechtigung nicht mehr haben” (FALL2).

Wie geht man da vor?

Kommen wir zunächst mal zum Fall 1

Dieser Fall, dass also jemand keine Berechtigung für etwas hat, unterstützt das System vortrefflich! Das Codewort ist SU53 !

Falls eine Transaktion auf einen Berechtigungsfehler trifft, dann wird dieser Fehler in einen Speicherbereich geschrieben, den man sich anzeigen lassen kann. Dazu gibt es einmal

  1. die Transaktion SU53
  2. oder die Menüauswahl “System/Hilfsmittel/Anz. Berechtigungsprüfung”

Mit dieser Funktion wird vom System eine Information ausgeben, in der gezeigt wird, welche Berechtigungsobjekte dem Benutzer fehlen.

Man muß aber beachten, dass das System alle Berechtigungsfehler des Benutzers in den Speicherbereich der SU53 schreibt. D.h. falls es zu einem sog. Doppelschlag kommt, also mehrere Berechtigungsfehler auftreten, immer nur der letzte Fehler in diesem Bereich steht.

Ich bevorzuge es, dem Benutzer zu veranlassen, die Transaktion bis zu der Fehlermeldung “Keine Berechtigung…” laufen zu lassen, dann über das Menü (also 2.) den Fehler sich anzeigen zulassen, und mir ein Bildschirmbild der 1. Seite der Ausgabe zu schicken. Damit vermeide ich es, dass der Benutzer bei Aufruf der Transaktion SU53 ggf. nochmals einen Berechtigungsfehler erzeugt, der den ursprünglichen überdeckt.

Man kann als Benutzeradministrator oder Rollenadministrator auch selbst die SU53 aufrufen und sich über Menü  den Fehlereintrag eines andern Benutzers anzeigen lassen. Dies klappt aber nicht unbedingt immer.

In der  SU53 erhalten Sie den Eintrag des Benutzers, der dort gepeichert ist, und dieser kann ggf. alt sein. Besser ist also den Benutzer selbst über das Menü den Berechtigungsfehler anzeigen zu lassen. (Vielleicht erstellen Sie allen Ihren Benutzern eine kleine Doku, wie er sich den Fehler anzeigen läßt, und wo er ihn hinschicken kann, also ein “Kochrezept: How To…”)

In dem Fehlerauszug der SU53 werden als erstes die dem Benutzer fehlende Berechtigung angezeigt. Dieses Objekt gilt es also zu analysieren. Im Weiteren der Fehlermeldung werden die dem Benutzer zugeordneten Berechtigungen angezeigt. Diese Informationen kann man dazu benutzen, den Benutzer mit seinem Rollenset einzuordnen, wohin er gehört etc.

Letztlich haben wir in unserm Fall 1 nun die fehlende Berechtigung und müssen nun klären, ob der Benutzer diese Berechtigung erhalten soll oder nicht.  Dazu muss  die Fachabteilung kontaktiert werden, die ja zu entscheiden hat, ob der Benutzer die Berechtigung erhält!

Es kann vorkommen, dass es sich bei dem vom Benutzer gemeldeten Problem gar nicht um ein Berechtigungsproblem handelt. Dann wird in dem SU53 – Bereich der letzte Berechtigungsfehler angezeigt, der gar nicht die Fehlerursache ist. Deshalb ist es immer gut, sich auch ein Bildschirmbild der eigentlichen Fehlermeldung schicken zu lassen. Es kommt gar nicht so selten vor, dass  Entwickler aus ihren Programmen einen Berechtigungsfehler der Art “Keine Berechtigung für…” ausgeben, dieser aber gar nicht mit einer standardmäßigen Berechtigungsprüfung geprüft haben, so dass der Fehler kein eigentlicher Berechtigungsfehler ist.

Es wird in einem solchen Fall in der SU53 der letzte Fehler angezeigt oder Anzeige ist leer. Man kommt dann nicht umhin, die Fehlermeldung der Transaktion zu analysieren.

Noch einen Tipp zum Schluß:

Weisen Sie den Benutzer an, mit <Alt><Druck> den Screen-Shot machen, damit wird das ganze aktive Window in die Zwischenablage gestellt, und Sie können erkennen, um welche Transaktion, welches System und in welchem Kontext der Transaktion es sich handelt. Kleinere “SnagIt”s sind meist nicht zu gebrauchen und führen zu unnötigen Rückfragen.

Das war der Fall 1, der Leichtere! Morgen kommen wir zum Fall 2, dass ein Benutzer zu viele Rechte hat.

Gruß

Bernd Klüppelberg

Diesen Artikel mit anderen teilen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • Google Bookmarks
  • Webnews
  • Y!GG
  • Oneview
  • TwitThis
  • Facebook
  • MisterWong