SAP Berechtigungen Kritische Berechtigungen - SAP Basis

Direkt zum Seiteninhalt
Kritische Berechtigungen
Einführung & Best Practices
Definieren Sie explizite Berechtigungsprüfungen auf Codeebene immer dann, wenn Sie Transaktionen aus ABAP-Programmen starten oder auf kritische Funktionen bzw. Daten zugreifen. Dies ist die einfachste und effektivste Verteidigung, um Ihre Geschäftsanwendungen vor Missbrauch zu schützen, denn Berechtigungsprüfungen auf Programmierebene können zwei Aspekte sicher gewährleisten: Unvollständige oder fehlerhafte Prüfung der ausgeführten Transaktionsstartberechtigungen führen zu Compliance-Verstößen. Komplexe Berechtigungsprüfungen können auch für die parametrisierte Verwendung von CALL TRANSACTION hinreichend durchgeführt werden.

Beim Erstellen des Berechtigungskonzepts wird eine Namenskonvention für PFCG-Rollen definiert. Jeder Kunde hat hier eigene Vorlieben bzw. Vorgaben, an die man sich halten muss. Unseren Projekterfahrungen nach, bieten sich einige Namenskonventionen besonders an. Namenskonventionen für PFCG-Rollen können sehr vielfältig ausfallen. Sie haben sicher festgestellt, dass selbst die von SAP ausgelieferten Rollen keiner einheitlichen Namenskonvention entsprechen. So gibt es Rollen, deren Namen mit SAP_ anfangen. Es gibt aber auch Rollen, z. B. für das SRM-System, die mit dem Namensraum /SAPSRM/ beginnen. In diesem Tipp möchten wir Ihnen einige Hinweise und Kriterien mitgeben, die Sie bei der Definition einer Namenskonvention von PFCG-Rollen zurate ziehen können.
Berechtigungskonzepte in SAP Systemen
Wenn Sie nun die Zeile mit der von Ihnen erstellten Parametertransaktion markieren und auf den Button Vorschlagswerte klicken, wird automatisch das Berechtigungsobjekt S_TABU_NAM mit den korrekten Vorschlagswerten, also dem Tabellennamen in der Transaktion SU24 angelegt. Prüfen Sie diese Vorschlagswerte, indem Sie auf Ja in der Spalte S_TABU_NAM klicken. Sie landen nun in einem View aus der Transaktion SU24 und können in den Tabellen Berechtigungsobjekte und Berechtigungsvorschlagswerte (für alle Berechtigungsobjekte) prüfen, welche Änderungen am Objekt S_TABU_NAM automatisch vorgenommen worden sind. Nutzen Sie den SAP-Hinweis 1500054 für weitere Informationen und eine Implementierungsanleitung. Der SAP-Hinweis liefert darüber hinaus den Analysereport SUSR_TABLES_WITH_AUTH, der Tabellenberechtigungen für Anwender oder Einzelrollen angibt. Dieser Report prüft auf Benutzer- oder Einzelrollenebene, für welche Tabellen aufgrund der Berechtigungsobjekte S_TABU_DIS oder S_TABU_NAM Berechtigungen vorhanden sind. Der Report prüft nicht, ob der Anwender über die ebenfalls notwendigen Transaktionsstartberechtigungen, wie z. B. S_TCODE, verfügt. Prüfen Sie z. B., welche Tabellenberechtigungen ein bestimmter Benutzer aufgrund des Berechtigungsobjekts S_TABU_DIS hat, erhalten Sie die Informationen zu den Tabellennamen, zur dazugehörigen Tabellenberechtigungsgruppe und zu den berechtigten Aktivitäten. Die Berechtigungen zum Zugriff auf Tabellen direkt zu vergeben, ist flexibel und sinnvoll, ist nur dann nicht empfehlenswert, wenn der Mechanismus ausgehebelt wird, indem der Anwender über generische Pflegetools generellen Tabellenzugriff erhält.

Nachdem die funktionale Spezifikation abgenommen worden ist, kann man mit der Umsetzung begingen: Erstellen Sie dafür zuerst Ihr kundeneigenes Berechtigungsobjekt und implementieren Sie die dafür vorgesehene Berechtigungsprüfung. Im nächsten Schritt müssen Sie die Vorschlagswerte in der Transaktion SU24 für die jeweilige kundeneigene Transaktion pflegen. Rufen Sie hierzu Ihre eigens erstellte Transaktion auf, und weisen Sie die notwendigen Berechtigungsobjekte entweder manuell über den Button Objekt zu, oder verwenden Sie den Berechtigungs- oder Systemtrace zur Vergabe der Berechtigungen (siehe Tipp 40, »Den Berechtigungstrace zur Ermittlung von Vorschlagswerten für kundeneigene Berechtigungen verwenden«). Dabei müssen Sie die im kundeneigenen Coding verwendeten Berechtigungsobjekte hinterlegen. Pro Berechtigungsobjekt können Sie Feldwerte pflegen, die als Vorschlagswerte in den jeweiligen Rollen auftauchen. Nun müssen alle betroffenen Rollen angepasst werden. Ist der Abmischmodus für die Transaktion PFCG auf Ein gestellt (siehe Tipp 38, »Die Transaktionen SU22 und SU24 richtig verwenden«), werden alle PFCG-Rollen, die der jeweilige Transaktion im Rollenmenü zugewiesen werden, erkannt und können über die Transaktion SUPC neu abgemischt werden. Befindet sich die kundeneigene Transaktion noch nicht in den PFCG-Rollen, wird sie an dieser Stelle ergänzt, und die jeweilige PFCG-Rolle wird neu abgemischt.

Mit "Shortcut for SAP systems" können Sie die Zuweisung von Rollen nach einem Go-Live automatisieren.

Ein Teil der Gefahren geht von potenziellen Sicherheitslücken im ABAP-Code hervor, die sich meistens nicht durch nachgelagerte Maßnahmen schließen lassen und daher im Code selbst bereinigt werden müssen.

Die Funktion weist den Rollen den Abmischmodus zu, was Schritt 2c aus der Transaktion SU25 entspricht (siehe Tipp 43, »Berechtigungen nach einem Upgrade anpassen«).
SAP BASIS
Zurück zum Seiteninhalt