Integration IAM – SAP Business Objects

1      Identity Access Management (IAM)

Identity Access Management bildet die Basis für einen personalisierten Zugriff auf Dienste wie BI-Systeme, Webapplikationen, E-Mail-Kontos, File-Shares oder Cloud-Services. Die identitätsbezogenen Daten müssen dabei jederzeit verfügbar und konsistent sein. Neben den personenbezogenen Identitäten spielen die Identitäten von Applikationen und Devices eine immer wichtigere Rolle.

Im Folgenden wird dargestellt, wie SAP Business Objects 4.1. mit einer IAM-Lösung integriert werden kann. Zentrale Anforderung hierbei ist, dass die Authentifizierung aller Benutzer über die IAM-Komponente erfolgen soll. Die im Fallbeispiel verwendete IAM-Lösung (im Folgenden kurz IAM) verwendet für die Authentifizierung SAML V2.0. Alle Benutzer mit Zugriff auf SAP Business Objects sollen über IAM authentifiziert werden. In diesem Artikel geht es um die Frage, wie ein Single Sign-On-Zugriff zwischen IAM und SAP Business Objects eingerichtet werden kann.

Technische Rahmenbedingung: SAP Business Objects unterstützt keine direkte Authentifizierung via SAML. Jedoch bietet SAP Business Objects mit „Trusted Authentication“ eine generische Methode an, um die Authentifizierung durch andere Systeme zu ermöglichen. Dabei muss aus einer vertrauenswürdigen Quelle der Name des Benutzers ausgelesen werden. Das Login in BO erfolgt dann mit diesem sowie einem „shared secret“, welches nur der BO-Webapplikation und dem BO-Server bekannt ist.

2      IAM-Integrations-Architektur

 

2.1    Anforderungen an IAM

Es wurden folgende Forderungen an die IAM-Lösung gestellt:

  1. Nur berechtigte Benutzer dürfen Links zu BI in den entsprechenden Applikationen (Portal-App-1, Portal-App-2) sehen.
  2. Zentrale Benutzerzugriffsverwaltung, d.h. zentrale Vergabe von Berechtigungen für den generellen Zugriff aus anderen Applikationen heraus und für den Zugriff auf einzelne Reporte im BI
  3. Single Sign-On (SSO) aus Anwendungen Portal-App-1, Portal-App-1 und potenziell zukünftig anderen Applikationen auf BI-Reporte
  4. Zugriff direkt auf SAP Business Objects, d.h. nicht aus anderen Anwendungen heraus
  5. Die BI-Plattform hat eine Klassifikation „Vertraulich“. Die Authentifizierung muss stark sein. Die 2-Faktor-Authentifizierung ist die Standard Methode.

2.2    Rahmenbedingungen

  • Applikationen Portal-App-1 und Portal-App-2 haben je eine eigene, voneinander getrennte Benutzer- und Berechtigungsverwaltung. SAP Business Objects unterstützt nicht direkt das SAML 2.0 Web Browser SSO Profile.
  • SAP Business Objects erfordert eine SAP Business Objects-interne Berechtigungsvergabe.
  • SAP Business Objects unterstützt keine Provisionierung zur Laufzeit, sondern erfordert eine Vorabprovisionierung des Benutzers und seiner Berechtigungen.

2.3    IAM-Ist-Architektur

In der aktuellen IAM-Architektur wird jede Applikationen über ein Security Gateway abgesichert und jede Applikation hat sowohl ihre eigene Benutzer- als auch eigene Berechtigungsverwaltung. Portal-App-1-Benutzer können beispielsweise mit ihrem Portal-App-1-Account nicht auf andere Applikationen zugreifen, die nicht in Portal-App-1 integriert sind (nicht hinter dem Portal-App-1 Security Gateway angeschlossen sind).

Abbildung 1 Architektur IAM
Abbildung 1 Architektur IAM (zum Vergrössern klicken)

2.4    IAM – Lösungs-/Ziel-Architektur

Abbildung 2 Lösungs-Architektur
Abbildung 2 Lösungs-Architektur (zum Vergrössern klicken)

