Konzeption von HANA Datenbank-Rollen
Je nach Umfang und Nutzung einer SAP HANA® Datenbank kann die Benutzeranzahl derer, die das System administrieren, stark variieren. Selbst innerhalb eines kleinen HANA IT-Teams sollte es eine vernünftige Funktionstrennung geben. Das Berechtigungskonzept ist damit ein wichtiges Werkzeug um die Datenbank aus Berechtigungssicht sinnvoll abzusichern. Die SAP unterstützt diese Vorgehensweise mittels so genannten „Privileges“ und der Möglichkeit „Rollen“ zur Verwaltung dieser zu erstellen.
Die SAP unterscheidet folgende Privilege-Typen:
- System Privileges Berechtigung zur Systemadministration
- Object Privileges Berechtigungen für den Zugriff auf Schemata, Tabellen, Views,
Prozeduren, etc.
- Package Privileges Berechtigungen für Entwickler innerhalb des Repositories
- Analytic Privileges Berechtigungen für den Zugriff auf Analyse-Views (Reporting)
- Application Privileges Berechtigungen für den Aufruf von HANA-XS-Anwendungen (Apps)
Ähnlich wie in SAP ABAP®, gilt auch in HANA das Prinzip des „positiven Berechtigungskonzepts“, d.h. es muss ausdrücklich festgelegt werden, welche Funktion ein Benutzer ausführen darf. „Privileges“ enthalten die Berechtigungen für die verschiedenen Datenbankfunktionen. Sie können einem Benutzer direkt zugewiesen werden. Aufgrund der Vielfalt ist es jedoch nicht zu empfehlen, eine Direktzuweisung ohne ein konkretes Konzept vorzunehmen. Ein Best-Practice-Ansatz ist der Einsatz von „Design-Time Roles“, also Datenbank-Rollen. Eine design-time definierte Datenbank-Rolle wird in Textformat in einer Datei mit der Endung .hdbrole gespeichert. Zusätzlich gibt es in HANA die Runtime-Katalogrollen, auf welche jedoch hier nicht näher eingegangen wird.
Rollen erleichtern die Verwaltung der „Privileges“. Eine Rolle kann „Privileges“ und andere Rollen enthalten. Die SAP liefert für HANA eigene Standardrollen, die jedoch sehr umfangreich sind und weitreichende Berechtigungen für Zugriffe und Funktionen innerhalb der Datenbank zulassen. Wir empfehlen Ihnen daher, ein eigenes Rollenkonzept für die Datenbank-Berechtigungen zu erstellen, mit welchem Sie gezielt die Zugriffsrechte für die Administration und Entwicklung verwalten können.
Eine gute Funktionstrennung innerhalb eines HANA IT-Teams stellt die folgende Einteilung dar:
- Benutzeradministration Verwaltung der Benutzeraccount und deren Berechtigungen
- Entwicklung Entwicklungen innerhalb der Datenbank
- Notfall Eine Rolle mit weitreichenden Rechten für administrative Notfälle
- Rollenadministration Erstellung und Pflege der Datenbank-Rollen
- Security-Administration Administration der Sicherheitsfunktionen der Datenbank
- Systemadministration Administration der Systemfunktionen der Datenbank
Die Rolle für die Entwicklung stellt hierbei die größte Herausforderung dar und je nach Umfang innerhalb eines Unternehmens, sollte dieser Bereich noch granularer gestaltet werden. Zudem wird nicht jede Rolle in jeder Systemschiene benötigt, sofern es sich um eine Multi-System-Landschaft handelt. Die Verwaltung der Rollen sollte beispielsweise nur in einem Entwicklungssystem stattfinden, wohingegen die Benutzeradministration bis ins Produktivsystem reicht.
Die Bereiche System- und Security-Administration werden von uns auch getrennt betrachtet. Ein Beispiel ist die Verschlüsselung mit den „Privileges“ ENCRYPTION ROOT KEY ADMIN, CREATE CLIENTSIDE ENCRYPTION KEYPAIR und DROP CLIENTSIDE ENCRYPTION KEYPAIR oder die Verwaltung von Schnittstellen durch CREATE REMOTE SOURCE, CREDENTIAL ADMIN und ADAPTER ADMIN. Bei der Erstellung eines Berechtigungskonzepts sollte die Frage im Raum stehen, ob man derartige Themen unabhängig von einem Systemadministrator verwaltet.
Nichtsdestotrotz kann es auch in einem HANA System vorkommen, dass ein schwerwiegender Systemfehler als Notfall eintritt, welcher die Stabilität und Sicherheit der Datenbank gefährden kann. Zu diesem Zwecke sollte es für die Administratoren die Möglichkeit eines Notfallbenutzers oder einer Notfallrolle geben, durch welche sie temporär erweiterte Berechtigungen erlangen. Dieser Vorgang und die ausgeführten Funktionen sollten natürlich geloggt werden. Es gibt einige hoch kritische Berechtigungen, welche nicht im Tagesgeschäft verwendet werden sollten. Ein Beispiel ist „das Privilege“ DATA ADMIN, mit dem alle DDL Kommandos ausgeführt werden können, wie zum Beispiel die Erstellung neuer Tabellen oder die Löschung bereits existenter (Standard-) Tabellen.
Wenn Sie mehr zu den verschiedenen „Privileges“, Datenbank-Rollen und der Absicherung einer HANA Datenbank erfahren wollen, empfehlen wir Ihnen Thomas Tiede’s neuesten SAP-Leitfaden: SAP HANA – Sicherheit und Berechtigungen.
Autorin: Sabrina Kleinguetl ist Beraterin im Bereich SAP Audit & Consulting bei der IBS Schreiber.