Überblick
Dieses Kapitel beschreibt, wie Simplifier und SAP konfiguriert werden müssen, damit Simplifier Konnektoren mit Benutzern, die durch die SAP ExtID-Funktion identifiziert werden, auf SAP zugreifen kann.
Anmeldung
- Der Benutzer meldet sich über den konfigurierten Identity Provider bei Simplifier an.
- Das Benutzerprofil des Identity Providers enthält alle Informationen, die zum Erstellen der ExtID für SAP benötigt werden.
Erster Konnektoraufruf
- Bevor der erste Konnektoraufruf stattfindet, ruft Simplifier implizit das SAP-System über das RFC-SNC-Protokoll auf und fordert ein SAP-SSO-Token an.
- Da SAP der Simplifier-Instanz vertraut (identifiziert durch die Zertifikate aus dem PSE-Keystore), sucht SAP den zugeordneten SAP-Benutzer aus der Tabelle VUSREXTID heraus und gibt das personalisierte SAP-SSO-Token zurück.
- Dieses SAP-SSO-Token wird dann von Simplifier verwendet, um den eigentlichen Konnektor-Aufruf (RFC, SOAP oder oData) durchzuführen.
Nächster Konnektoraufruf
- Alle folgenden Konnektoraufrufe mit derselben Anmeldemethode werden mit dem einmal abgerufenen SAP-SSO-Token durchgeführt.
Voraussetzungen
- Sie benötigen einen für Ihren Simplifier konfigurierten Identity Provider (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 folgende Themen unterteilt:
Konfigurieren der SNC-Sicherheitsschicht
Die SNC-Sicherheitsschicht fügt Sicherheitsfunktionen zu z. B. RFC- und CPIC-Verbindungen zwischen SAP und anderen Produkten hinzu.
Hier werden die Schritte zur Konfiguration von Simplifier und dem SAP-System zur Verwendung von SNC-gesicherten Verbindungen beschrieben. 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 gesetzt wurden
| Parameter | Wert |
|---|---|
| login/create_sso2_ticket | 2 |
| login/ticket_expiration_time | Genauso wie die in Simplifier konfigurierte Token-Ablaufzeit. Der Standardwert ist 8 Stunden. |
| login/accept_sso2_ticket | 1 |
| snc/enable | 1 |
| snc/extid_login_rfc | 1 |
| snc/gssapi_lib | Pfad zur CryptoLib |
| snc/identity/as | Muss der gleiche Wert wie im Zertifikat sein |
Konfigurieren Sie die SAP Cryptolib in Simplifier.
Simplifier benötigt die SAP Cryptolib, um eine PSE-Keystore-Datei zu erstellen. Der PSE-Keystore enthält die Zertifikate, sodass 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 von: (S-User erforderlich) herunter.
- Navigieren Sie in Simplifier zu „Einstellungen“ -> „SAP-Sicherheit“ -> „SAP Cryptographic Library“.
- Wählen Sie die bereits heruntergeladenen Dateien aus, laden Sie die Dateien hoch und drücken Sie “Speichern”.
PSE-Keystore erstellen
Im PSE-Keystore benötigen wir zwei Zertifikate. Das “eigene” Zertifikat von Simplifier (erstellt, wenn der Keystore initial erstellt wird) und das “fremde” Zertifikat des SAP-Systems.
Keystore und eigenes Simplifier-Zertifikat erstellen
- Navigieren Sie innerhalb des Hauptreiters “SAP Sicherheit” 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 – daher sollten wir einen beschreibenden Namen haben.
- Jetzt ist der PSE-Keystore erstellt und enthält das eigene Zertifikat, das wir herunterladen und “certificates_Own_Certificate.pem” nennen sollten.
Simplifier-Zertifikat in SAP importieren
- Melden Sie sich bei der gewünschten SAP-Instanz an
- 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 beziehen
- Bleiben Sie in der Transaktion “STRUST” -> “SNC SAPCryptolib”
- Wählen Sie das eigene Zertifikat von SAP aus (normalerweise 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 in Simplifier zu „Einstellungen“ -> „SAP-Sicherheit“ -> „PSE-Datei“.
- Klicken Sie auf das obere rechte “+” Symbol
- Importieren Sie die “sap_snc_certificate.pem”.
Signierung
Während der Erstellung des PSE-Keystores von Simplifier wurde auch eine Zertifikatsanforderungsdatei erstellt. Die Datei ‘certificates_request.p10’ wurde im Dateisystem im jeweiligen gemeinsam genutzten Simplifier-Verzeichnis erstellt, z. B. ‘/opt/simplifier/data’ im Verzeichnis ‘SapSecurity/SapPse’.
Diese Datei kann verwendet werden, um die jeweilige PSE-Datei zu signieren, falls erforderlich.
Zusammenfassung
Jetzt sollte es so aussehen, dass sich beide Seiten mit den bekannten Zertifikaten identifizieren können.
In Simplifier haben wir z. B. “SimplifierProd” als “eigenes” Zertifikat und wir haben das exportierte Zertifikat von SAP als fremdes Zertifikat.
Auf der SAP-Seite hat SAP sein eigenes Zertifikat und hat “SimplifierProd” als fremdes Zertifikat im “SNC SAPCryptolib” Keystore.
Simplifier als vertrauenswürdigen Partner etablieren
Nachdem Simplifier SAP bekannt ist, können wir SAP mitteilen, welche Aktionen Simplifier ausführen darf.
- Melden Sie sich bei SAP an
- Navigieren Sie zur Transaktion “SNC0” (z. B. “/nSNC0”)
- Erstellen Sie einen neuen Eintrag in der Access Control List
- System-ID: die ID des gewünschten SAP-Systems
- SNC-Name: Stellen Sie dem Common Name des eigenen Zertifikats von Simplifier “p: CN=” voran – der SNC-Name kann also beispielsweise “p: CN=SimplifierProd” sein (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.
Zuordnung von SAP-Benutzern
Nun sind wir mit der SNC-Konfiguration fertig. Um die ExtID-Funktion zu nutzen, müssen wir noch die Benutzerzuordnung in SAP konfigurieren.
Um ExtIDs SAP-Benutzern zuzuordnen, bietet SAP die VUSREXTID-Tabelle an. Diese Tabelle unterstützt mehrere Quellen für die ExtIDs – z. B. Kerberos, LDAP und andere Quellen.
Hinweis: “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.
Für eine Produktionsumgebung mit einer großen Anzahl von Benutzern wird diese Tabelle wahrscheinlich durch einen automatisierten Prozess gefüllt.
Wir werden nun einen einzelnen Zuordnungseintrag erstellen:
- Gehen Sie in SAP zur Transaktion “SM30”
- Wählen Sie die Tabelle VUSREXTID aus
- Klicken Sie auf “Pflegen”
- Wählen Sie den externen ID-Typ “LD” aus
- Klicken Sie auf “Neue Einträge”
- Setzen Sie eine externe ID, 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
- Aktivieren Sie “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, der Report RSUSREXT kann verwendet werden.
Im Falle der Benutzerermittlung können Sie zwischen SAP-Benutzername und SAP-Benutzergruppe 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 bestimmt, welche Informationen der Benutzermasterdaten als variabler Teil des Namens verwendet werden.
Sie können zwischen dem Benutzernamen selbst oder dem Alias wählen.
Wenn keine dieser Optionen passt, besteht die Möglichkeit, die BAdI-Implementierung USREXTIDMAPPING zu verwenden.
Überprüfen Sie die Beispielimplementierung CL_USREXTID_BADI für weitere Informationen
Konfigurieren und Verwenden von Benutzergeheimnissen
Benutzergeheimnis erstellen
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 haben. Um dies zu erreichen, fügen wir jedem Benutzer ein Secret User Attribute hinzu. Der Wert des Attributs kann aus Eigenschaften erstellt werden, die aus dem Benutzerprofil des Identity Providers verfügbar sind.
Zum Beispiel fügen wir ein Secret User Attribute für eine oAuth-Authentifizierung hinzu.
- Navigieren Sie in Simplifier zu „Einstellungen“ -> „Authentifizierung“.
- Klicken Sie auf das “Bearbeiten”-Symbol für Ihre Authentifizierung
- Gehen Sie zum Reiter “Test”
- Drücken Sie “Test profile extraction” und dann “Copy to Clipboard”
- Gehen Sie zum Reiter “User attributes” und zum Abschnitt “Secrets”
- Klicken Sie auf das “+” Symbol, um einen neuen Eintrag zu erstellen
- Nennen Sie den Eintrag beispielsweise “extId”
- Klicken Sie auf das Werteingabefeld, um den Dialog “Extraction of secret User Attributes” zu öffnen
- Fügen Sie das kopierte Profil in die linke Spalte ein (dies wird als Testdaten verwendet – das Secret jedes Benutzers wird basierend auf seinem Profil ausgewertet)
- Geben Sie in der mittleren Spalte JavaScript-Code ein, der einen extId-Wert aus dem Profil generiert
- Das Objekt “oProfile” gibt Ihnen Zugriff auf das Benutzerprofil des Identity Providers
- Das Ergebnis muss der Variablen “output” zugewiesen werden
- z. B. würde der JavaScript-Code output=’EXTID_’+oProfile.email.split(‘@’)[0]
die Beispiel-ExtID “EXTID_max.mustermann” erstellen - Klicken Sie auf “Test”, um Ihren Code zu testen – das Ergebnis wird in der rechten Spalte angezeigt
- Schließen Sie den Dialog
- Drücken Sie “Speichern” in der oberen rechten Ecke der Seite
Erstellen Sie eine Anmeldemethode, die die ExtID verwendet
Um die konfigurierte ExtID in einem Konnektor (RFC, SOAP oder oData) zu verwenden, benötigen Sie eine neue Login-Methode. Sehen Sie sich die Login-Methoden-Dokumentation an (bitte folgen Sie dem Link, um die Erstellung einer Login-Methode zu sehen, die mit ExtID verwendet werden soll), wie eine solche Login-Methode konfiguriert werden sollte.
Hinweis zum SAP-System
Für das SAP-System, das mit dem Konnektor verwendet werden soll, müssen Sie besonders auf die Details auf dem Reiter “Netzwerk” achten:
- Der Schalter “SNC Mode Active” muss aktiviert sein, um sicherzustellen, dass die Konnektoraufrufe an SAP gesichert sind.
- Der “SNC Own Name” kann in der Regel leer gelassen werden. Nur für den Fall, dass Sie mehrere PSE-Keystores manuell erstellt haben und einen davon ansprechen müssen (dies geht über diese Dokumentation hinaus).
- Der “SNC Partner” muss derselbe sein wie im 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 (normalerweise der zweite Eintrag) auswählen und sich das “subject” ansehen – dort finden Sie eine Zeichenkette wie “CN=MySapSystem” – und diese Zeichenkette sollte als “SNC Partner” verwendet werden.
- Der Schalter “SNC-SSO” muss aktiviert sein. Siehe Screenshot unten.
- Wählen Sie den entsprechenden Wert für “SNC Quality of protection” – in der Regel können Sie den Standardwert beibehalten – im Zweifelsfall wenden Sie sich an Ihren SAP-Administrator.
Verwenden Sie die Anmeldemethode mit einem Konnektor
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 gesamte Szenario zu testen, können Sie entweder einen neuen Konnektor erstellen oder z. B. einen vorhandenen RFC-Konnektor kopieren. (Dies kann in Simplifier unter „Konnektoren“ erfolgen – siehe auch diese Dokumentation)
Bearbeiten Sie den Konnektor und wählen Sie den Reiter “Endpunkte”. Wählen Sie den Endpunkt aus, den Sie verwenden möchten.
- Als SAP-System haben Sie in der Regel dasselbe SAP-System, das Sie auch für die Anmeldemethode ausgewählt haben (Ausnahme könnte sein, wenn Sie mehrere SAP-Systeme haben und alle dieselben SAP-SSO-Token akzeptieren)
- Wählen Sie als Anmeldemethode die Anmeldemethode aus, die Sie im oberen Schritt erstellt haben
- Klicken Sie auf die Schaltfläche “Speichern” in der oberen rechten Ecke
- Klicken Sie auf den Reiter “Aufrufe”, wählen Sie einen Konnektoraufruf aus und klicken Sie auf “Test Connectorcall” (für Details schauen Sie hier)
- Wenn Sie auf Fehler stoßen, lesen Sie bitte die Seite “Troubleshoot SNC SSO“.































