Show TOC

BerechtigungsprüfungenLocate this document in the navigation structure

Um zu gewährleisten, dass ein Benutzer beim Ausführen einer Aktion über die entsprechenden Berechtigungen verfügt, unterliegen Benutzer Berechtigungsprüfungen.

Folgende Aktionen unterliegen Berechtigungsprüfungen, die noch vor dem Start eines Programms oder der Tabellenpflege stattfinden und von SAP-Anwendungen nicht umgangen werden können:

  • Start von Transaktionen (Berechtigungsobjekt S_TCODE)

  • Start von Web-Dynpro-Anwendungen (Berechtigungsobjekt S_START)

  • Start von Reports (Berechtigungsobjekt S_PROGRAM)

    Achtung

    Die Berechtigungsprüfung findet nur statt, wenn das Programm einer Berechtigungsgruppe zugeordnet ist.

  • Aufruf von RFC-Funktionsbausteinen (Berechtigungsobjekt S_RFC)

  • Generischer Tabellenzugriff (S_TABU_DIS)

Prüfung auf Programmebene mit AUTHORITY-CHECK

Mit der ABAP-Anweisung AUTHORITY-CHECK im Quelltext des Programms prüfen Anwendungen, ob der Benutzer über die entsprechenden Berechtigungen verfügt und ob diese Berechtigungen angemessen definiert sind, d.h. ob der Benutzeradministrator die vom Programmierer für die Felder erforderlichen Werte vergeben hat. Auf diese Weise können Sie auch Transaktionen schützen, die indirekt von anderen Programmen aufgerufen werden.

AUTHORITY-CHECK sucht in den im Benutzerstammsatz angegebenen Profilen nach Berechtigungen für das in der Anweisung AUTHORITY-CHECK angegebene Berechtigungsobjekt. Stimmt eine der ermittelten Berechtigungen mit einem der angegebenen Werte überein, war die Prüfung erfolgreich.

Transaktionen starten

Wenn ein Benutzer eine Transaktion startet, führt das System folgende Prüfungen durch:

  • In Tabelle TSTC wird geprüft, ob der Transaktionscode gültig ist und ob der Systemadministrator die Transaktion gesperrt hat.

  • Es wird geprüft, ob der Benutzer die Berechtigung zum Starten der Transaktion hat.

    Das SAP-System führt die Berechtigungsprüfungen bei jedem Start einer über das Menü oder die Befehlszeile aufgerufenen Transaktion durch. Indirekt aufgerufene Transaktionen sind in dieser Berechtigungsprüfung nicht enthalten. Für komplexere Transaktionen, die weitere Transaktionen aufrufen, gibt es zusätzliche Berechtigungsprüfungen.

    • Das Berechtigungsobjekt S_TCODE (Transaktionsstart) enthält das Feld TCD (Transaktionscode). Der Benutzer muss eine Berechtigung haben, die einen Wert für den ausgewählten Transaktionscode enthält.

    • Wenn Sie die Transaktion SE93 zur Eingabe einer zusätzlichen Berechtigung für die mit einem Berechtigungsobjekt zu startende Transaktion verwenden, benötigt der Benutzer auch dieses Berechtigungsobjekt mit dem entsprechenden Wert (TSTA, Tabelle TSTCA).

      Wenn Sie in Transaktion SE93 eine Transaktion anlegen, können Sie dieser Transaktion eine zusätzliche Berechtigung zuordnen. Dies ist sinnvoll, wenn Sie eine Transaktion mit einer einzigen Berechtigung schützen möchten. Ist dies nicht der Fall, sollten Sie andere Methoden zum Schutz der Transaktion erwägen (z.B. AUTHORITY-CHECK auf Programmebene).

  • Das System prüft, ob dem Transaktionscode ein Berechtigungsobjekt zugeordnet ist. Ist dies der Fall, wird geprüft, ob der Benutzer eine Berechtigung für dieses Berechtigungsobjekt hat.

    In folgenden Fällen findet diese Prüfung nicht statt:

    • Sie haben in Transaktion SU24 die Prüfung der Berechtigungsobjekte für die Transaktion mit Prüfkennzeichen deaktiviert, d.h. Sie haben ein in Transaktion SE93 eingegebenes Berechtigungsobjekt entfernt. Sie können die Prüfung für Objekte aus den Bereichen SAP NetWeaver und HR nicht deaktivieren.

      Weitere Informationen finden Sie unter  Prüfkennzeichen.

      Dies kann sinnvoll sein, da beim Ausführen von Transaktionen häufig eine größere Zahl von Berechtigungsobjekten geprüft wird, da im Hintergrund andere Arbeitsbereiche aufgerufen werden. Für eine erfolgreiche Prüfung müssen entsprechende Berechtigungen vorhanden sein. Dadurch erhalten einige Benutzer mehr Berechtigungen als unbedingt nötig. Außerdem bedeutet dies einen erhöhten Aufwand bei der Pflege der Berechtigungen. Daher sollten Sie Transaktion SU24 verwenden, um Berechtigungsprüfungen dieses Typs gezielt zu deaktivieren.

    • Sie haben die Transaktion SU24 oder SU25 verwendet, um Berechtigungsobjekte global für alle Transaktionen zu deaktivieren.

      Weitere Informationen finden Sie unter  Globales Ausschalten von Berechtigungsprüfungen.

      Weitere Informationen finden Sie im SAP Hinweis 1854561 Auf SAP-Site veröffentlichte Informationen.

    • Damit die in Transaktion SU24 und SU25 vorgenommenen Eingaben wirksam werden, müssen Sie den Profilparameter AUTH/NO_CHECK_IN_SOME_CASES über Transaktion RZ10 auf Y setzen.

