SAP HANA DB Sicherheit
Wie in anderen Bereichen der SAP Welt wird auch im Feld SAP HANA DB Sicherheit groß geschrieben. Rollen und Berechtigungen sind dabei von zentraler Bedeutung. Die SAP HANA DB (High Performance Analytic Appliance) ist eine Datenbank, die über die In-Memory-Technologie verfügt und dadurch für das Big Data Umfeld geeignet ist. Das Halten sämtlicher Daten im Arbeitsspeicher befähigt die Datenbank dazu, Analysen und Berechnungen in Echtzeit durchzuführen.
Die SAP HANA DB Sicherheit
Mit SAP HANA DB Sicherheit werden wichtige Daten vor unbefugtem Zugriff geschützt. Dabei wird sichergestellt, dass die Standards und die Compliance vom Unternehmen eingehalten werden. Zudem bietet SAP HANA eine Multitenant-Datenbank an, in der mehrere Datenbanken auf einem einzelnen SAP HANA System erstellt werden können. Diese wird als Datenbankcontainer mit mehreren Mandanten bezeichnet. Daher enthält SAP HANA sicherheitsrelevante Funktionen für alle Datenbankcontainer mit mehreren Mandanten. Zu diesen sicherheitsrelevanten Funktionen gehören:
- Benutzer- und Rollenverwaltung
- Genehmigung
- Authentifizierung
- Verschlüsselung von Daten in der Persistenzschicht
- Verschlüsselung von Daten in der Netzwerkschicht
Die SAP HANA DB kann ausschließlich auf bestimmten Unix-Derivaten installiert werden. Der SSFS (Secure Store in the File System) wird im Dateisystem abgelegt, in dem z.B. die Root Keys für die Verschlüsselungen gespeichert werden.
Die Speicherung der persistenten Daten erfolgt im Dateisystem. Außerdem speichert HANA in regelmäßigen Abständen (Savepoints) Abbilder der Datenbank auf der Festplatte des HANA-Servers, um eine Wiederherstellung zu ermöglichen. Normalerweise werden die persistenten Daten unverschlüsselt auf die Festplatte geschrieben. Diese Verschlüsselung muss explizit aktiviert werden. In der Standardinstallation erfolgt auch die Kommunikation unverschlüsselt. Um die interne und externe Kommunikation zu verschlüsseln, kann das Transport-Layer-Security-(TLS-)/Secure-Sockets-Layer-(SSL-)Protokoll genutzt werden. Standardmäßig werden aber auch unverschlüsselte Verbindungen akzeptiert. Dazu ist die Konfiguration der sicherheitsrelevanten Systemparameter für die Systemsicherheit substanziell. Zudem werden diese auch in Textdateien im Unix gespeichert. Sie steuern Komponenten wie die Authentifizierung, die Verschlüsselung und die Protokollierung.
Unterscheidung der Begriffe Datensicherheit und Datensicherung
Bei der Datensicherheit stehen die Maßnahmen im Mittelpunkt, die ergriffen werden können, um einen Datenverlust bzw. den Missbrauch der Daten zu vermeiden. Dahingegen wird bei der Datensicherung davon ausgegangen, dass die Daten irgendwann und in irgendeiner Form vernichtet werden könnten. Als Datensicherung wird das Kopieren der Daten bezeichnet, um im Fall der Vernichtung diese wiederherstellen zu können. Auf diese Weise werden die Daten vor dem endgültigen Verlust geschützt. Für die Datensicherung kommen mehrere Methoden in Frage. Zwei sehr bekannte Arten sind die Delta (Sicherung von Änderungen) und die vollständige (komplette Kopie) Datensicherung.
Benutzer und Rollen
In Bezug auf die Benutzer- und Rollenverwaltung im SAP HANA gibt es zwei verschiedene Architekturen:
Die dreistufige Architektur
SAP HANA kann als relationale Datenbank in einer 3-Tier-Architektur verwendet werden. In dieser Architektur werden Sicherheitsfunktionen (Autorisierung, Authentifizierung, Verschlüsselung und Überwachung) auf Anwendungsserverebenen installiert. Die SAP Anwendung (ERP, BW, usw.) stellt nur mithilfe eines technischen Benutzer- oder Datenbankadministrators eine Verbindung zur Datenbank her. Der Endbenutzer kann nicht direkt auf die Datenbank oder den Datenbankserver zugreifen.
Die zweistufige Architektur
Die erweiterten Anwendungsservices von SAP HANA (SAP HANA XS) basieren auf der 2-Tier-Architektur, in der Anwendungsserver, Webserver und Entwicklungsumgebung in ein einziges System eingebettet sind.
Authentifizierung
Die Sicherheit mit der SAP HANA DB wird u.a. mit verschiedenen Authentifizierungsmethoden sichergestellt. Dazu zählen:
- Kerberos: Kerberos kann entweder direkt vom JDBC- und ODBC-Client (SAP HANA Studio) oder wenn HTTP für den Zugriff auf SAP HANA XS verwendet wird, angewendet werden.
- Benutzername und Passwort: Wenn der Benutzer den Benutzernamen und das Kennwort der Datenbank eingibt, authentifiziert die SAP-HANA-Datenbank den Benutzer.
- Security Assertion Markup Language (SAML): Mit SAML kann der SAP HANA Benutzer authentifiziert werden, der direkt über ODBC / JDBC auf die SAP-HANA-Datenbank zugreift. Hierbei handelt es sich um einen Vorgang, bei dem die externe Benutzeridentität dem internen Datenbankbenutzer zugeordnet wird, sodass sich der Benutzer mit der externen Benutzer-ID in der SAP-Datenbank anmelden kann.
- JSON Web Tokens (JWT): Ähnliches wie bei SAML gilt auch für JWT, mit dem Unterschied, dass JSON die Basis ist. Für beide Varianten sind Identity-Provider für die Legitimation notwendig. Diese müssen im Certificate Store definiert werden, um für die Authentifizierung genutzt werden zu können.
- SAP-Anmelde- und Assertions-Tickets: Der Benutzer kann durch Anmelde- oder Assertion-Tickets authentifiziert werden, die für das Erstellen eines Tickets konfiguriert und an den Benutzer ausgegeben werden.
- X.509-Client-Zertifikate: Bei SAP HANA XS Access by HTTP können von einer vertrauenswürdigen Zertifizierungsstelle (CA) signierte Clientzertifikate zur Authentifizierung des Benutzers verwendet werden.
Autorisierung und Berechtigungen
Die SAP-HANA-Autorisierung ist erforderlich, wenn ein Benutzer die Client-Schnittstelle (JDBC, ODBC oder HTTP) verwendet, um auf die SAP-HANA-Datenbank zuzugreifen. Abhängig von der Berechtigung, die dem Benutzer zur Verfügung gestellt wird, kann er Datenbankoperationen für das Datenbankobjekt ausführen. Diese Berechtigungen werden “Privilegien” genannt. Die Berechtigungen können dem Benutzer direkt oder indirekt (über Rollen) erteilt werden. Alle den Benutzern zugewiesenen Berechtigungen werden zu einer Einheit zusammengefasst. Wenn ein Benutzer versucht, auf ein SAP-HANA-Datenbankobjekt zuzugreifen, führt das SAP HANA System eine Berechtigungsprüfung für den Benutzer über Benutzerrollen durch und erteilt die Berechtigungen direkt. Wird die angeforderte Berechtigung gefunden, überspringt das SAP HANA System weitere Prüfungen und gewährt Zugriff auf Anforderungsdatenbankobjekte.
Typen von Berechtigungen
Systemprivilegien
Die Systemprivilegien steuern die normale Systemaktivität. Alle in SAP HANA verfügbaren Systemprivilegien sind in der Tabelle SYS.PRIVILEGES aufgelistet. Dort können sie über die System View PRIVILEGES eingesehen werden. Außerdem ist im SAP HANA Security Guide eine Auflistung und Beschreibung aller Systemprivilegien zu finden. Ihr Einsatz ist charakteristisch für:
- das Anlegen und Löschen von Schema in SAP HANA DB
- die Verwaltung von Benutzer und Rolle in der SAP HANA DB
- SAP HANA Datenbank überwachen und nachverfolgen
- Durchführung von Datensicherheit
- Lizenzverwaltung
- Versionsverwaltung
- Auditverwaltung
- Import und Export von Inhalten
- Pflege von Liefereinheiten
Objektprivilegien
Mit Objektberechtigungen, die SQL Berechtigungen sind, werden Berechtigungen zum Lesen und Ändern von Datenobjekten erteilt. Um auf Datenbankobjekte zugreifen zu können, benötigt der Benutzer Objektberechtigungen für Datenbankobjekte oder für das Schema, in dem sich das Datenbankobjekt befindet. Objektprivilegien können Katalogobjekten (Tabellen, Ansichten, usw.) oder Nichtkatalogobjekten (Entwicklungsobjekten) gewährt werden.
Analytische Berechtigungen
Analyseberechtigungen werden verwendet, um den Lesezugriff auf Daten des SAP HANA Informationsmodells (Attributansicht, Analyseansicht, Berechnungsansicht) zu ermöglichen.
- Dieses Privileg wird während der Abfrageverarbeitung ausgewertet.
- Analytic Privileges gewährt unterschiedlichen Benutzern Zugriff auf verschiedene Datenbereiche in die gleiche Informationssicht basierend auf der Benutzerrolle.
- Analyseberechtigungen werden in der SAP HANA Datenbank verwendet, um Daten auf Zeilenebene bereitzustellen.
Die Steuerung zum Anzeigen der Daten für den einzelnen Benutzer erfolgt in derselben Ansicht.
Paketprivilegien
Die Entwicklungsumgebung in SAP HANA ist in logisch zusammengehörigen Objekten unterteilt. Diese Sammlung an Objekten wird als Paket bezeichnet. Paketprivilegien gestatten den Benutzern die Verwendung bestimmter Pakete und folglich auch der Entwicklungsumgebung. Paketprivilegien werden also verwendet, um die Berechtigung für Aktionen für einzelne Pakete im SAP HANA Repository bereitzustellen. Hat ein Benutzer die Berechtigung eines Pakets, so erhält dieser auch Zugriff auf alle darin enthaltenen Unterpakete.
In SAP HANA gibt es zwei Arten von Paketen: Die nativen und die importierten Pakete. Native Pakete sind im eigenen Entwicklungssystem erstellt und anschließend ins aktuelle System transportiert worden. Importierte Pakete hingegen wurden in fremden Systemen erstellt und anschließend importiert.
Anwendungsprivilegien
Für die Zugriffsanwendung sind in SAP HANA Extended Application Services (SAP HANA XS) Anwendungsprivilegien erforderlich.
Die Applikationsprivilegien wurden ursprünglich für die Berechtigung der mit SAP HANA XSC entwickelten Anwendungen eingeführt. Durch die Einführung von SAP HANA XSA ist ein eigenes Berechtigungskonzept für die Zugriffe auf die Applikationen entstanden. Dies hat die Application Privileges abgelöst. Sollte eine Migration zu SAP HANA XSA noch nicht stattgefunden haben, sind weitere Informationen zu den Applikationsprivilegien im SAP HANA Security Guide zu finden.
Anwendungsprivilegien werden über die Prozeduren GRANT_APPLICATION_PRIVILEGE und REVOKE_APPLICATION_PRIVILEGE im Schema _SYS_REPO vergeben und entzogen.
Privilegien für den Benutzer
Bei den Privilegien für Benutzer handelt sich um eine SQL-Berechtigung, die auf eigene Benutzer vergeben werden kann. ATTACH DEBUGGER ist dabei das einzige Privileg, das einem Benutzer hier zuteilbar ist.
SAP HANA-Benutzerverwaltung und Rollenverwaltung
Für den Zugriff auf und die Sicherheit mit der SAP HANA DB werden Benutzer benötigt. Abhängig von unterschiedlichen Sicherheitsrichtlinien gibt es in SAP HANA zwei Arten von Benutzern:
Technischer Benutzer (DBA-Benutzer): Es handelt sich hierbei um einen Benutzer, der direkt mit der SAP HANA DB mit den erforderlichen Berechtigungen arbeitet. Normalerweise werden diese Benutzer nicht aus der Datenbank gelöscht. Diese Benutzer werden für eine administrative Aufgabe wie das Erstellen eines Objekts und die Vergabe von Privilegien für das Datenbankobjekt oder die Anwendung angelegt. Das SAP HANA Datenbanksystem stellt standardmäßig folgende Benutzer als Standardbenutzer zur Verfügung:
- SYSTEM
- SYS
- _SYS_REPO
Datenbank oder realer Benutzer: Jeder Benutzer, der an einer SAP HANA Datenbank arbeiten möchte, benötigt einen Datenbankbenutzer. Datenbankbenutzer sind echte Personen, die an SAP HANA arbeiten. Es gibt zwei Arten von Datenbankbenutzern:
- Standardbenutzer: Dieser Benutzer kann Objekte in einem eigenen Schema anlegen und Daten in Systemsichten lesen. Standardbenutzer, der mit der Anweisung „CREATE USER“ angelegt wurde.
- Eingeschränkter Benutzer: Der eingeschränkter Benutzer hat keinen vollständigen SQL-Zugriff über eine SQL-Konsole und wurde mit der Anweisung “CREATE RESTRICTED USER” erstellt. Wenn Privilegien für die Nutzung einer Anwendung erforderlich sind, werden sie über die Rolle bereitgestellt. Ein eingeschränkter Benutzer kann keine Datenbankobjekte erstellen und sich keine Daten in der Datenbank anzeigen lassen. Außerdem kann er sich mit der Datenbank nur über HTTP verbinden und der ODBC/JDBC-Zugriff für die Client-Verbindung muss in diesem Fall mit der SQL-Anweisung aktiviert werden.
Der SAP HANA User Administrator hat Zugriff auf folgende Aktivitäten:
- Benutzer anlegen/löschen
- Rolle definieren und anlegen
- Gewährt dem Benutzer eine Rolle
- Benutzerpasswort zurücksetzen
- Benutzer je nach Bedarf reaktivieren/deaktivieren
SAP HANA Netzwerk- und Kommunikationssicherheit
In der SAP-HANA-Landschaft sind für die Sicherung der Netzwerkkommunikation verschiedene Mechanismen möglich. Außerdem unterstützt SAP HANA die verschlüsselte Kommunikation für Netzwerkkommunikationskanäle. Es ist empfehlenswert, verschlüsselte Kanäle in allen Fällen zu verwenden, in denen das Netzwerk nicht durch andere Sicherheitsmaßnahmen gegen Angriffe geschützt ist, wenn auf Ihr Netzwerk von öffentlichen Netzwerken aus zugegriffen wird.
Alternativ können auch VPN-Tunnel (Virtual Private Network) verwendet werden, um verschlüsselte Informationen zu übertragen. SAP HANA unterstützt die verschlüsselte Kommunikation für die Client-Server-Kommunikation (extern) und die interne Kommunikation.
Um SAP HANA sicher in die Netzwerkumgebung zu integrieren, gelten mehrere allgemeine Empfehlungen. Über verschiedene Netzwerkkommunikationskanäle kommunizieren die Komponenten einer SAP-HANA-Landschaft miteinander. Es ist empfehlenswert, eine gut definierte Netzwerktopologie zu besitzen, damit man den Netzwerkzugriff auf SAP HANA nur auf die für das Szenario erforderlichen Kommunikationskanäle steuern und beschränken kann. Falls es notwendig ist, kann man so auch geeignete zusätzliche Sicherheitsmaßnahmen wie Verschlüsselung anwenden. Durch verschiedene Mittel wie separate Netzwerkzonen und Netzwerkfirewalls sowie durch die von SAP HANA bereitgestellten Konfigurationsoptionen (z. B. Verschlüsselung) kann dies erreicht werden.
Sie kennen Ihr bestehendes SAP Berechtigungskonzept und wünschen sich eine Überarbeitung? Sie haben Vorgaben der Wirtschaftsprüfer, ein konsistentes SAP Berechtigungskonzept zu erarbeiten und ggf. später auszurollen?
Externe Sicherheitsrichtlinien für die SAP HANA DB Sicherheit
Der Schutz einer SAP HANA-Datenbank erfordert die Berücksichtigung externer Sicherheitsrichtlinien und Compliance-Standards. Dazu gehören die Datenschutz-Grundverordnung (DSGVO), welche den Schutz personenbezogener Daten regelt, der Sarbanes-Oxley Act (SOX), der Bestimmungen zur IT-Sicherheit beinhaltet, der Payment Card Industry Data Security Standard (PCI DSS) für den Schutz von Kreditkartendaten sowie die ISO/IEC 27001 als internationaler Standard für Informationssicherheitsmanagementsysteme. Branchenspezifische Vorschriften wie HIPAA, GDPR oder FISMA können ebenfalls gelten. Unternehmen müssen sicherstellen, dass ihre Sicherheitsmaßnahmen, einschließlich Datenschutz, Zugriffskontrolle, Verschlüsselung, Überwachung und Incident Management, den Anforderungen dieser externen Sicherheitsrichtlinien entsprechen. Fachkundige Unterstützung von Sicherheitsbeauftragten, Compliance-Experten oder externen Beratern kann dabei helfen, die Umsetzung dieser Richtlinien effektiv zu gewährleisten.
FAQ
Was ist SAP HANA DB Sicherheit?
Mit SAP HANA DB Sicherheit werden wichtige Daten vor unbefugtem Zugriff geschützt und sichergestellt, dass die Standards und die Compliance vom Unternehmen eingehalten werden. Zudem bietet SAP HANA eine Multitenant-Datenbank an, in der mehrere Datenbanken auf einem einzelnen SAP HANA System erstellt werden können.
Welche Funktionen bietet die SAP HANA DB Sicherheit?
Zu den sicherheitsrelevanten Funktionen der SAP HANA DB Sicherheit gehören die Benutzer- und Rollenverwaltung, Genehmigung, Authentifizierung, Verschlüsselung von Daten in der Persistenz- und Netzwerkschicht.
Weiterführende Informationen
- SAP Security im Wandel – SAP HANA Berechtigungen
- Die SAP HANA Datenbank – Erlebe Software
- HANA Datenbank – Mindsquare
- SAP HANA Wiki