Mit dem SAP Identity Provisioning Service (IPS) bietet SAP eine Abstraktionsschicht für die Anbindung von Cloud-Systemen mit einer einheitlichen, standardisierten SCIM-API-Schnittstelle. So lassen sich Identity-Mangement-Systeme wie SAP IdM, One Identity oder Okta bequem und ohne Customizing an die SAP Analytics Cloud (SAC) anbinden, um das User-Management zu automatisieren.

 

IdM-Integration SAC

 

Obwohl die initiale Anbindung einfach funktioniert, gibt es einige SAC-spezifische Herausforderungen, die in diesem Zusammenhang zu klären sind. Wir fassen die wichtigsten Aspekte zusammen und erläutern passende Lösungsansätze.

 

Herausforderung 1: Keine Authorisierungsverwaltung über Rollen

Die SAC hat verschiedene Entitäten, die für das User-Management von Bedeutung sind:

  • User

  • Rollen

  • Teams

Über Rollen können technische Zugriffsberechtigungen definiert werden, über Teams lässt sich die Sichtbarkeit von Stories und noch mehr verwalten. Die SCIM-Schnittstelle bietet aber nur zwei Endpunkte an:

  • /User -> User

  • /Groups -> Teams

Eine Verwaltung von Rollenzuweisungen ist über die API nicht möglich.

 

Lösung

Als Best-Practice-Ansatz empfiehlt SAP, direkte Rollenzuweisungen zu vermeiden und diese über Teams an die User zu vererben.

 

Rollenzuweisungen vererben

 

Somit reicht es aus, die Rollenvergabe über Teams abzubilden und den Usern per SCIM-API zuzuweisen.

 

Herausforderung 2: 404-Bug bei Teamzuweisungen

Bei der SCIM-API der SAP Analytics Cloud gibt es einen bekannten Bug, der zu einem 404-Fehler führt, wenn eine Teamzuweisung vorgenommen wird. Den Bug beschreibt die SAP Note 2857395.

 

Der Bug tritt bei der ID-Generierung der Teams über die Web-UI auf dem System auf. Dadurch sind die Teams nicht per SCIM ansprechbar. Ob der Bug auch auf Ihrem System vorhanden ist, lässt sich leicht überprüfen.

  1. Die /Groups-API aufrufen und die Liste aller Teams laden

    Groups-API aufrufen-web

  2. Ein zufälliges Team auswählen und einzeln einlesen

    Team auswaehlen

  3. Tritt nun ein 404-Fehler auf, ist der Bug auf Ihrem System vorhanden.

 

Lösung

SAP empfiehlt verschiedene Lösungsansätze, um dieses Problem zu beheben. Wir raten zur „saubersten“ Möglichkeit: Löschung und Neuanlage aller Teams, die über die UI angelegt wurden. Dabei müssen alle Zuweisungen (Storys, User, Rollen usw.) neu vergeben werden. Auch wenn die Migration der aufwendigere Lösungsansatz ist, haben wir damit die besten Erfahrungen gemacht und empfehlen diese Variante.

 

Neuanlage über Postman

Neuanlage Postman

 

Nun ist das Team auch über die SCIM-API ansprechbar.

Team SCIM-API-web

Da neue Teams jetzt nicht mehr über die UI, sondern über die SCIM-API erstellt werden, benötigt die Fachabteilung entweder ein Skript zur Anlage von Teams oder eine Schulung für Postman. Eine weitere Option ist es, einen Workflow zur Anlage der Teams über das Identity-Management-Tool zu entwerfen.

 

Herausforderung 3: Löschung von Rollenzuweisungen bei der Teamvergabe

Bei der Vergabe und beim Entzug eines Teams muss auch die Liste der zugeordneten Rollen mitgegeben werden. Falls dieses Feld in der SCIM-Anfrage leer ist, werden alle Rollenzuweisungen im Team gelöscht.

 

Hier ist ein Team mit einer Admin-Rolle (PROFILE:sap.epm.Admin) zu sehen.

Team Admin-Rolle-web

Nun fügen wir diesem Team einen User (D425) hinzu, ohne alle Rollenzuweisungen explizit mitzugeben.

User hinzufuegen

Alle Rollenzuweisungen im Team sind verschwunden.

Rollenzuweisungen verschwunden-web

Lösung

Die Empfehlung lautet, die Liste der zugewiesenen Rollen bei der SCIM-Anfrage immer mitzusenden.

Zugewiesene Rollen mitsenden

Das impliziert jedoch, dass das IdM diese Informationen (Welche Rolle ist in welchem Team?) kennen muss. Die Rollenzuweisungen bei Teams werden im IdM verwaltet und von dort aus über SCIM beschrieben.

 

Da für das Erstellen von Teams womöglich schon ein Workflow existiert, lässt sich dieser Prozess auch mit dem Management der Rollenzuweisungen der Teams im IdM erweitern.

 

Herausforderung 4: Personal Space und Ownership beim Löschen

In der SAP Analytics Cloud gibt es die Möglichkeit, Owner von Stories zu sein oder im Personal Space Stories zu bauen. Beim Löschen müssen diese Elemente wahlweise an einen anderen User übertragen werden, ansonsten sind sie weg.

 

Beim Löschen über die UI wird explizit nachgefragt, was mit diesen Daten geschehen soll.