Die abgebildete Lösungs-Architektur zeigt eine Architektur, die alle oben genannten Anforderungen erfüllen würde und die von SAP Business Objects auferlegten Randbedingungen respektiert:

  1. Sie ermöglicht eine zentrale Berechtigungsvergabe über die von IAM bereitgestellte Berechtigungsverwaltung und die einfache Provisionierung nach SAP Business Objects sowie
  2. ein SSO aus Anwendungen auf Reporte und
  3. Zugriff anderer Benutzer.
  4. Sie sieht eine Provisionierung aus dem IAM in SAP Business Objects über eine von SAP Business Objects unterstützte Schnittstelle vor (Schnittstelle zu CSV-Datei oder Active Directory). CSV wird in diesem Use Case als gesetzt betrachtet.

Sie hätte weiterhin den Vorteil, dass Benutzer nicht mehrere digitale Identitäten (Benutzer-Accounts) benötigen würden.

2.4.1     Systemarchitektur

Die IAM-Architektur ermöglicht keine zentrale Berechtigungsverwaltung über Applikationen hinweg. Daneben bietet SAP BO von Hause aus keine Unterstützung für das SAML 2.0 Web Browser Profil (http://wiki.servicenow.com/index.php?title=SAML_2.0_Web_Browser_SSO_Profile#gsc.tab=0) an, welche standardmässig für die Identitäts- und Berechtigungspropagierung zwischen dem IAM und den Applikationen verwendet wird.

Die folgende Architektur kompensiert dieses Defizit und bildet eine Übergangsarchitektur auf dem Weg hin zur Zielarchitektur.

2.4.2     SAP BO mit Trusted Authentication

Um eine Integration von SAP BO in die Systemlandschaft IAM und PortalApp1 und 2 zu gewährleisten, müssen gewisse Unzulänglichkeiten kompensiert werden. Diese Unzulänglichkeiten umfassen primär die Berechtigungsverwaltung und die Identitätspropagierung.

Abbildung 3 Systemarchitektur
Abbildung 3 Systemarchitektur (zum Vergrössern klicken)

Das SSO wird über das IdP-initiated Webbrowser-SSO-Profil (https://en.wikipedia.org/wiki/SAML_2.0, http://saml.xml.org/wiki/idp-initiated-single-sign-on-post-binding) realisiert. Um auf BI zuzugreifen, ruft der Benutzer zunächst eine URL der Fachanwendung auf, über die er auf BI zugreifen möchte. Das Security Gateway der Fachanwendung initiiert das Webbrowser-SSO-Profil (IdP-initiated) und leitet den Benutzer auf BI weiter.

Abbildung 4 IdP-initiated Webbrowser-SSO-Profil
Abbildung 4 IdP-initiated Web Browser SSO Profil (zum Vergrössern klicken)

2.4.2.1     Identitätsverwaltung

Die Verwaltung der Identitäten, die aus anderen Applikationen auf BI zugreifen, findet in den jeweiligen applikationsspezifischen IAM-Instanzen statt. Für die Verwaltung der Identitäten der Benutzer, die direkt auf BI zugreifen müssen, wird eine eigene IAM-Instanz aufgebaut. Dies hat den Vorteil, dass die Identitäten aller angeschlossenen Systeme auf dieselbe Art und Weise verwaltet werden und vereinfacht eine spätere Anpassungen sowohl hinsichtlich der Zielarchitektur als auch gegebenenfalls aufgrund neuer Anforderungen an die Authentisierung und Authentifizierung der Benutzer, die direkt auf BI zugreifen.

2.4.2.2     Benutzer- und Rollen-Provisionierung

Benutzer aus Fachanwendungen, aus denen die Benutzer auf BI zugreifen, müssen der BI-IAM-Instanz bekannt sein. Dies wird dadurch realisiert, dass genau die Benutzer-Identitäten, die auf BI zugreifen dürfen, von der jeweiligen Fachapplikations-IAM-Instanz in die BI-IAM-Instanz hinein provisioniert werden. Benutzer und deren Rollen müssen aber auch in SAP Business Objects bekannt sein. Dazu müssen die Benutzer und deren Rollen aus der BI-IAM-Instanz nach SAP Business Objects provisioniert werden.

Abbildung 5 Benutzer- und Rollenprovisionierung
Abbildung 5 Benutzer- und Rollenprovisionierung (zum Vergrössern klicken)

Die Benutzer-Identitäten und die Rollen aus der BI-IAM-Instanzen werden über einen SQL-Server in eine CSV-Datei exportiert und dann in SAP Business Objects manuell oder automatisch, z.B. mittels der 360 Suite von GB & Smith (http://www.gbandsmith.com/360suite) importiert. Ferner ist es ebenfalls in einer weiteren Ausbaustufe möglich, die User-Provisionierung vom IAM aus via eines Windows Active Directory Servers anstelle des SQL DB Servers durchzuführen.

2.4.2.3     Authentisierung, Authentifizierung und Autorisierung

Die Authentisierung erfolgt immer gegen diejenige IAM-Instanz der Fachanwendung, über die der Benutzer auf BI zugreifen möchte.

Die (erste) Authentifizierung erfolgt zunächst ebenfalls durch diese applikations-spezifische IAM-Instanz, über die der Benutzer auf BI zugreifen möchte. Die zweite Authentifizierung erfolgt durch die BI-IAM-Instanz. Diese prüft das von der applikations-spezifischen IAM-Instanz erhaltene SAML-Token und sucht den Benutzer in der eigenen IDM-Instanz.

Ein Benutzer, dessen Identität aus einer Applikation in das BI IAM provisioniert wurde, muss an dieser Applikation angemeldet sein. Hierbei ist es nicht möglich, diesem Benutzer die Login-Maske der entsprechenden Applikation anzuzeigen, sollte er nicht angemeldet sein.

2.4.2.4     Berechtigungsverwaltung

Durch die Architektur der IAM-Lösung ist keine direkte zentrale Berechtigungsverwaltung möglich, da jede Applikation ihre Benutzer und deren Berechtigungen getrennt von den anderen Applikationen verwaltet. Die Berechtigungen werden weiterhin dezentral verwaltet. Die sehr grobe Berechtigung, in Applikationen wie zum Beispiel in Portal-App-1 und Portal-App-2 Hyperlinks zu BI zu sehen, wird in den jeweiligen applikations-spezifischen IAM-Instanzen vergeben.

Die fein granulare Rollen-Zuweisung findet in der BI-IAM-Instanz statt.

Abbildung 6 Berechtigungsverwaltung
Abbildung 6 Berechtigungsverwaltung (zum Vergrössern klicken)

Die eigentliche Berechtigungsvergabe innerhalb von BI (SAP Business Objects) erfolgt durch die Benutzer- und Rollen-Provisionierung und das automatische Mappen von Rollen.

2.4.2.5     Identitätspropagierung

Für die eigentliche Integration von SAP Business Objects in das IAM-System kann nicht die Standard-Integration über SAML 2.0 Web Browser SSO Profil gewählt werden, da SAP Business Objects von Hause aus dieses Profil nicht unterstützt. SAP Business Objects kann jedoch so konfiguriert werden, dass der bei einem Zugriff unter dem HTTP Header „REMOTE_USER“ angegebene Benutzer als authentifiziert betrachtet wird. Dazu setzt das BI Security Gateway den HTTP REMOTE_USER Header auf die User-ID des angemeldeten Benutzers. Dies bedingt, dass Zugriffe auf BI über den BI Security Gateway geleitet werden müssen. Um zu verhindern, dass Angreifer diesen HTTP Header in ihren Angriffen manipulieren, muss die Verbindung zwischen dem BI Security Gateway und SAP Business Objects über 2-Weg-SSL verschlüsselt werden. Daraus resultiert, dass SAP Business Objects nur Anfragen der vorgängig definierten Security Gateways vertraut.

Abbildung 7
Abbildung 7 (zum Vergrössern klicken)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.