SAP Jobsuche bei DV-Treff
Greenhorn01
vor 14 Jahre
Hallo zusammen,

bin SAP-Neuling und soll für einen Kunden Skripte mit verschiedenen Datenbankabfragen im Bereich Sicherheit schreiben.
Generell geht es dabei darum, die Berechtigungen von Usern zu überprüfen. Man überprüft also, welche User die Berechtigung für welche Transaktionen haben.

In SAP würde man hierfür beispielsweise den Report RSUSR002 verwenden oder eine Abfrage im AIS starten.

Um das Ganze auf Datenbankebene zu machen, könnte man z.B. die Tabellen AGR_1251 und USR02 benutzen.

Meine Frage an euch:
Haltet ihr eine derartige Abfrage über die Datenbank für sinnvoll? Wären die generierten Ergebnisse überhaupt valide?

viele Grüße
Förderer

sapler51
vor 14 Jahre
Hallo,

die Frage ist, wie Du auf die Daten zugreifen willst? Mit einer RFC-Verbindung? Direkt mit SQL?

Von einem direkten Zugriff mittels SQL möchte ich abraten, denn Du musst für die Verbindung das Datenbankpasswort eingeben, was das Script unischer macht.

Außerdem, weis ich nicht, ob es hier nicht Lizenzschwierigkeiten mit der SAP gibt, weil Du direkt auf die Datenbank zugreifst, früher war das mal verboten.

Gruß

Bernd

Greenhorn01
vor 14 Jahre
Hallo Bernhard,
die Skripte operieren nicht innerhalb von SAP. Es werden vorher Daten entsprechend der Benutzerberechtigung aus dem System extrahiert, auf denen dann das Skript läuft. Die Daten können dabei auch nur gelesen und nicht verändert werden.
sapler51
vor 14 Jahre
Ok!

Dann hast Du also nur den Datenstand des letzten Downloads. Damit kannst Du dann bel. Auswertungen fahren.

Evtl. brauchst Du auch noch die AGR_DEFINE um Master- und abgeleitete Rollen zu unterscheiden.

Gruß

Greenhorn01
vor 14 Jahre
Richtig.
Würdest du die generierten Ergebnisse für aussagekräftig halten?
Möchte in meinen Skripten explizit ermitteln, welcher User für welche Transaktion eine Berechtigung hat.
Habe aber von einem anderen Experten den Hinweis bekommen, dass die Ergebnisse nicht die gleichen wären wie die, die das AIS ermitteln würde (weil auf Funktionen ja mit verschiedenen Transaktionen oder auch per RFC zugegriffen werden kann).

Viele Grüße
sapler51
vor 14 Jahre
Also,

da SAP die Daten der Rollen in die AGR_1251 ablegt, sind die genauso richtig wie die aus allen Reports im SAP.

Du hast aber den Stand des letzten Downloads, damit kann sich in den Daten natürlich mittlerweile verändert haben.

Da die Auswertung - wie ich denke - aus dem Prod-System kommen, dieses aber nur über Transporte beliefert wird, sind die

Änderungen nicht so zahlreich. In Deiner Auswertung brauchst Du doch eh nur tagesaktuell zu sein, odder?

Gruß

sapler51
vor 14 Jahre
Zusatz:

Wenn Du allerdings Timestamps benötigst, wann die Rolle zum letzten mal generiert wurde, oder Du Auswertungen über die Rollenänderung (Rollenänderungsbelege) fahren sollst, dann

brauchst Du noch andere Tabellen wie z.B. AGR_TIME etc.

Für einen reinen Report des Ist-Zustandes brauchst Du diese Daten nicht, weil sie sich sowieso zu schnell ändern können (z.B. Last-login)

Greenhorn01
vor 14 Jahre
Die Auswertungen sollen nur tagesaktuell sein, richtig. Für den aktuellen Stand muss der Kunde die nötigen Daten wieder neu downloaden, was aber kein Problem darstellt.

Danke, hast mir sehr geholfen.

Viele Grüße
LÖWENSAP
vor 14 Jahre

Tag in die Runde,

ich würde dir eine simple Excel-Tabelle mit Pivottabellen empfehlen.

Du ziehst dir die Tabelle UST04 und hast die Zuordnung der Profile zum User. Dann ziehst du dir noch die UST10S und erhälst die Berechtigungsprofile zu den Profilen. Diese liest du der UST04 über einen SVERWEIS zu. Danach holste dir noch die UST12 und ziehst dir dort die S_Tcodes raus und weist diese den Profilen zu. Damit haste heraus gefunden, wer welche Transaktionen nutzen darf.

Bedenke, nur weil einer einen S_Tcode hat, heißt es noch nicht, dass er auch die Transaktion nutzen darf!!

Ciao

Greenhorn01
vor 14 Jahre
Hallo Löwensap,
habe deinen Ansatz für die Berechtigungsprüfung verwendet, erhalte allerdings andere Ergebnisse als mit dem Benutzerinformationssystem. Hast du eine Idee, woran das vielleicht liegen könnte?

Ich gehe wie du schon beschrieben hast vor. Sprich ich ordne den Benutzern, basierend auf den Sammelprofilen, die Einzelprofile zu und vergleiche die Berechtigungen der Einzelprofile mit der UST12.

Gruß
LÖWENSAP
vor 14 Jahre

Servus!

Das Problem hatte ich ehrlich gesagt auch.

Ich führe es aber darauf zurück, dass hier das BIS falsch arbeitet. Denn wir verwenden via der Excel-Tabelle lediglich die SAP-Tabellen und summieren Werte und machen Zuordnungen. Nach meinem Verständnis ist diese Methode die richtige. Im Endeffekt weiß man nicht, was das BIS im Hintergrund macht, um auf das Ergebnis zu kommen.

Beste Grüße

Greenhorn01
vor 14 Jahre
LÖ schrieb:

Servus!

Das Problem hatte ich ehrlich gesagt auch.

Ich führe es aber darauf zurück, dass hier das BIS falsch arbeitet. Denn wir verwenden via der Excel-Tabelle lediglich die SAP-Tabellen und summieren Werte und machen Zuordnungen. Nach meinem Verständnis ist diese Methode die richtige. Im Endeffekt weiß man nicht, was das BIS im Hintergrund macht, um auf das Ergebnis zu kommen.

Beste Grüße



Den Eindruck habe ich allerdings auch. Bei mir differieren die Ergebnisse immer um ein paar User. Wenn ich aber dann in die Berechtigungen der User per Hand im System nachschaue, müssten sie zur entsprechenden Transaktion eigentlich berechtigt sein, sind es aber laut BIS nicht.

Viele Grüße