Damit der Benutzer die Transaktion starten kann, müssen alle obigen Prüfungen erfolgreich abgeschlossen sein. Andernfalls wird die Transaktion nicht gestartet und das System zeigt eine entsprechende Meldung an.

Web-Dynpro-ABAP-Anwendungen starten

Diese Startberechtigungsprüfung wird inaktiv ausgeliefert. Damit sie verwendet werden kann, müssen Sie sie aktivieren. Nach der Aktivierung können Sie über Berechtigungen gezielt steuern, welche Web-Dynpro-ABAP-Anwendungen Benutzer ausführen dürfen.

Bei der Startberechtigungsprüfung von Web-Dynpro-ABAP-Anwendungen verwendet das System das Berechtigungsobjekt S_START analog zum Berechtigungsobjekt S_TCODE für Transaktionen. Das Objekt hat die Felder AUTHPGMID, AUTHOBJTYP und AUTHOBJNAM, die den Schlüsselfeldern PGMID, OBJECT und OBJ_NAME des Objektkatalogs (Tabelle TADIR) entsprechen. Während der Startberechtigungsprüfung prüft die Web-Dynpro-ABAP-Laufzeit also den Schlüssel des Objektkatalogeintrags für die Web-Dynpro-ABAP-Anwendung.

Achtung

Sie müssen erst Ihre Rollen anpassen und anschließend die Startberechtigungsprüfung aktivieren. Andernfalls können Ihre Benutzer keine Web-Dynpro-ABAP-Anwendungen mehr ausführen, da ihnen die entsprechenden Berechtigungen fehlen.

