Analyse von Berechtigungsfehlern in SAP HANA

Die SAP HANA Datenbank ist die strategische Plattform für SAP Business-Applikationen, wie SAP S/4HANA oder SAP BW/4HANA oder native Applikationen, welche ohne SAP NetWeaver ABAP-Applikationsserver auskommen.

Mittels SQL Statement oder analytischer Applikation, wie zum Beispiel SAP Analytics Cloud, Analysis for Office etc. können Anwender – vorausgesetzt sie besitzen einen Benutzer in der SAP HANA Datenbank mit entsprechenden Berechtigungen (weitere Informationen hierzu finden Sie hier in unserem Blog) – direkte Auswertungen, Prognosen oder Applikationen ausführen. Abseits der applikatorischen Ebene kann es nun auch erforderlich sein, auf Datenbankebene allfällige Fehler lokalisieren und beheben zu müssen. In diesem Blogbeitrag werden die vorhandenen Möglichkeiten zur Fehleranalyse in einer SAP HANA Datenbank aufgezeigt.

Kommt es bei der Ausführung einer Anwendung, z. B. unter Verwendung von SAP LUMIRA, SAP Analysis für Microsoft Excel oder der XS Engine von SAP HANA zu einer Fehlermeldung, dass ein Benutzer nicht berechtigt ist, gibt es bis einschließlich SAP HANA 2.0 SPS03 nur die Möglichkeit, einen Berechtigungstrace zu erstellen. Häufig sieht man sich mit Fehlermeldungen, wie beispielhaft unten dargestellt, konfrontiert.

Ein Bild, das Text enthält.Automatisch generierte Beschreibung
Ein Bild, das Text enthält.Automatisch generierte Beschreibung
Abbildung 1/2: HANA Cockpit – Fehlermeldung mit Details

Der Berechtigungstrace kann über das HANA Studio oder via HANA Cockpit erstellt werden. Dabei sollten Name (Kontext) der Tracedatei, Applikations- oder Datenbankbenutzer hinterlegt werden. Die Trace-Komponente ist ‚Authorization‘ des Indexservers. Im Folgenden wird die Vorgehensweise im HANA Cockpit beispielhaft aufgezeigt.

Abbildung 3: HANA Cockpit – Aufruf Datenbankexplorer
Abbildung 4: Trace Konfiguration
Ein Bild, das Tisch enthält.Automatisch generierte Beschreibung
Abbildung 5: Trace einschalten

Anschließend muss der Benutzer aufgefordert werden, die zuvor fehlgeschlagene Aktion zu wiederholen, damit das Tracefile im Hintergrund erstellt wird.

Abbildung 6: HANA DB Explorer Tracefiles Indexserver

Nun kann anhand des Kontextes (Tracefile) Namens eruiert werden, welche Berechtigung dem Anwendungsbenutzer fehlt:

Abbildung 7: Tracefile mit Berechtigungsfehler

Da diese Variante der Auswertung sehr aufwendig ist, besteht seit SAP HANA 2.0 SPS04 eine neue Möglichkeit der Auswertung: die Fehleranalyse mittels GUID. Eine Aktivierung des Traces und ein erneuter Aufruf ist nicht erforderlich. Mit Hilfe der GUID lässt sich standardmäßig die Fehlerursache nachvollziehen. Praktischerweise stellt auch das HANA Cockpit eine eigene Applikation ab Version 2.0 SP11 bereit, um die Analyse zu vereinfachen (siehe: User Management and Security Administration – SAP Help Portal).

Ein Bild, das Text enthält.Automatisch generierte Beschreibung
Abbildung 8: HANA Cockpit Applikation

Berechtigungsadministratoren, die diese Applikation zum Auslesen der Berechtigungsprüfung nutzen möchten, benötigen das «EXECUTE» Privileg für die Stored Procedure GET_INSUFFICIENT_PRIVILEGE_ERROR_DETAILS aus dem Standardschema SYS.

Abbildung 9: HANA Cockpit Applikation Insufficient Privilege Details

