Überblick
Dieses Kapitel beschreibt, wie Simplifier und SAP konfiguriert werden müssen, damit Simplifier-Konnektoren auf SAP mit Benutzern zugreifen, die durch die SAP ExtID-Funktion identifiziert werden.
Einloggen
- Der Benutzer meldet sich über den konfigurierten Identity Provider bei Simplifier an
- Das Benutzerprofil des Identity Providers enthält alle Informationen, die für die Erstellung der ExtID for SAP benötigt werden.
Erster Connector-Anruf
- Bevor der erste Konnektoraufruf stattfindet, ruft Simplifier implizit das SAP-System über das RFC-SNC-Protokoll auf und fragt nach einem SAP SSO Token
- Da SAP der Simplifier-Instanz (identifiziert durch die Zertifikate aus dem PSE-Keystore) vertraut, sucht SAP den zugeordneten SAP-Benutzer aus der Tabelle VUSREXTID und gibt das personalisierte SAP SSO-Token zurück
- Dieses SAP SSO Token wird dann von Simplifier verwendet, um den eigentlichen Konnektoraufruf (RFC, SOAP oder oData) durchzuführen
Nächster Connector-Anruf
- Alle anstehenden Connector-Aufrufe mit derselben Anmeldemethode werden mit dem einmal abgerufenen SAP SSO-Token ausgeführt
Voraussetzungen
- Sie müssen einen Identitätsanbieter für Ihren Simplifier konfiguriert haben (z. B. oAuth, LDAP, Active Directory)
- Sie müssen eine SNC-RFC-Verbindung zwischen Simplifier und SAP herstellen
- Sie müssen ein Simplifier-Administrator sein
- Sie benötigen Administrationsberechtigungen in SAP
Themen
Dieser Artikel ist in diese Themen unterteilt:
Konfigurieren der SNC-Sicherheitsschicht
Die SNC-Sicherheitsschicht fügt Sicherheitsmerkmale zu z. B. RFC- und CPIC-Verbindungen zwischen SAP und anderen Produkten hinzu.
Im Folgenden werden die Schritte beschrieben, mit denen Sie Simplifier und das SAP-System für die Verwendung von gesicherten SNC-Verbindungen konfigurieren. Die ExtID-Funktion erfordert SNC-Verbindungen – aber auch wenn Sie ExtID nicht verwenden, können Sie SNC für Simplifier und SAP konfigurieren.
SSO-Parameter prüfen
Sie müssen die folgenden SSO-Parameter überprüfen, indem Sie
- Melden Sie sich bei SAP an
- Navigieren Sie zur Transaktion “RZ11” (temporär) oder “RZ10” (permanent)
- Prüfen Sie, ob die folgenden Parameter eingestellt wurden
| Parameter | Wert |
|---|---|
| anmeldung/erstellen_sso2_ticket | 2 |
| anmeldung/ticket_ablauf_zeit | Entspricht der in Simplifier konfigurierten Token-Ablaufzeit. Standard ist 8h |
| anmelden/akzeptieren_sso2_ticket | 1 |
| snc/enable | 1 |
| snc/extid_login_rfc | 1 |
| snc/gssapi_lib | Pfad zur CryptoLib |
| snc/identity/as | Muss derselbe Wert wie im Zertifikat sein |
Konfigurieren der SAP Cryptolib in Simplifier
Simplifier benötigt die SAP Cryptolib, um eine PSE-Keystore-Datei zu erstellen. Der PSE-Keystore enthält die Zertifikate, damit Simplifier und SAP sich gegenseitig als vertrauenswürdige Kommunikationspartner einer RFC-SNC-Verbindung identifizieren können.
- Gehen Sie zum SAP Launchpad und laden Sie die Linux x86 64bit-Versionen herunter von: (S-User erforderlich)
- Navigieren Sie im Simplifier zu “Einstellungen” -> “SAP Security” -> “SAP Cryptographic Library”
- Wählen Sie die bereits heruntergeladenen Dateien aus, laden Sie die Dateien hoch und klicken Sie auf “Speichern”
PSE-Keystore erstellen
Im PSE Keystore werden zwei Zertifikate benötigt. Das “eigene” Zertifikat von Simplifier (das bei der ersten Erstellung des Schlüsselspeichers erstellt wird) und das “fremde” Zertifikat des SAP-Systems.
Erstellen eines Keystores und eines eigenen Simplifier-Zertifikats
- Navigieren Sie im Hauptreiter “SAP Security” zum Unterreiter “PSE-Datei”
- Klicken Sie auf “Neuen Keystore erstellen”
- Wenn Sie dazu aufgefordert werden, geben Sie einen Common Name für Ihr eigenes Simplifier-Zertifikat ein (z. B. SimplifierProd). Dieser Name wird später auch von den SAP-Administratoren gesehen werden – wir sollten also einen beschreibenden Namen haben.
- Nun wird der PSE Keystore erstellt und enthält das eigene Zertifikat, welches wir herunterladen und “certificates_Own_Certificate.pem” nennen sollen
Importieren des Simplifier-Zertifikats in SAP
- Anmeldung an der gewünschten SAP-Instanz
- Navigieren Sie zur Transaktion “STRUST” (z.B. mit “/nSTRUST”) -> “SNC SAPCryptolib”
- Importieren Sie die “certificates_Own_Certificate.pem” in den SNC SAPCryptolib Keystore
SAP-Zertifikat als fremdes Zertifikat abrufen
- Bleiben Sie in der Transaktion “STRUST” -> “SNC SAPCryptolib”
- Wählen Sie das SAP-eigene Zertifikat aus (in der Regel ist es das erste in der Liste),
- Exportieren Sie es als “Base64” und speichern Sie es als “sap_snc_certificate.pem”
SAP-Zertifikat in Simplifier importieren
- Gehen Sie im Simplifier zu “Einstellungen” -> “SAP Security” -> “PSE-Datei”
- Klicken Sie auf das “+”-Symbol oben rechts
- Importieren Sie die Datei “sap_snc_certificate.pem”
Unterzeichnung
Bei der Erstellung des PSE Keystore von Simplifier wurde auch eine Zertifikatsanforderungsdatei erstellt. Die Datei “certificates_request.p10” wurde auf dem Dateisystem im jeweiligen Simplifier-Freigabeverzeichnis angelegt, z. B. “/opt/simplifier/data” im Verzeichnis “SapSecurity/SapPse”.
Diese Datei kann bei Bedarf verwendet werden, um die jeweilige PSE-Datei zu signieren.
Zusammenfassung
Nun sollte es so aussehen, dass sich beide Seiten mit den bekannten Zertifikaten gegenseitig identifizieren können.
In Simplifier haben wir z.B. “SimplifierProd” als “eigenes” Zertifikat und wir haben das exportierte Zertifikat von SAP als Fremdzertifikat.
Auf der SAP-Seite hat SAP ein eigenes Zertifikat und hat das “SimplifierProd” als Fremdzertifikat im Schlüsselspeicher “SNC SAPCryptolib”.
Etablierung von Simplifier als vertrauenswürdiger Partner
Da Simplifier nun SAP bekannt ist, können wir fortfahren und SAP mitteilen, zu welchen Aktionen Simplifier berechtigt ist.
- Melden Sie sich bei SAP an
- Navigieren Sie zur Transaktion “SNC0” (z.B. “/nSNC0”)
- Erstellen Sie einen neuen Eintrag in der Zugriffskontrollliste
- System-ID: die ID des gewünschten SAP-Systems
- SNC-Name: dem Common Name des Simplifiers eigenem Zertifikat “p: CN=” voranstellen – so kann z.B. der SNC-Name “p: CN=SimplifierProd” lauten (bitte beachten Sie das Leerzeichen nach “p:”)
- Aktivieren Sie die Kontrollkästchen für RFC, CPIC und für “ext ID”
- Nach dem Speichern des Eintrags sollte der “kanonische Name” definiert werden
Mapping von SAP-Benutzern
Jetzt sind wir mit der SNC-Konfiguration fertig. Um die ExtID-Funktion zu nutzen, müssen wir noch die Benutzerzuordnung in SAP konfigurieren.
Um ExtIDs auf SAP-Benutzer abzubilden, bietet SAP die Tabelle VUSREXTID an. Diese Tabelle unterstützt mehrere Quellen für die ExtIDs – z. B. Kerberos, LDAP und andere Quellen.
Bemerkung: “DN” wird als externer ID-Typ nicht unterstützt, da SAP DN für ExtID-only nicht unterstützt.
Wenn Ihr Identity Provider AD, LDAP oder oAuth ist, können Sie z.B. den externen ID-Typ “LD” auswählen.
In einer Produktionsumgebung mit einer großen Anzahl von Benutzern wird diese Tabelle wahrscheinlich durch einen automatisierten Prozess gefüllt werden.
Wir werden nun einen einzigen Mapping-Eintrag erstellen:
- Gehen Sie in SAP zur Transaktion “SM30”
- Wählen Sie die Tabelle VUSREXTID
- Klicken Sie auf “Pflegen”
- Wählen Sie den externen ID-Typ “KOP”
- Klicken Sie auf “Neue Einträge”
- Legen Sie eine externe ID fest, die anhand des Benutzerprofils Ihres Identity Providers erstellt werden kann, z.B. “EXTID_max.mustermann”
- Wählen Sie den SAP-Benutzer aus, der der ExtID zugeordnet werden soll
- Häkchen bei “Aktiviert”
- Speichern Sie die erstellte Benutzerzuordnung
Alternative: Report RSUSREXT
Es besteht auch die Möglichkeit, einen oder sogar mehrere Einträge in der Tabelle VUSREXTID zu erstellen, wobei der Bericht RSUSREXT verwendet werden kann.
Bei der Benutzerfindung können Sie zwischen SAP Username und SAP User Group wählen.
Für die Einrichtung des externen Namens verwenden wir “LD” als externen ID-Typ und setzen Präfix und/oder Suffix.
Der nächste Teil legt fest, welche Informationen aus den Benutzerstammdaten als variabler Teil des Namens verwendet werden sollen.
Sie können zwischen dem Benutzernamen selbst oder einem Alias wählen.
Wenn diese beiden Optionen nicht passen, gibt es die Möglichkeit, die BAdI-Implementierung USREXTIDMAPPING zu verwenden .
Weitere Informationen finden Sie in der Beispielimplementierung CL_USREXTID_BADI
Konfigurieren und Verwenden von geheimen Benutzerschlüsseln
Erstellen eines geheimen Benutzerschlüssels
Bis jetzt haben wir konfiguriert, dass SAP einen Benutzer über die externe Benutzer-ID (ExtID) identifizieren kann.
Nun müssen wir diese ExtID in Simplifier verfügbar machen. Um dies zu erreichen, fügen wir jedem Benutzer ein geheimes Benutzerattribut hinzu. Der Wert des Attributs kann aus Eigenschaften erstellt werden, die im Benutzerprofil des Identity Providers verfügbar sind.
Zum Beispiel fügen wir ein geheimes Benutzerattribut für eine oAuth-Authentifizierung hinzu.
- Navigieren Sie im Simplifier zu “Einstellungen” -> “Authentifizierung”
- Klicken Sie auf das Symbol “Bearbeiten” für Ihre Authentifizierung
- Gehen Sie auf die Registerkarte “Test”
- Drücken Sie auf “Profilextraktion testen” und dann auf “In Zwischenablage kopieren”
- Gehen Sie auf die Registerkarte “Benutzerattribute” und zum Abschnitt “Geheimnisse”
- Klicken Sie auf das “+”-Symbol, um einen neuen Eintrag zu erstellen
- Benennen Sie den Eintrag, z. B. “extId”
- Klicken Sie auf das Werteeingabefeld, um den Dialog “Extraktion von geheimen Benutzerattributen” zu öffnen
- Fügen Sie das kopierte Profil in die linke Spalte ein (dies wird als Testdaten verwendet – das Secret jedes Benutzers wird anhand seines Profils bewertet)
- In der mittleren Spalte geben Sie JavaScript-Code ein, der aus dem Profil einen extId-Wert erzeugt
- Über das Objekt “oProfile” erhalten Sie Zugriff auf das Benutzerprofil des Identity Providers
- Das Ergebnis muss der Variablen “output” zugewiesen werden
- z.B. der JavaScript Code output=’EXTID_’+oProfile.email.split(‘@’)[0]
würde die Beispiel-ExtID “EXTID_max.mustermann” erzeugen - Klicken Sie auf “Testen”, um Ihren Code zu testen – das Ergebnis wird in der rechten Spalte angezeigt
- Schließen des Dialogfelds
- Drücken Sie auf “Speichern” in der oberen rechten Ecke der Seite
Erstellen Sie eine Anmeldemethode, die die ExtID verwendet.
Um die konfigurierte ExtID in einem Connector (RFC, SOAP oder oData) zu verwenden, benötigen Sie eine neue Login-Methode. Schauen Sie sich in der Dokumentation zur Login-Methode (bitte folgen Sie dem Link, um die Erstellung einer Login-Methode zu sehen, die mit ExtID verwendet werden soll) an, wie eine solche Login-Methode konfiguriert werden sollte.
Hinweis zum SAP-System
Damit das SAP-System mit dem Konnektor verwendet werden kann, müssen Sie insbesondere die Angaben auf der Registerkarte “Netzwerk” beachten:
- Der Switch “SNC Mode Active” muss aktiviert sein, der sicherstellt, dass die Connector-Aufrufe an SAP gesichert sind.
- Der “SNC Own Name” kann normalerweise leer gelassen werden. Nur für den Fall, dass Sie mehrere PSE Keystores manuell erstellt haben und einen davon adressieren müssen (dies geht über diese Dokumentation hinaus).
- Der “SNC-Partner” muss derselbe sein wie in dem Zertifikat, das Sie aus SAP exportiert haben. Sie können den Namen unter “Einstellungen” -> “SAP-Sicherheit” -> “PSE-Datei” nachschlagen und dann den Eintrag des SAP-Zertifikats auswählen (normalerweise der zweite Eintrag) und einen Blick auf den “Betreff” werfen – dort finden Sie eine Zeichenfolge wie “CN=MySapSystem” – und diese Zeichenfolge sollte als “SNC-Partner” verwendet werden.
- Der Schalter “SNC-SSO” muss aktiviert werden. Siehe Bildschirmfoto unten.
- Wählen Sie den entsprechenden Wert für “SNC Quality of Protection” – in der Regel können Sie den Standardwert beibehalten – setzen Sie sich im Zweifelsfall mit Ihrem SAP-Administrator in Verbindung.
Verwenden der Anmeldemethode mit einem Connector
Die SAP-Logon Login-Methode mit externer Identifikation kann nun mit jedem oData-, SOAP- oder RFC-Konnektor verwendet werden, der ein SAP SSO Token des SAP-Systems benötigt, das Sie in der Login-Methode ausgewählt haben.
Um das ganze Szenario zu testen, können Sie entweder einen neuen Connector erstellen oder z.B. einen bestehenden RFC-Connector kopieren. (Dies kann in Simplifier unter “Konnektoren” erfolgen – siehe auch diese Dokumentation)
Bearbeiten Sie den Anschluss und wählen Sie die Registerkarte “Endpunkte”. Wählen Sie den Endpunkt, den Sie verwenden möchten.
- Als SAP-System haben Sie in der Regel das gleiche SAP-System, das Sie auch für die Login-Methode ausgewählt haben (Ausnahme kann sein, wenn Sie mehrere SAP-Systeme haben und alle die gleichen SAP SSO Token akzeptieren)
- Wählen Sie als Login-Methode die Login-Methode aus, die Sie im oberen Schritt angelegt haben
- Klicken Sie auf die Schaltfläche “Speichern” in der oberen rechten Ecke
- Klicken Sie auf die Registerkarte “Anrufe”, wählen Sie einen Connector-Anruf aus und klicken Sie auf “Connectorcall testen” (Details finden Sie hier)
- Wenn Sie auf Fehler stoßen, lesen Sie bitte die Seite “Fehlerbehebung bei SNC SSO“.