Weitere Informationen finden Sie in den SAP-Hinweisen 1413011 Auf SAP-Site veröffentlichte Informationen und 1413012 Auf SAP-Site veröffentlichte Informationen.

  1. Rollen anpassen

    Ihre Benutzer benötigen für jede Web-Dynpro-ABAP-Anwendung und für bestimmte Anwendungskonfigurationen eine geeignete Berechtigung für das Berechtigungsobjekt S_START zum Starten der Anwendung. Daher müssen Sie allen Profilgeneratorrollen, deren zugeordnete Benutzer Web-Dynpro-ABAP-Anwendungen ausführen dürfen, entsprechende S_START-Berechtigungen zuordnen.

    Hinweis

    Fügen Sie Startberechtigungen niemals manuell in Rollen ein, da hierbei eventuell andere erforderliche Startberechtigungen nicht hinzugefügt werden. Die Berechtigung werden nur dann automatisch hinzugefügt, wenn Sie die Anwendung dem Menü der Rolle hinzufügen.

    Damit Sie Web-Dynpro-ABAP-Anwendungen und Anwendungskonfigurationen zugeordnet werden können, benötigt der Administrator eine Berechtigung für das Berechtigungsobjekt S_USER_STA mit den Feldwerten AUTHPGMID = R3TR und AUTHOBJTYP = WDYA für Web-Dynpro-ABAP-Anwendungen oder AUTHPGMID = R3TR und AUTHOBJTYP = WDCA für Web-Dynpro-ABAP-Anwendungskonfigurationen. Das Feld AUTHOBJNAM muss die Namen der Anwendungen oder Anwendungskonfigurationen, die der Administrator zuordnen darf, oder einen Asterisk (*) für die Gesamtberechtigung enthalten.

    1. Verwenden Sie den Report RSAUTH_START_ROLES zum Ermitteln der Rollen, deren Menüs bereits vor SAP NetWeaver 7.0 EHP3 und SAP NetWeaver 7.3 Web-Dynpro-ABAP-Anwendungen enthielten.

      Weitere Informationen finden Sie im SAP Hinweis 1511363 Auf SAP-Site veröffentlichte Informationen.

    2. Legen Sie von allen Rollen, die Sie bearbeiten wollen, eine Sicherheitskopie an.

    3. Fügen Sie die Web-Dynpro-ABAP-Anwendungen und Anwendungskonfigurationen dem Rollenmenü hinzu.

    4. Wählen Sie im Profilgenerator (Transaktion PFCG) die zu bearbeitende Rolle aus und wählen Sie Ändern.

    5. Wählen Sie auf der Registerkarte Menü in der Dropdown-Liste Knoten einfügen den Knotentyp Web-Dynpro-Anwendung.

    6. Wählen Sie im Dialogfenster Web-Dynpro-Anwendung die Web-Dynpro-ABAP-Anwendungen und Anwendungskonfigurationen aus.

      Geben Sie in das Feld Web-Dynpro-Anwendung den Namen der Anwendung ein. Sie können den automatisch vom System eingefügten Beschreibungstext oder einen eigenen Beschreibungstext verwenden. Hat die Anwendung verschiedene Anwendungskonfigurationen, können Sie eine davon im Feld Anwendungskonfiguration auswählen.

    7. Sichern Sie Ihre Eingaben.

    8. Starten Sie auf der Registerkarte Authorizations die Berechtigungspflege.

      Der Profilgenerator hat in den Rollenberechtigungen die erforderlichen S_START-Berechtigungen für alle Web-Dynpro-ABAP-Anwendungen und Anwendungskonfigurationen eingefügt.

    9. Bearbeiten Sie noch offene Berechtigungsfelder.

    Hinweis

    Die Anpassung aller Rollen nimmt einige Zeit in Anspruch. Damit Ihre Benutzer während der Übergangszeit weiterarbeiten können, haben Sie folgende Möglichkeiten:

    • Aktivieren Sie die Startberechtigungsprüfung erst, wenn Sie alle Rollen angepasst haben.

    • Wenn Sie die Startberechtigungsprüfung vor dem Abschluss der Anpassung aller Rollen (z.B. zu Testzwecken) aktivieren möchten, können Sie eine Kopie der Rolle SAP_BC_WEBDYNPRO_ALL anlegen und sie für die Übergangszeit allen Benutzern zuordnen, die auf Web-Dynpro-ABAP-Anwendungen zugreifen müssen. Diese Rolle enthält eine Gesamtberechtigung für Web-Dynpro-ABAP-Anwendungen und Anwendungskonfigurationen.

  2. Startberechtigungsprüfung für Web-Dynpro-ABAP-Anwendungen und Anwendungskonfigurationen aktivieren

    Zum Bearbeiten der Tabelle benötigen Sie neben den üblichen für die Transaktion SM30 erforderlichen Berechtigungen eine Berechtigung für das Berechtigungsobjekt S_USER_ADM mit dem Wert PRGN_CUST im Feld S_ADM_AREA.

    1. Starten Sie die Tabellenpflege (Transaktion SM30) und geben Sie im Feld Tabelle/Sicht den Tabellennamen USOBAUTHINACTIVE ein. Wählen Sie Pflegen.

    2. Entfernen Sie in der Spalte Inaktiv das Kennzeichen der Anwendungstypen R3TR WDYA und R3TR WDCA.

    3. Sichern Sie Ihre Eingaben.

      Sie haben die Startberechtigungsprüfung systemweit in allen Mandanten aktiviert.

