SAP Authorization and Trust Management Service (XSUAA) veranschaulichen

Objectives

After completing this lesson, you will be able to:
  • SAP Authorization and Trust Management Service (XSUAA) veranschaulichen.
  • Beschreiben Sie den App-Router.

Service SAP Authorization and Trust Management (XSUAA)

XSUAA: Übersicht

Der XSUAA-Service in SAP BTP wickelt den Berechtigungsfluss zwischen Benutzern, Identity-Providern und den Anwendungen oder Services ab. Der XSUAA-Service ist eine interne Entwicklung von SAP, die für SAP BTP vorgesehen ist. Im Cloud-Foundry-Projekt gibt es eine Open-Source-Komponente namens UAA. UAA ist ein OAuth-Provider, der sich um Authentifizierung und Autorisierung kümmert. SAP hat die UAA-Basis verwendet und um SAP-spezifische Funktionen erweitert, die in SAP BTP verwendet werden sollen.

Der XSUAA-Service übernimmt die Authentifizierung und Berechtigung in SAP BTP, Cloud Foundry, um Anwendungsbenutzern die Berechtigung über Anwendungsrollen zu erteilen. Der XSUAA-Service speichert keine Benutzerdaten oder Benutzerdatensätze. Der XSUAA-Service benötigt eine vertrauenswürdige Verbindung zu einem Identity-Provider. Dies kann der SAP ID Service oder ein anderer Corporate-Identity-Provider sein, der in SAP BTP integriert wurde. Dies kann über SAP Cloud Identity Services - Identity Authentication Service (IAS) erfolgen.

Der XSUAA-Service fungiert als zentrale Infrastrukturkomponente der Cloud-Foundry-Umgebung auf SAP BTP für die Authentifizierung und Berechtigung von Anwendungsbenutzern. SAP hat die Cloud-Foundry-UAA um einen Service Broker, Multi-Tenancy, Management-API-Funktionen und einige kleinere Erweiterungen erweitert. XSUAA verwendet OAuth, um sich zwischen mehreren Services zu authentifizieren und eine Verbindung zum Identity-Provider herzustellen.

OAuth ist ein offener Standard für Anwendungen und Websites zur Berechtigungsabwicklung. OAuth teilt keine Kennwortdaten, sondern verwendet Berechtigungstoken, um eine Identität zwischen Consumern und Service-Providern nachzuweisen. Es handelt sich um ein Authentifizierungsprotokoll, mit dem Sie eine Anwendung genehmigen können, die in Ihrem Namen mit einer anderen interagiert, ohne Ihr Kennwort zu vergeben. Die von OAuth verwendeten Token werden als JWT-Token bezeichnet. JWT (ausgesprochen „jot") ist ein offener Standard, der eine kompakte und in sich geschlossene Art der sicheren Übertragung von Informationen zwischen Parteien definiert. JWT wird in OAuth häufig verwendet, um Benutzerinformationen und Zugriffsrechte sicher zu übertragen.

App-Router

Wenn eine Geschäftsanwendung aus mehreren verschiedenen Apps (Microservices) besteht, wird der Anwendungsrouter verwendet, um einen zentralen Einstiegspunkt für die Geschäftsanwendung bereitzustellen. Technisch gesehen ist ein Anwendungsrouter eine Node.js-basierte App, die in der öffentlichen NPM-Registry verfügbar ist. Ein App-Router wurde basierend auf einer Konfigurationsdatei namens xs-app.json gestartet. In dieser Datei wird definiert, welche Routen von diesem App-Router bedient werden und welche XSUAA-Serviceinstanz an den App-Router gebunden ist, um die Authentifizierungsanfragen zu verarbeiten.

Ein App-Router wird für Folgendes verwendet:

  • Statische Inhalte oder Dateien bedienen.
  • Authentifizieren Sie Benutzer.
  • Senden Sie die Anforderung an Backend-Anwendungen (Microservices).

Zusammenfassend lässt sich sagen: Der App-Router leitet Authentifizierungsanfragen an den XSUAA-Service weiter, leitet sie zwischen den Apps oder Microservices weiter. Falls im Projekt vorhanden, bedient der App-Router auch statische Ressourcen wie Dokumente oder Bilder in einer Dateisystemstruktur.

Wichtigste Erkenntnisse dieser Lektion

Der XSUAA-Service ist die Verbindung zwischen Apps und Identity-Providern, um Sicherheit zu gewährleisten und Zugriff über Rollen zu gewähren, ohne Benutzerdaten oder Benutzerdatensätze zu speichern. Sie verwendet OAuth, um sich zwischen mehreren Services und für die Verbindung mit dem Identity-Provider zu authentifizieren. Darüber hinaus haben Sie den App-Router, der als zentraler Einstiegspunkt und Brücke zwischen Apps, Benutzern und dem XSUAA-Service fungiert.