User loeschen

 

Beim Löschen über die API gibt es diese Möglichkeit nicht.

 

Lösung

Leider gibt es zu dieser Herausforderung keine technische Lösung. Es gibt jedoch zwei verschiedene Möglichkeiten für einen Workaround:

  1. Deaktivieren statt Löschen

  2. Löschen der User manuell nur über den Systemverantwortlichen. Dabei wird beim Löschen eines Users im IdM statt einer Deprovisionierung eine Genehmigung oder eine E-Mail an den Systemverantwortlichen geschickt. Dieser löscht den User und entscheidet, was mit den Daten passiert.

 

Herausforderung 5: (De-)Aktivierung von Usern

In der SAP Analytics Cloud ist es nicht möglich, einen User über die UI zu aktivieren oder zu deaktivieren. Ebenso wenig ist es möglich zu sehen, welchen Status ein User hat.

 

Lösung

Die SCIM-API bietet das Attribut „active“ an, das den Userstatus widerspiegelt.

Attribut Active-web

 

Über dieses Attribut lassen sich User aktivieren und deaktivieren. Ein deaktivierter User kann sich zwar noch anmelden, bekommt daraufhin aber eine Fehlermeldung und kann keine Daten mehr abrufen. Der Status des Users kann nun wenigstens über das IdM nachverfolgt und/oder gesteuert werden.

 

Herausforderung 6: UserID-Constraint bei E-Mail-Mapping im SSO

Ist beim Single Sign-On (SSO) ein eigener Identity-Provider und als Mapping-Attribut „email“ ausgewählt, greift ein besonderer Mechanismus der SAP Analytics Cloud bei der Useranlage. Intern werden alle userNames mit E-Mail überschrieben, in der Liste der User wird aber die Domain zur Anzeige abgeschnitten. Bei der Anlage von neuen Usern mit userID != email erscheint nun eine Fehlermeldung.

Useranlage Fehler-web

 

Vorhandene User lassen sich noch aktivieren, deaktivieren und löschen, aber eine Stammdatenänderung wie Vor- oder Nachname verursacht den gleichen Fehler.

 

Lösung

Für diesen Fall gibt es zwei Lösungsmöglichkeiten:

  1. Die userID ist gleichzeitig auch das Präfix der E-Mail-Adresse (userID=MAXMUSTERMANN, Email=maxmustermann@ibsolution.de). Dafür ist es erforderlich, sowohl in userName als auch in email die vollständige E-Mail-Adresse zu schreiben. Die SAP Analytics Cloud wiederum extrahiert automatisch die userID aus der E-Mail.

  2. Die userID soll nicht identisch mit dem Präfix der E-Mail-Adresse sein (userID: MAXMUST, Email=maxmustermann@ibsolution.de).

    • Im ersten Schritt wird ein User mit userName=MAXMUST@ibsolution.de und email=MAXMUST@ibsolution.de erstellt. Er erhält die userID MAXMUST.

    • Im zweiten Schritt ändern wir den User mit der userID MAXMUST auf userName=MAXMUSTERMANN@ibsolution.de und email=maxmustermann@ibsolution.de.

    • Im Ergebnis hat der User jetzt die userID MAXMUST und die E-Mail-Adresse maxmustermann@ibsolution.de.

 

Herausforderung 7: Case Sensitivity bei NameID im SSO

Trotz erfolgreichem Setup des SSO können einige User sich nicht an der SAP Analytics Cloud anmelden. Stattdessen erscheinen kryptische Fehlermeldungen. Das Problem ist bei manchen Usern reproduzierbar, während die Anmeldung bei anderen Usern problemlos klappt.

 

Lösung

Im Gegensatz zu vielen anderen Implementierungen ist die SAML-Implementierung der SAC für das SSO case sensitive. Das heißt, dass ein User mit der E-Mail-Adresse MaxMustermann@ibsolution.de im Identity Provider nicht dem User maxmustermann@ibsolution.de zugewiesen werden kann.

 

Die Lösung des Problems ist einfach: In der SAC sollten E-Mail-Adressen immer kleingeschrieben sein. Im Identity Provider muss eine Transformation für die NameID ausgewählt werden.

  • ToLowerCase() bei Azure/ADFS

  • Auf SAP Cloud Identity Authentication gibt es unter Applications -> App auswählen -> Apply Function to Subject Name Identifier die Auswahl der Transformation

Auswahl Transformation

 

Fazit

Die Anbindung der SAP Analytics Cloud an den SAP Identity Provisioning Service ist noch mit einigen Schwierigkeiten verbunden. Viele der genannten Herausforderungen hat das Entwicklungsteam bereits aufgegriffen. Sie werden in kommenden Releases nachgebessert. So wird im Sommer 2022 eine neue Version (2.0) der SCIM-API erscheinen. Einige andere Probleme sind tiefer verankert und müssen auch weiterhin mit Workarounds gelöst werden. Sobald es Neuigkeiten zur Anbindung der SAC an den SAP IPS gibt, werden wir den Blogbeitrag entsprechend aktualisieren.

 
Sie möchten die Anbindung der SAP Analytics Cloud an den SAP IPS umsetzen?

Hier geht’s zu unserem Starter Package

 

Weitere interessante Beiträge: