This is a test message to test the length of the message box.
Login
BTP Basic Authentication & Principal Propagation
Erstellt von Software-Heroes

BTP - Basic Authentication & Principal Propagation

123

In diesem Artikel schauen wir uns die Anmeldemöglichkeiten vom ABAP Environment Richtung On-Premise an und wie sie Einfluss auf deine Entwicklung haben.

Werbung


In diesem Artikel schauen wir uns verschiedene Methoden an, um uns an einem On-Premise System anzumelden und auf Daten zuzugreifen. Dabei stehen uns verschiedene Szenarien für unterschiedliche Dinge zur Verfügung. Dazu mehr in den folgenden Kapiteln.

 

Einleitung

Solange du auf dem ABAP Environment arbeitest, verhält sich das System wie ein Cloud oder On-Premise System und alle Funktionen können normal verwendet werden. Möchtest du allerdings einen Service aufrufen, um On-Premise Daten zu lesen, dann wirst du vielleicht ein paar Schwierigkeiten haben oder an Stellen kommen, wo es nicht mehr weiter geht. Dann könnte vielleicht die Art des Users das entscheidende Kriterium sein.

 

Arten

Schauen wir uns dazu einmal die gängigsten Arten von Anmeldungen an und welche Vor- und Nachteile diese mit sich bringen.

 

Basic Authentication

Bei der Basic Authentication oder kurz BA, verwenden wir einen technischen User mit eigenen Berechtigungen, um uns am Backend System anzumelden. Damit muss nicht jeder User, der die Verbindung zu diesem System nutzen möchte, einen eigenen User auf dem System haben. In diesem Fall hinterlegen wir die Logindaten zum Beispiel in einer Verbindung im Subaccount in der BTP und jeder mit Zugriff auf die Verbindung kann auf das konfigurierte System zugreifen.

 

Principal Propagation

Bei der Principal Propagation oder kurz PP, melden wir uns über einen Identity Provider am System an, dieser stellt uns ein Ticket aus, womit wir am System angemeldet werden, solange das Ticket gültig ist. Bauen wir die Verbindung Richtung On-Premise auf, dann wird dieses Ticket an das System weitergeleitet. Besteht dann zwischen Subaccount -> Cloud Connector -> On-Premise eine Vertrauensbeziehung (Konfiguration und Zertifikat), dann werden wir am Ende im On-Premise System angemeldet und arbeiten dann mit unserem persönlichen User weiter. Damit weiß das System wer wir sind und es gelten unsere individuellen Berechtigungen.

 

Weitere Verfahren

Grundsätzlich gibt es weitere Anmeldeverfahren, wie OAuth, SAML und Zertifikate. In diesem Artikel gehen wir auf die beiden gängien Verfahren ein, wenn es um die Anbindung mit dem ABAP Environment geht. Möchtest du SAP Build Process Automation nutzen, wirst du meist auf den Destination Service mit OAuth zurückgreifen.

 

Verwendung

Schauen wir uns in diesem Kapitel einmal an, was wir mit den beiden Arten nun genau machen können und wir du sie effektiv für dich nutzen kannst.

 

Jobs

Möchten wir in einem Application Job auf On-Premise Daten zugreifen, dann benötigen wir hier eine Verbindung vom Typ BA. Grundsätzlich wird der Job unter dem User ausgeführt, der ihn auch eingeplant hat. Da der User sich aber vorher nicht angemeldet hat, besitzt er damit kein valides "Ticket", um sich am On-Premise System anzumelden. 

 

ABAP Development Tools

Möchtest du eine Schnittstelle in einer ausführbaren Klasse testen, dann kannst du das aktuell nur über eine BA Verbindung machen. Ähnlich wie beim Application Job, fehlt hier in den ABAP Development Tools ein valides Ticket zur Anmeldung am On-Premise System.

 

HTTP Service

Den HTTP Service rufen wir von außen über den Browser auf. Wenn wir den Service das erste Mal aufrufen, verlangt das System von uns eine Anmeldung. In diesem Fall wird nach erfolgreicher Anmeldung ein gültiges Ticket ausgestellt, damit haben wir die Möglichkeit eine Verbindung vom Typ PP zu verwenden und uns mit unserem eigenen User am Backend System anzumelden. Grundsätzlich kann auch eine technische Verbindung über BA verwendet werden.

 

Fiori App

Arbeiten wir in einer Fiori App und haben zum Beispiel eine Custom Entity über die wir Daten für unsere Wertehilfe nachlesen, dann können wir auch hier beide Arten von Verbindungen nutzen. Der Vorteil beim angemeldeten User liegt darin, dass er nur die Werte angeboten bekommt, für die er auch berechtigt ist. Auf der anderen Seite, wenn du sicherstellen willst, dass immer alle Werte angezeigt werden, solltest du einen technischen User verwenden und ihm die nötigen Berechtigungen geben.

 

Zusammenfassung

Was können wir nun aus den verschiedenen Verbindungen für uns mitnehmen? Zuerst einmal funktioniert in allen Fällen eine technische Verbindung über eine Basic Authentication, da bereits User und Passwort in der Verbindung hinterlegt sind und eine Anmeldung auf dem Zielsystem erfolgen kann.

Bei der Principal Propagation musst du dich zuvor angemeldet haben, bevor du auf ein Backend System zugreifen kannst. Dafür werden die Berechtigungen individuell gezogen, was sicherstellt, dass der angemeldete Benutzer nicht mehr sieht, als er eigentlich sollte. Dafür sind Verbindungen mit PP nicht überall verwendbar, wie zum Beispiel in einem Job oder direkt aus den ADTs zum Testen von Zugriffen.

 

Fazit

Solltest du im nächsten Test über die ABAP Development Tools mal Probleme mit der Anmeldung am On-Premise System haben, dann verwendest du wahrscheinlich eine Verbindung von Typ Principal Propagation. In diesem Fall auf Basic Authentication wechseln und der Zugriff sollte funktionieren.


Enthaltene Themen:
BTPABAP EnvironmentBasic AuthenticationPrincipal Propagation
Kommentare (0)



Und weiter ...

Bist du zufrieden mit dem Inhalt des Artikels? Wir posten jeden Freitag neuen Content im Bereich ABAP und unregelmäßig in allen anderen Bereichen. Schaue bei unseren Tools und Apps vorbei, diese stellen wir kostenlos zur Verfügung.


RAP - Suchhilfe und Schlüssel optimieren

Kategorie - ABAP

In diesem Artikel optimieren wir unsere Suchhilfen im Custom Pattern, verwenden das Additional Binding und machen unsere RAP Anwendung fit für den Endanwender.

06.05.2025

RAP - Festwert-Filter

Kategorie - ABAP

Wie verwendest du Festwerte aus einer Domäne für einen Filter und passt diesen nach deinen Bedüfnissen in RAP an? Mehr dazu hier.

02.05.2025

RAP - Custom Pattern (Verhalten)

Kategorie - ABAP

In diesem Artikel erweitern wir das Custom Pattern in RAP um zusätzliche Daten und Verhalten. Damit können wir Mehrwerte in der Implementierung schaffen.

29.04.2025

RAP - Custom Pattern

Kategorie - ABAP

Wie funktioniert das Custom Pattern in der ABAP Entwicklung und für welche Szenarien kannst du es in der Entwicklung verwenden? Lass uns dazu ein Beispiel anschauen.

25.04.2025

RAP - Tree View (Löschverhalten)

Kategorie - ABAP

In diesem Artikel schauen wir uns das Verhalten beim Löschen von Knoten im Tree View mit RAP an. Dabei gibt es einige interessante Punkte zu beachten.

15.04.2025