19,99 €
Das Thema »SAP-Berechtigungskonzept« fristet in vielen Unternehmen ein Schattendasein. Allzu häufig werden Experten erst hinzugezogen, wenn das Kind bereits in den Brunnen gefallen ist. Dieses Buch liefert Ihnen das technische Rüstzeug für ein SAP-Berechtigungskonzept, damit Ihre Rollen von Anfang an korrekt funktionieren, Programme lauffähig bleiben und Berechtigungsfehler vermieden werden. Neben Systemadministratoren finden auch diejenigen Anregungen, die in Anwendungen Berechtigungsprüfungen implementieren oder für die Vorgaben der einzurichtenden Rollen verantwortlich sind.Aufbauend auf den wichtigsten Grundbegriffen wie Berechtigungsobjekt, Berechtigung, Profil und Rolle erfahren Sie, wie Berechtigungsprüfungen in SAP-Anwendungen durchgeführt werden und welche Arbeiten der Einsatz des Profilgenerators (PFCG) erfordert. Nach einem Einblick in die Pflege von Benutzerstammdaten lernen Sie, Rollen bzw. Sammelrollen anzulegen und ihnen Stammdaten zuzuordnen sowie, welche Vorteile eine Rollenableitung gegenüber der Rollenkopie hat. Der Autor widmet sich zudem der Frage, wie Sie für das Customizing des SAP-Systems geeignete Rollen definieren und Rollen vom Entwicklungs- in das Testsystem transportieren. Abschließend befassen Sie sich mit Werkzeugen der Rollenverwaltung, der Analyse und Beseitigung von Berechtigungsfehlern sowie dem Benutzerinformationssystem, das Ihnen stets einen Überblick über Ihre Rollen und die ihnen zugeordneten Benutzer gibt.Profilgenerator: Installation, Upgrade und VorschlagswerteBenutzerstammsätze, Rollen und abgeleitete RollenInfosystem und Werkzeuge für die RollenverwaltungAnalyse von Berechtigungsfehlern
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 193
Veröffentlichungsjahr: 2023
Manfred Sprenger
Praxishandbuch SAP®-Berechtigungswesen
Manfred SprengerPraxishandbuch SAP®-Berechtigungswesen
ISBN:978-3-96012-188-6 (E-Book)
Lektorat:Anja Achilles
Korrektorat:Johann-Christian Hanke
Coverdesign:Philip Esch
Coverfoto:iStockphoto.com | worldofstock No. 1199960425
Satz & Layout:Johann-Christian Hanke
1. Auflage 2023
© Espresso Tutorials GmbH, Gleichen 2023
URL:www.espresso-tutorials.de
Das vorliegende Werk ist in allen seinen Teilen urheberrechtlich geschützt. Alle Rechte sind vorbehalten, insbesondere das Recht der Übersetzung, des Vortrags, der Reproduktion und der Vervielfältigung. Espresso Tutorials GmbH, Bahnhofstr. 2, 37130 Gleichen, Deutschland.
Ungeachtet der Sorgfalt, die auf die Erstellung von Text und Abbildungen verwendet wurde, können weder der Verlag noch die Autoren oder Herausgeber für mögliche Fehler und deren Folgen eine juristische Verantwortung oder Haftung übernehmen.
Feedback:Wir freuen uns über Fragen und Anmerkungen jeglicher Art. Bitte senden Sie diese an: [email protected].
Unser Ziel ist es, SAP-Wissen wie einen Espresso zu servieren: Auf das Wesentliche verdichtete Informationen anstelle langatmiger Kompendien – für ein effektives Lernen an konkreten Fallbeispielen. Viele unserer Bücher enthalten zusätzlich Videos, mit denen Sie Schritt für Schritt die vermittelten Inhalte nachvollziehen können. Besuchen Sie unseren YouTube-Kanal mit einer umfangreichen Auswahl frei zugänglicher Videos:
https://www.youtube.com/user/EspressoTutorials.
Kennen Sie schon unser Forum? Hier erhalten Sie stets aktuelle Informationen zu Entwicklungen der SAP-Software, Hilfe zu Ihren Fragen und die Gelegenheit, mit anderen Anwendern zu diskutieren: http://www.fico-forum.de.
Marcel Schmiechen:
Berechtigungen in SAP
®
ERP HCM – Einrichtung und Konfiguration
Marcel Schmiechen:
Berechtigungen in SAP
®
ERP HCM – Erweiterung und Optimierungen
Martin Metz & Sebastian Mayer:
Schnelleinstieg in SAP
®
GRC Access Control
Julian Harfmann, Sabrina Heim, Andreas Dietrich:
Compliant Identity Management mit SAP
®
IdM und GRC AC
Bianca Folkerts:
Praxishandbuch für die Risikoanalyse mit SAP
®
GRC Access Control
Andreas Prieß:
SAP
®
-Berechtigungen für Anwender und Einsteiger – 2., erweiterte Auflage
In meiner langjährigen Tätigkeit als SAP-Berater und -Trainer hat das Thema »SAP-Berechtigungskonzept« stets eine sehr zentrale Rolle gespielt. Leider wurde ich bei vielen SAP-Kunden erst »ins Boot« geholt, wenn sich herausgestellt hat, dass die bereits vorhandene Lösung nicht funktionierte oder Schwachstellen aufwies. Die Ursache war aus meiner Sicht fast immer dieselbe: Der Personenkreis, der eigentlich die Vorgaben für die zu definierenden Rollen hätte liefern müssen, hatte oft kein Wissen über die technischen Abläufe hinter einem SAP-Berechtigungskonzept. Begriffe wie Berechtigungsobjekt, Berechtigung, Rolle und Sammelrolle waren nicht wirklich verstanden worden – mit dem Resultat, dass gar keine Vorgaben definiert wurden oder, wenn es sie denn doch gab, sich diese technisch gar nicht umsetzen ließen. Stattdessen wurde den eher im SAP-Basisbereich angesiedelten Mitarbeitern die Zuständigkeit für die Rollenvergabe angetragen. Diese waren ohne vernünftige Vorgaben häufig überfordert und kopierten einfach von SAP ausgelieferte Rollen, passten sie nach bestem Wissen an und wiesen sie den Benutzern zu. Nach einem Systemupgrade potenzierten sich oft die auftretenden Berechtigungsfehler, weil nicht bekannt war, dass nach jedem Upgrade regelmäßige Wartungsarbeiten durchzuführen sind, damit vorhandene Rollen weiterhin korrekt funktionieren.
Aus dieser Erfahrung heraus habe ich im vorliegenden Buch versucht, das technische Rüstzeug für ein SAP-Berechtigungskonzept ausführlich darzulegen. Das Thema Berechtigungskonzept ist aber so umfangreich, dass ein Buch allein dafür nicht ausreicht. Für Themen, die Sie hier vermissen, schauen Sie gerne in das im Frühjahr 2023 erscheinende Buch »Fortgeschrittene Techniken im SAP-Berechtigungswesen inklusive Fiori und J2EE«. Dort werden Sie fündig, wenn Sie z.B. nach Fiori-Rollen und Berechtigungen für das Fiori-Launchpad suchen. Auch die Zuordnung von Berechtigungen über Organisationseinheiten, die Funktionstrennung (Segregation of Duties), die zentrale Benutzerverwaltung, das SAP-J2EE-Berechtigungskonzept und einiges mehr behandle ich dort.
Obwohl der Schwerpunkt dieses Buches auf den technischen Aspekten des SAP-Berechtigungskonzepts liegt, sind die Inhalte nicht nur für Systemadministratoren relevant. Wichtige Anregungen finden z.B. auch Entwickler, die in Anwendungen Berechtigungsprüfungen implementieren müssen, sowie Personen, die für die Vorgaben der einzurichtenden Rollen verantwortlich sind, und in diesem Buch erfahren, wie die technischen Möglichkeiten des Berechtigungskonzepts bestimmen, welche Vorgaben überhaupt mit welchem Aufwand umsetzbar sind.
Nach einer kurzen Einleitung zum Thema »SAP-Berechtigungskonzept« werden in Kapitel 2 wichtige Grundbegriffe wie Berechtigungsobjekt, Berechtigung, Profil und Rolle erläutert.
Kapitel 3 zeigt, wie in SAP-Anwendungen Berechtigungsprüfungen implementiert werden. Vorgestellt werden nicht nur die »klassische«, per ABAP-Coding programmierte Prüfung, sondern auch die speziell in S/4HANA genutzten Möglichkeiten der Berechtigungsprüfungen in Core Data Services und im ALV Grid.
Die wichtigste Aufgabe im Zusammenhang mit dem Berechtigungskonzept ist sicherlich die Definition geeigneter Rollen. Damit das dafür vorgesehene Werkzeug, die Transaktion PFCG, tatsächlich korrekt arbeitet, müssen direkt nach der Installation des SAP-Systems Konfigurationsarbeiten durchgeführt werden. Kapitel 4 erläutert, wie die Ersteinrichtung der Transaktion PFCG vorzunehmen ist und welche Anpassungen nach einem eventuellen Upgrade des SAP-Systems erforderlich sind.
Der Pflege von Benutzerstammdaten ist das Kapitel 5 gewidmet.
Sehr ausführlich behandeln wir das Thema Rollenpflege in Kapitel 6. Sie werden sehen, wie Rollen bzw. Sammelrollen angelegt und diese dann Benutzerstammsätzen zugewiesen werden.
Gängige Praxis ist es, Rollen, die mit leichten Variationen häufiger zu definieren sind, aus einer bereits existierenden Rolle zu kopieren. Diese Vorgehensweise hat aber gravierende Nachteile, die wir in Kapitel 7 diskutieren. Sie werden lernen, dass das Konzept der Rollenableitung eine sinnvolle Alternative zur Rollenkopie darstellt.
Die SAP liefert eine Reihe von Berechtigungsobjekten aus, die in zahlreichen Anwendungen zur Berechtigungsprüfung zum Einsatz kommen. Einige dieser »zentralen Berechtigungen« stelle ich in Kapitel 8 vor.
Das sogenannte Customizing ist sicherlich die wichtigste Aufgabe, über die ein von der SAP ausgeliefertes System an die Erfordernisse eines Kunden anzupassen ist. Hierbei ist sicherzustellen, dass die erforderlichen Customizing-Einstellungen tatsächlich nur von den dafür zuständigen Anwendern durchgeführt werden können. In Kapitel 9 zeige ich Ihnen die Definition geeigneter Rollen für das Customizing.
Rollen werden üblicherweise nicht direkt im produktiven SAP-System angelegt, sondern idealerweise im Entwicklungssystem, um sie von dort zu weiteren Tests in das Qualitätssicherungssystem (Testsystem) zu überführen. Kapitel 10 erläutert, wie Sie den Transport von Rollen vornehmen.
Kapitel 11 befasst sich mit Werkzeugen für die Rollenverwaltung. Dazu gehören die Prüfung der Rollenstatus, Möglichkeiten der Massenpflege und der Benutzerabgleich. Sie werden erfahren, wie Sie die regelmäßig auszuführenden Arbeiten automatisieren können.
Auch wenn Sie Rollen noch so gewissenhaft definieren, werden in der täglichen Praxis Berechtigungsfehler auftreten. In Kapitel 12 stelle ich jene Werkzeuge vor, mit denen Sie Berechtigungsfehler analysieren können, und welche Möglichkeiten es gibt, die Fehler zu beseitigen.
Das Buch schließt in Kapitel 13 mit dem Benutzerinformationssystem. Über dieses Informationssystem können Sie u.a. ermitteln, welcher Benutzer konkret über welche Berechtigungen verfügt und welche Rollen im System vorhanden sind, die bestimmte Berechtigungen zur Verfügung stellen.
Die einzelnen Kapitel wurden so konzipiert, dass sie ein Thema möglichst komplett darlegen. Dabei ließen sich Abhängigkeiten zwischen den einzelnen Kapiteln leider nicht vermeiden, was nicht unbedingt begünstigt, das Buch einfach von Anfang bis Ende durchzuarbeiten. So wird beispielsweise in Kapitel 3, dass sich mit der technischen Durchführung von Berechtigungsprüfungen befasst, gleich das Ergebnis eines Berechtigungstrace genutzt, um Informationen zu durchgeführten Prüfungen zu liefern. Wie man einen Berechtigungstrace durchführt, wird aber erst in Kapitel 12 gezeigt.
In den Text sind Kästen eingefügt, um wichtige Informationen besonders hervorzuheben. Jeder Kasten ist zusätzlich mit einem Piktogramm versehen, das diesen genauer klassifiziert:
Hinweis
Hinweise bieten praktische Tipps zum Umgang mit dem jeweiligen Thema.
Beispiel
Beispiele dienen dazu, ein Thema besser zu illustrieren.
Achtung
Warnungen weisen auf mögliche Fehlerquellen oder Stolpersteine im Zusammenhang mit einem Thema hin.
Um den Lesefluss nicht zu beeinträchtigen, verwenden wir im vorliegenden Buch bei personenbezogenen Substantiven und Pronomen zwar nur die gewohnte männliche Sprachform, meinen aber gleichermaßen Personen weiblichen und diversen Geschlechts.
Sämtliche in diesem Buch abgedruckten Screenshots unterliegen dem Copyright der SAP SE. Alle Rechte an den Screenshots hält die SAP SE. Der Einfachheit halber haben wir im Rest des Buches darauf verzichtet, dies unter jedem Screenshot gesondert auszuweisen.
Der Schutz von Unternehmensdaten vor missbräuchlicher Verwendung hat in den letzten Jahren immer mehr an Bedeutung gewonnen. Die SAP hat schon sehr früh ein umfangreiches Berechtigungskonzept entwickelt, das den Zugriff von SAP-Benutzern auf Programme und Daten eines SAP-Systems reglementiert. Dieses Konzept wurde im Laufe der Jahre stetig erweitert, um den jeweils aktuell gültigen gesetzlichen Regelungen zu genügen. Meine Erfahrung zeigt aber, dass in SAP-Einführungsprojekten das Thema »Benutzer und Berechtigungen« oft erst kurz vor der Produktivsetzung, also unter Zeitdruck, angegangen wird. Dabei gilt das Motto »Hauptsache jeder Benutzer kann mit den Anwendungen arbeiten«, sodass Berechtigungen eher großzügig vergeben werden. Spätestens mit der ersten Revision des implementierten Berechtigungskonzepts durch Wirtschaftsprüfer fallen die Mängel auf, und wieder wird versucht, möglichst schnell Abhilfe zu schaffen.
Informationen zur Konzeption und zur Realisierung eines Berechtigungskonzepts für ein SAP-ERP-System werden Sie schnell finden. Warum also noch ein Buch zum Thema »Berechtigungen«? Die Antwort ist einfach: Es hat sich viel getan. Die SAP hat in den letzten Jahren auch im Umfeld des Berechtigungskonzepts Neuerungen eingeführt, die insbesondere für die S/4HANA-Systeme relevant sind. Es erschien mir daher sinnvoll, die aktuellen technischen Grundlagen des SAP-Berechtigungskonzepts möglichst umfangreich zu dokumentieren. Dabei stellte sich schnell heraus, dass eigentlich eine ganze Buchreihe erforderlich wäre, um dem Thema gerecht zu werden. Dankenswerterweise bietet die Espresso-Tutorials-Bibliothek et.training schon einen großen Fundus an Literatur und Videos zum Thema »SAP-Berechtigungen«. Sie werden Hilfestellungen zur Konzeption eines Berechtigungskonzepts finden ebenso wie Informationen, welche Besonderheiten bei BI- und HCM-Systemen zu beachten sind.
Wer sich mit dem Thema Berechtigungskonzept auseinandersetzt, wird schnell mit einer Vielzahl von Begriffen konfrontiert, deren jeweilige Bedeutung sich nicht unmittelbar erschließt. So wird von »Berechtigungsobjekten« und »Berechtigungsfeldern« gesprochen, von »Profilen« und »Rollen«. Das Ganze klingt oft sehr abstrakt, und schnell hat man das Gefühl, dass man nicht wirklich weiß, worum es eigentlich geht. Ich möchte Ihnen daher zunächst einmal die wichtigsten Begriffe näherbringen und erläutern, nach welchem Konzept das SAP-System Berechtigungen für bestimmte Aktionen überprüft.
Im Folgenden zeige ich Ihnen anhand eines konkreten Beispiels das Prinzip einer Berechtigungsprüfung in SAP.
Praxisbeispiel für Berechtigungsprüfung
Ein Anwender mit der SAP-Benutzerkennung HMUELLER möchte mithilfe der Transaktion SU01 Benutzerstammdaten eines Kollegen bearbeiten. Dazu trägt er im Einstiegsbild der Transaktion eine Benutzerkennung in das Feld Benutzer ein und wählt über das Icon oder die gewünschte Bearbeitungsfunktion (siehe Abbildung 2.1). Auf den folgenden Seiten erfahren Sie, wie Sie prüfen können, ob HMUELLER beispielsweise in der Lage ist, die Benutzerstammdaten von JMEIER zu ändern oder aber dessen Kennwort neu zu setzen.
Abbildung 2.1: Beispiel für eine Berechtigungsprüfung
Pflegeberechtigung für Benutzerstammsätze
Sie werden im Weiteren sehen, dass das SAP-System nicht explizit den Benutzernamen kontrolliert. In der Praxis prüft SAP nämlich nicht, ob eine Berechtigung zur Bearbeitung einzelner Benutzerstammsätze vorliegt; stattdessen werden Benutzer zu Gruppen zusammengefasst und die Pflegeberechtigung wird für alle Benutzerstammsätze dieser Benutzergruppe erteilt (siehe auch Abschnitt 5.1.2).
Grundsätzlich sieht der technische Ablauf der Berechtigungsprüfung wie folgt aus (siehe auch Abbildung 2.2):
Der Anwender (HMUELLER) gibt in der Maske die zu bearbeitende Benutzer-ID (Benutzer) ein und wählt die gewünschte Aktion aus (Ändern).
Die Eingaben von HMUELLER werden mithilfe des in der Anwendung hinterlegten Codings in die Variablen BNAME und ACTION übertragen. SAP verwendet für die Codierung von Aktionen Zahlen anstelle von Texten, so z.B. für Ändern den Aktionsschlüssel »02«, für Anlegen »01« und für Anzeigen »03«.
Per Datenbankzugriff ermittelt die Transaktion SU01 die Benutzergruppe zur Benutzer-ID JMEIER. Das Ergebnis wird in die Variable GRUPPE übertragen.
Nun erfolgt die Prüfung, ob der angemeldete Benutzer (Kennung zeigt das Systemfeld SY-UNAME) die in ACTION stehende Funktion für die in GRUPPE angezeigte Benutzergruppe ausführen darf.
Liegt diese Berechtigung vor, passieren im Hintergrund weitere Datenbankzugriffe, um die Stammdaten zur Benutzer-ID JMEIER zu ermitteln und anschließend auszugeben.
Fehlt die notwendige Berechtigung für die gewünschte Aktion, hängt es von der Vorgabe des Entwicklers ab, wie die Anwendung reagiert. Im einleitenden Beispiel wird eine Fehlermeldung ausgegeben, und der Anwender HMUELLER sieht keine Daten des Benutzerstammsatzes von Johanna Meier.
Abbildung 2.2: Prinzipieller Ablauf einer Berechtigungsprüfung
Natürlich gibt es in der Programmiersprache ABAP keine Direktive wie: »Darf HMUELLER Aktion 02 für …«. Die entsprechende Anweisung lautet tatsächlich AUTHORITY-CHECK.
Im Folgenden erfahren Sie, wie die Prüfung von Berechtigungen technisch ausgeführt wird. Dazu werde ich zunächst einige Grundbegriffe des Berechtigungskonzepts erläutern.
Die SAP verwendet sogenannte Berechtigungsobjekte, um die durchzuführenden Prüfungen formal beschreiben zu können. Stellen Sie sich einfach vor, dass jede Prüfvorschrift durch ein Berechtigungsobjekt definiert ist. Im konkreten Beispiel steht das Berechtigungsobjekt S_USER_GRP für die Prüfung »Wer darf einen Benutzerstamm wie bearbeiten?« (siehe Abbildung 2.3).
Abbildung 2.3: Beispiel Berechtigungsobjekt S_USER_GRP
Ein Berechtigungsobjekt besitzt Berechtigungsfelder, die dazu dienen, die Granularität der Prüfung festzulegen. Im Beispiel oben sind dies die Felder ACTVT und CLASS. Das Feld ACTVT dient der Bestimmung, welche Aktion ausgeführt werden darf, während das Feld CLASS den Zugang zu Benutzerstammsätzen einer bestimmten Gruppe reglementiert. Mit diesen beiden Feldern lässt sich also eine Prüfvorschrift der folgenden Form definieren:
»Wer darf welche Aktion für Benutzer aus welcher Gruppe ausführen?«
Eigenschaften von Berechtigungsobjekten
Ein Berechtigungsobjekt wird durch maximal zehn Berechtigungsfelder ausgeprägt. Nachträgliche Änderungen an der Feldanzahl eines Berechtigungsobjekts sind im Prinzip nur dann möglich, wenn noch keinerlei Rechte für das Objekt definiert worden sind. Beachten Sie zudem, dass es bei einer Änderung des Berechtigungsobjekts erforderlich sein kann, die Programme anzupassen, die Prüfungen auf das Berechtigungsobjekt beinhalten.
Stellen Sie sich der Einfachheit halber vor, dass durch ein Berechtigungsobjekt eine Tabelle definiert wird, die neben der Spalte für den aktuell ausführenden SAP-User (SY-UNAME) jeweils eine Spalte pro Berechtigungsfeld besitzt. In diese Tabelle wird für den User eingetragen, welche Wertkombinationen für ihn erlaubt sind. Diese Tabellen existieren natürlich nicht wirklich auf der Datenbank! Die Daten sind aber prinzipiell zur Laufzeit in etwas anderer Form im Hauptspeicher (Benutzerpuffer) des Applikationsservers abgelegt.
Anders als oben beschrieben, werden erlaubte Wertkombinationen nicht individuell definiert, sondern zunächst einmal unabhängig von konkreten Benutzern. Diese potenziell zugelassenen Wertkombinationen bilden die sogenannten Berechtigungen.
Berechtigungen sind immer genau einem Berechtigungsobjekt zugeordnet. Jedes Berechtigungsobjekt hat einen eigenen Namensraum, d.h., es ist beispielsweise möglich, für jedes Berechtigungsobjekt eine Berechtigung mit dem Namen ALL zu definieren, die jegliche Wertkombination zulässt (siehe Abbildung 2.4).
Abbildung 2.4: Beispiele für Berechtigungen
Prinzipiell lassen sich Berechtigungen mithilfe der Transaktion SU03 definieren (siehe Abbildung 2.5). Dies wird von der SAP heute allerdings nicht mehr empfohlen; Berechtigungen sollten besser automatisiert über den Profilgenerator (PFCG) erstellt werden.
Abbildung 2.5: Definition von Berechtigungen mit der Transaktion SU03
Einem Benutzer werden Berechtigungen nicht direkt, sondern zusammengefasst in Profilen zugewiesen. Ein Profil könnte z.B. alle Berechtigungen vereinen, die erforderlich sind, um die Debitorenstammdaten eines ausgewählten Buchungskreises bearbeiten zu dürfen.
Profile selbst lassen sich zu Sammelprofilen bündeln, wobei diese wiederum auch andere Sammelprofile beinhalten können.
Anhand dieser Profile (oder Sammelprofile) werden einem Benutzerstammsatz die erforderlichen Berechtigungen zugeordnet.
Sammelprofile
Es gibt im SAP-Standard zwar noch einige Sammelprofile, diese sind aber meist älter als zehn Jahre und werden eigentlich nicht mehr benutzt. Sie befinden sich nur noch im System, weil einige SAP-Anwender sie noch heute verwenden oder selbst eigene Sammelprofile angelegt haben.
Die direkte Pflege von Profilen ist mithilfe der Transaktion SU02 möglich (siehe Abbildung 2.6). Die Transaktion sollte aber nur eingesetzt werden, um bei Bedarf alte, noch im Einsatz befindliche Profile anzupassen. Die SAP empfiehlt, neue Profile stattdessen mit der Transaktion PFCG (»Profilgenerator« bzw. »Rollenpflege«) zu erzeugen und zu pflegen.
Abbildung 2.6: Profile und Sammelprofile pflegen
Sammelprofil »SAP_ALL«
Das Sammelprofil SAP_ALL beinhaltet für (fast) alle Berechtigungsobjekte eine »ALL«-Berechtigung, die für jedes Feld beliebige Feldwerte zulässt.
Wie bereits erwähnt, werden heute im Normalfall Berechtigungen oder Profile nicht mehr manuell angelegt. Stattdessen werden sogenannte Rollen definiert, die nicht nur die Berechtigungszuweisungen, sondern auch das Erscheinungsbild der Benutzeroberfläche steuern.
Die SAP empfiehlt das folgende Vorgehen zur Definition von Rollen:
1. Mithilfe der Transaktion PFCG wird eine Rolle definiert, welche alle Aktivitäten (Transaktionen) umfasst, die für einen bestimmten Arbeitsplatz relevant sind.
2. Der Rolle werden die notwendigen Organisationselemente (Buchungskreis, Werk …) zugeordnet.
3. Die Felder der Berechtigungsobjekte sind mit SAP-Vorschlagswerten vorbelegt, die – falls erforderlich – ergänzt werden können.
4. Mit der Aktivierung der Rolle werden automatisch die Berechtigungen zu den einzelnen Objekten generiert und zu einem Profil zusammengefasst.
5. Die Rolle kann nun SAP-Benutzern zugewiesen werden. Auf diese Weise werden dem Benutzer ohne weiteres Zutun auch das Profil und die darin enthaltenen Berechtigungen zugeordnet.
Sammelrolle
Rollen können zu Sammelrollen gebündelt werden. Eine Sammelrolle kann allerdings keine anderen Sammelrollen enthalten.
Dieses Kapitel behandelt Möglichkeiten, wie Berechtigungsprüfungen konkret im Coding von ABAP-Programmen durchgeführt werden. Es richtet sich in erster Linie an Entwickler, die Berechtigungsprüfungen implementieren müssen.
In klassischen SAP-Anwendungen werden Prüfungen im Coding der Anwendung durchgeführt.
Betrachten wir dazu ein Beispiel. In Abbildung 3.1 sehen Sie ein ABAP-Programm, das Materialstammdaten anzeigt. Das SELECT-Statement liest mithilfe der View MARAV Daten und zeigt diese per WRITE-Anweisung auf dem Bildschirm an. SELECT selbst führt keine Berechtigungsprüfung durch, d.h., es werden alle vorhandenen Materialstammdaten aufgelistet. Alle Materialarten (Art) und Warengruppen (Gruppe) sind sichtbar.
Abbildung 3.1: ABAP-Programm ohne Berechtigungsprüfung
Das Programm soll im ersten Schritt nun so angepasst werden, dass einem Anwender nur noch Materialien der Warengruppen angezeigt werden, für die er berechtigt ist. Im konkreten Fall soll die Berechtigungsprüfung mithilfe des Objekts M_MATE_WGR (Warengruppe) erfolgen.
Auswahl des Berechtigungsobjekts
Der Entwickler der Anwendung entscheidet, welches Berechtigungsobjekt für die Prüfung geeignet ist. Bei Bedarf legt er mit der Transaktion SU21 neue Berechtigungsobjekte an.
Das Coding unseres Beispielprogramms wird ergänzt um die Anweisung AUTHORITY-CHECK (Abbildung 3.2, ). Geprüft wird das Objekt M_MATE_WGR, für das Berechtigungsfeld ACTVT fordert der Programmierer den vorgegebenen Wert, das Berechtigungsfeld BEGRU wird verglichen mit dem Wert der ABAP-Variablen GS_SATZ-MATKL, die die Warengruppe des gelesenen Datensatzes enthält. Ist der Anwender für die gelesene Warengruppe berechtigt und die Aktivität 03 zulässig, liefert der AUTHORITY-CHECK im Systemfeld SY-SUBRC den Rückgabewert 0, ansonsten einen Wert > 0. Die CHECK-Anweisung überprüft den Rückgabewert. Ist der Rückgabewert ungleich 0, wird die WRITE-Anweisung übersprungen, d.h. der Materialstammsatz wird nicht angezeigt.
Um das Ganze zu testen, wurde eine Rolle MM_MATSTAMM_LXXX_ROH (siehe Mittelteil in Abbildung 3.2) angelegt, die für alle mit dem Buchstaben »L« beginnenden Warengruppen (Feld BEGRU) die Aktivitäten (Feld ACTVT) 01, 02, 03, 06 und F4 erlaubt.
Ordnet man nun einem Anwender diese Rolle zu, sieht er beim Start des Programms nur noch die mit »L« beginnenden Warengruppen (Gruppe). Das gilt natürlich nur dann, wenn er nicht über andere Rollen Berechtigungen für weitere Warengruppen besitzt!
Abbildung 3.2: Prüfung mit Berechtigungsobjekt M_MATE_WGR
Performance-Probleme
Die routinierten Entwickler unter den Lesern mögen mir das Coding des Beispielprogramms verzeihen. Unter Performance-Gesichtspunkten ist das Ganze suboptimal: Würde die View MARAV z.B. 100.000 Zeilen liefern, werden auch 100.000 Berechtigungsprüfungen durchgeführt! Letztendlich werden alle Zeilen gelesen, aber nur die berechtigten Zeilen angezeigt.
Das Coding des Programms wird in einem zweiten Schritt noch einmal erweitert: Es soll zusätzlich eine Prüfung auf zulässige Materialarten erfolgen (Abbildung 3.3). Eingebaut wird dazu ein zusätzlicher AUTHORITY-CHECK für das Objekt M_MATE_MAR.
Die Rolle MM_MATSTAMM_LXXX_ROH wird ergänzt um eine Berechtigung für die Materialart ROH .
Abbildung 3.3: Zusätzliche Prüfung mit Objekt M_MATE_MAR
Startet unser Anwender jetzt das Programm, werden nur noch die Materialien angezeigt, für die sowohl eine der ausgewiesenen Warengruppen als auch die Materialart ROH zulässig sind.
Lückenlose Berechtigungsprüfung
Die Berechtigungsprüfung auf zulässige Warengruppen und Materialarten ist jetzt in unserem Beispielprogramm vorhanden. Soll diese Prüfung lückenlos sein, muss in allen Anwendungen, die auf Materialstammdaten zugreifen, ein AUTHORITY-CHECK für die Objekte M_MATE_WGR und M_MATE_MAR eingebaut werden!
Der Einsatz der Transaktion PFCG zur Pflege von Rollen muss nach der Installation eines SAP-Systems vorbereitet werden. Auch nach jedem Patch des Systems sind PFCG-relevante Nacharbeiten erforderlich, die Sie hier kennenlernen. Zusätzlich erläutere ich, woher die Transaktion PFCG die Informationen bezieht, um bei der Rollendefinition Vorschläge für die notwendigen Berechtigungen zu erzeugen.
Die Transaktion SU25 (Abbildung 4.1) bündelt Aktionen zur Installation und zum Upgrade des Profilgenerators (Transaktion PFCG).
Abbildung 4.1: Einrichtung/Upgrade des Profilgenerators – Aktionen
Die unter Installation des Profilgenerators aufgeführten Aktionen müssen nur einmalig, direkt nach der Installation eines SAP-Systems, ausgeführt werden.
Unter Nacharbeiten der Einstellungen … gelistete Tätigkeiten sollten nach jedem Upgrade eines SAP-Systems vorgenommen werden. Ansonsten laufen Sie Gefahr, dass nach dem Upgrade der Profilgenerator bei einer Rollenpflege nicht mehr in der Lage ist, geeignete Vorschläge für Berechtigungswerte zu machen.
Die Nacharbeiten werden üblicherweise zunächst auf dem Entwicklungssystem durchgeführt und müssen nicht notwendigerweise auf den Folgesystemen noch einmal erfolgen. Der Transportanschluss gestattet es Ihnen, die vorgenommenen Anpassungen auf die Folgesysteme zu transportieren.
Optionale Anpassungsmöglichkeiten sind unter gelistet. Insbesondere die Aktion Prüfkennzeichen in Anwendungen ist für Sie relevant, wenn Sie Eigenentwicklungen betreiben, für die Sie Berechtigungsprüfungen definiert haben. Damit der Profilgenerator für diese Eigenentwicklungen sinnvolle Berechtigungsvorschläge machen kann, müssen Sie hier mithilfe der Transaktion SU24 die notwendigen Informationen hinterlegen.
Wie in Kapitel 2 dargestellt, ist es prinzipiell auch möglich, Berechtigungen direkt in manuell erzeugte Profile einzutragen. Dies ist zwar heutzutage absolut nicht mehr üblich, aber selbst die SAP liefert noch solche Profile aus, z.B. das Profil SAP_ALL. Die unter aufgeführten Aktionen erlauben es Ihnen, Rollen zu den manuell erzeugten Profilen zu generieren, die Sie dann anstelle der Profile verwenden können.
Unter Allgemeine Wartung für Vorschlagswerte finden Sie Aktionen, die Ihnen bei Inkonsistenzen helfen, in den Vorschlagswerten die notwendigen Korrekturen durchzuführen. Inkonsistenzen können z.B. entstehen, indem die Definition eines Berechtigungsobjekts etwa durch Löschen oder Hinzufügen von Berechtigungsfeldern so abgeändert wird, dass die im System bereits vorhandenen Vorschlagswerte nicht mehr passen.
Für jede Aktion wird unter protokolliert, zu welchem Zeitpunkt und von wem sie ausgeführt wurde. Insbesondere nach einem Upgrade eines SAP-Systems sollten Sie prüfen, ob die unter