SAP API Management & HANA XS - Part II

Sandro Montemezzani - 06.03.2019

Hintergrund

Vor einigen Wochen habe ich im ersten Teil dieser Blog-Serie das Projekt vorgestellt. Heute wollen wir den Kern dieses Szenarios implementieren: Die Datenbank.

Wir werden alle Benutzer und Rechte anlegen und die HANA DB für die XSServices vorbereiten.

Ich habe eine frische HANA DB Instanz angelegt und mich über das WEB Portal eingeloggt.

Development User

Zunächst einmal benötigen wir einen Development User. Dieser besitzt Rechte zum Erstellen und Bearbeiten von Tabellen und Views in einer für ihn angelegten Datenbank.

Diesen Benutzer nenne ich COMPANYDATADEV. Er bekommt alle *Developer Rechte (Alle Rechte mit dem Developer Suffix).

Restricted User

Anschließend benötigen wir noch einen Benutzer mit eingeschränktem Zugriff auf die Datenbank. Über diesen Nutzer wird das API-Management später die Datenbank ansprechen.

Hierfür erstellen wir zunächst zwei Rollen:

  • companydata::read mit Erlaubnis für den SELECT-Befehl im Schema COMPANYDATADEV
  • companydata::write mit Erlaubnis für die INSERT, UPDATE und DELETE Befehle im Schema COMPANYDATADEV

Dann erstellen wir den Benutzer COMPANYDATAUSER_READONLY, und geben ihm lediglich die gerade erstellte Rolle companydata::read.

(In dieser Blog-Reihe wird lediglich der Lesezugriff auf die Datenbank abgedeckt. Um das Szenario auf Schreibzugriffe erweitern zu können, würde man dem Benutzer zusätzlich die Rolle companydata::write verteilen)

Tabellen

Wir werden die Tabellen der Datenbank nicht manuell erstellen, sondern sie über HANA CDS Entities generieren. Dies machen wir im Part zu den XSServices.

Mehr Informationen zu HANA CDS Entities gibt es hier.

Schlusswort

Hiermit sind die Grundbausteine gelegt: wir haben einen Benutzer zum Bearbeiten der Datenbank, und einen Benutzer, mit dem von außen aus auf die Datenbank zugegriffen werden kann.

Im nachfolgenden Part werden wir über die XS Services der HANA DB einen OData Service aufsetzen, und die Datenbank mit den benötigten Tabellen füllen.

Zurück zur Übersicht