Initial besitzt nur der Benutzer SYSTEM dieses Privileg. Damit die Analyse auch mit anderen Benutzern möglich ist, gilt als Best Practice dieses Privileg dem Benutzer _SYS_REPO initial zuzuweisen, damit über eine Repository Rolle diese Berechtigung auf die genannte Prozedur Berechtigungsadministratoren zur Verfügung gestellt werden kann. Wie dieses erreicht wird, ist nachfolgend beschrieben.

Ein Bild, das Tisch enthält.Automatisch generierte Beschreibung
Abbildung 10: HANA Cockpit Zuweisung Privilegien

Alternativ ist auch die Zuweisung über SQL Statement möglich:

GRANT EXECUTE ON SYS.GET_INSUFFICIENT_PRIVILEGE_ERROR_DETAILS TO _SYS_REPO WITH GRANT OPTION

Anschließend ist eine Repository Rolle mit dem Objekt Privileg EXECUTE auf die Prozedur GET_INSUFFICIENT_PRIVILEGE_ERROR_DETAILS zu erstellen und diese den Berechtigungsadministratoren zuzuweisen. Das Erstellen von Repository Rollen ist nur über das HANA Studio (Developer Perspektive) oder über die Web IDE XS Classic möglich. Alternativ kann das Objekt Privileg direkt einem Benutzer zugewiesen werden, was jedoch vermieden werden sollte. Lesen Sie zu diesem Thema mehr in unserem Blog Möglichkeiten der Rollen-Adminsitration in SAP HANA.

Abbildung 11: Web IDE XS Classic Rollenerstellung

Tritt nun ein Berechtigungsfehler auf, so benötigt der Berechtigungsadministrator nur noch die GUID, die dem Benutzer mit der Fehlermeldung angezeigt wird. Ein Beispiel finden Sie hier:

Ein Bild, das Text enthält.Automatisch generierte Beschreibung
Abbildung 12: Berechtigungsfehler HANA Datenbank Explorer

Nach Eingabe der GUID in der zu Beginn erwähnten HANA Cockpit-Applikation wird das fehlende Privileg angezeigt. Zusätzlich erscheint die Auflistung der vorhandenen Rollen, welche das fehlende Privileg beinhalten.

Abbildung 13: GUID Auswertung HANA Cockpit

Die Insufficient Privilege Details Applikation erlaubt das direkte Zuweisen des Privilegs für den Benutzer. Dies wird, wie oben beschrieben, nicht empfohlen. Stattdessen besteht die Möglichkeit, eine bereits vorhandene Rolle zuzuweisen.

Ein Bild, das Text enthält.Automatisch generierte Beschreibung
Abbildung 14: Dialog Zuweisung Rolle Insufficient Privilege Details

Mit der Einführung dieses Features wurden in der Konfigurationsdatei global.ini mit SAP HANA 2.0 SPS04 folgende neue Parameter aufgenommen, welche für die Fehleranalyse relevant sind und berücksichtigt werden sollten.

  • enable_insufficient_privilege_error_details_procedure
    Aktivierung/Deaktivierung der Prozedur zur automatischen Fehlerprotokollierung via GUID
  • insufficient_privilege_error_details_retain_duration
    Aufbewahrungsdauer der Fehlerereignisse
  • insufficient_privilege_error_details_retain_records
    Max. Anzahl der Einträge der protokollierten Fehlerereignisse
Abbildung 15: Konfigurationsparameter in der global.ini für Insufficient Privilege Fehler

Benötigen Sie Unterstützung in der Administration Ihrer SAP HANA-Berechtigungen? Sind Sie häufig mit Fehlersituationen konfrontiert und möchten diese signifikant reduzieren? Xiting besitzt umfangreiche Expertise und Erfahrung mit Schwerpunkt SAP HANA-Sicherheit. Gerne besprechen wir mit Ihnen Ihre konkreten Anforderungen und wie wir mit unseren SAP HANA Services unterstützen können. Zögern Sie nicht, uns für ein erstes Gespräch zu kontaktieren.

Weitere Infos können Sie unserer Website entnehmen:

Volker Deneke
Kontakt

Nehmen Sie Kontakt mit uns auf!

Haben Sie Fragen zu unseren Produkten?

+41 43 422 8803
[email protected]
+49 7656 9888 155
[email protected]
+1 855 594 84 64
[email protected]
+44 1454 838 785
[email protected]
Kontakt
Termin