Sichere Entwicklung mit SAP Hana XSA
Mit Hana 1.0 SPS11 wurde SAP Hana Extended Application Services, Advanced Model (SAP Hana XSA) eingeführt. Dieses Modell basiert auf dem Microservices-Ansatz und ermöglicht eine Modularisierung der Software-Entwicklung. Hierdurch sind unterschiedliche Deployments (voneinander getrennte Entwicklungsumgebungen) innerhalb einer einzigen Hana-Datenbank möglich.
Jede Anwendung wird dabei in einem eigenen Container gespeichert und hat ihre eigene Laufzeitumgebung. Dadurch beeinträchtigen eventuelle Probleme der Anwendung andere Anwendungen nicht.
Beim Einsatz von SAP Hana XSA sind verschiedene Sicherheitskriterien zu beachten, damit die Anwendungsentwicklung anforderungsgerecht berechtigt werden kann.
Verwaltet wird die Lösung mit dem SAP Hana XSA Cockpit. Hier werden die Benutzer und Berechtigungen verwaltet sowie die Sicherheitskonfiguration. Zu Letzterer gehören z. B. die Tenants, die von hier aus verwaltet werden können, und die Verwaltung der SAML Identity Provider.
In der Benutzerverwaltung können neue Benutzer angelegt oder bestehende Hana-Benutzer zu XSA-Benutzern migriert werden. Die Berechtigungen hierfür werden über sogenannte Role Collections vergeben. Zur Benutzerverwaltung ist z. B. die Role Collection XS User Admin erforderlich, zur Verwaltung von Rollen die Role Collection XS Authorization Admin.
Zur reinen Anzeige stehen die Standard-Role Collections XS Authorization Display und XS User Display zur Verfügung. Die Nachvollziehbarkeit der Benutzer- und Berechtigungsverwaltung wird über das Auditing der Hana-Datenbank ermöglicht, hier sind die entsprechenden Auditing-Aktionen zu aktivieren.
Die Grundstruktur von SAP Hana XSA besteht aus Organizations und Spaces. Innerhalb der Spaces werden die Applikationen entwickelt. Organizations sind Container zur Strukturierung der Spaces. Entwickler werden den Spaces zugeordnet.
Sie müssen zuvor als Benutzerstammsatz angelegt sein. Bei der Zuordnung zu den Spaces werden den Benutzern die Berechtigungen zugeordnet. Dabei wird unterschieden nach einem Space Manager (Pflege der Benutzerzuordnung zum Space und Anzeige und Auswertung der Applikationen), Space Developer (Einbinden, Starten und Stoppen von Anwendungen, Zuordnung von Anwendungen zu Services) und Space Auditor (Anzeige und Auswertung der Anwendungen und der Benutzerzuordnungen zum Space).
Hiermit wird somit festgelegt, welche Benutzer innerhalb des Space als Entwickler tätig sind. Auf der Ebene der Organizations kann mit der Berechtigung Organization Manager die Pflege der Benutzerzuordnung zur Organization und die Pflege der Spaces in der Organization berechtigt werden.
Protokolliert werden Änderungen an Organizations und Spaces in einer Trace-Datei im Betriebssystem. Sie können z. B. mit dem Hana Database Explorer ausgewertet werden.
Die zentrale Entwicklungsplattform für SAPUI5-Anwendungen ist das SAP WebIDE (Integrated Development Environment). Unterstützt werden verschiedene Sprachen, wie Java, Java Script, SAPUI5 HTML5, Node.js etc. WebIDE kann sowohl für On-premises-Applikationen genutzt werden (Hana XSA) als auch als zentrale Entwicklungsanwendung für die SAP Cloud Platform (Cloud Foundry).
Zur Nutzung des WebIDE müssen den Entwicklern Berechtigungen in SAP Hana XSA zugeordnet werden. Hierfür existieren bereits zwei Vorlage-Rollen, WebIDE Developer und WebIDE Administrator. Um Benutzer zur Anwendungsentwicklung zu berechtigen, muss eine Rolle vom Template WebIDE Developer abgeleitet werden.
Für die Implementierung von Berechtigungen in Eigenentwicklungen sind unternehmensinterne Vorgaben zu definieren. Auch können Aktionen in die Eigenentwicklungen integriert werden, die über das Hana Auditing protokolliert werden.
Dafür existiert im Auditing die Kategorie Application Auditing, in der unter anderem Aktionen wie Personal Data Access und Personal Data Modification aufgezeichnet werden können. Für den Einsatz von SAP Hana XSA ist ein eigenes Sicherheits- und Berechtigungskonzept zu erstellen, welches auch regelmäßig überprüft wird.