Reports starten

Beim Starten eines Reports mit der ABAP-Anweisung SUBMIT REPORT prüft das System das Berechtigungsobjekt S_PROGRAM, vorausgesetzt das Programm wurde einer Programmberechtigungsgruppe in Transaktion SE38 zugeordnet.

Ist diese Zuordnung für Ihre Systemumgebung nicht ausreichend, können Sie mit dem Report RSCSAUTH Ihre eigene Gruppenzuordnung definieren. Sie müssen diese Zuordnung nach der Installation von Support Packages oder Upgrades prüfen und bei Bedarf eine Neuzuordnung der Reports vornehmen.

Achtung

Sie können nicht alle Programme mit Programmberechtigungsgruppen schützen. Ausgewählte Systemprogramme (z.B.RSRZLLG0 und STARTMEN) sowie Programme, die bei der Anmeldung oder mit einem SUBMIT in einem Customer-Exit aufgerufen werden (z.B. SUSR0001 und ZXUSRU01), können nicht mir einer Berechtigungsgruppe geschützt werden.

Hinweis

Wird ein Report ohne eine Berechtigungsgruppe aus der Entwicklungsumgebung (z.B. SE38 und SE80) aufgerufen, prüft das System auch das Berechtigungsobjekt S_DEVELOP mit der Aktivität 16.

RFC-Funktionsbausteine aufrufen

Werden RFC-Funktionsbausteine über RFC-Verbindungen (z.B. von einem RFC-Client-Programm oder einem anderen System) aufgerufen, wird im aufgerufenen System eine Berechtigungsprüfung auf das Berechtigungsobjekt S_RFC ausgeführt.

Bei dieser Prüfung wird der Name der Funktionsgruppe geprüft, zu der der Funktionsbaustein gehört. Schlägt diese Prüfung fehl, prüft das System auch die Berechtigungen für den Namen des Funktionsbausteins.

Konfigurieren Sie diese Prüfung mit dem Parameter auth/rfc_authority_check.

Generischer Zugriff auf Tabellen

Das System kontrolliert den direkten Zugriff auf die Inhalte von Tabellen, z.B. mit den Transaktionen SE16, SM30 oder SE16N mit Berechtigungsprüfungen auf einer Tabellenberechtigungsgruppe, Objekt S_TABU_DIS. Sind keine geeigneten Berechtigungen für die Tabellenberechtigungsgruppe vorhanden, prüft das System den Namen der Tabelle oder Sicht, Objekt S_TABU_NAM. Bei Änderungen an mandantenunabhängigen Tabellen prüft das System auch die Berechtigungen für das Objekt S_TABU_CLI.

Wenn Sie im Customizing zeilenbasierte Berechtigungsprüfungen konfiguriert haben, prüft das System auch das Berechtigungsobjekt S_TABU_LIN.

Ordnen Sie einer Tabellenberechtigungsgruppe mit der Transaktion SE11 oder SE54 Tabellen oder Sichten zu. Sie können Tabellenberechtigungsgruppen auch mit der Transaktion SE54 definieren.

Wenn Ihre Kundenentwicklung einen direkten Zugriff auf eine Tabelle implementiert, verwenden Sie den Funktionsbaustein VIEW_AUTHORITY_CHECK für die Durchführung der Berechtigungsprüfung.

Weitere Informationen über den generischen Zugriff auf Tabellen finden Sie im SAP-Hinweis 1434284 Auf SAP-Site veröffentlichte Informationen und der Online-Dokumentation für die oben genannten Berechtigungsobjekte.

Weitere Informationen