Überblick
In diesem Kapitel wird beschrieben, wie Simplifier und SAP konfiguriert werden müssen, damit Simplifier-Konnektoren mit Benutzern, die durch die SAP ExtID-Funktion identifiziert werden, auf SAP zugreifen.
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
Dieser Artikel ist in die folgenden Themen unterteilt:
Konfigurieren der SNC-Sicherheitsschicht
Die SNC-Sicherheitsschicht fügt z. B. RFC- und CPIC-Verbindungen zwischen SAP und anderen Produkten Sicherheitsfunktionen hinzu.
Im Folgenden finden Sie die beschriebenen Schritte zur Konfiguration von Simplifier und dem SAP-System für die Verwendung von SNC-gesicherten Verbindungen.
Die ExtID-Funktion erfordert SNC-Verbindungen – aber auch wenn Sie ExtID nicht verwenden, können Sie SNC für Simplifier und SAP konfigurieren.
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, so dass 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 benötigen wir zwei Zertifikate.
Das “eigene” Zertifikat von Simplifier (wird beim ersten Anlegen des Keystores erstellt) 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 allgemeinen Namen 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
Keystore erstellen
Eigenes Zertifikat herunterladen
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
Importieren des Simplifier-Zertifikats in SAP
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”
Zertifikat aus SAP exportieren
Importieren Sie das SAP-Zertifikat in Simplifier
- 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-Keystores von Simplifier wurde auch eine Zertifikatsanforderungsdatei erstellt.
Die Datei ‘certificates_request.p10’ wurde auf dem Dateisystem im jeweiligen Simplifier Shared Directory erstellt, 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 identifizieren können.
In Simplifier haben wir z.B. “SimplifierProd” als “eigenes” Zertifikat und wir haben das exportierte Zertifikat von SAP als ausländisches Zertifikat.
Auf der SAP-Seite hat SAP ein eigenes Zertifikat und hat das “SimplifierProd” als fremdes Zertifikat im Keystore “SNC SAPCryptolib”.
Etablierung von Simplifier als vertrauenswürdiger Partner
Jetzt, da Simplifier SAP bekannt ist, können wir fortfahren und SAP mitteilen, welche Aktionen Simplifier ausführen darf.
- Melden Sie sich bei SAP an
- Navigieren Sie zur Transaktion “SNC0” (z.B. “/nSNC0”)
- Erstellen eines neuen Eintrags 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
Wechseln Sie zu /nSNC0
ACL-Eintrag erstellen
Mapping von SAP-Benutzern
Nun sind wir mit der SNC-Konfiguration fertig.
Um die ExtID-Funktion nutzen zu können, müssen wir noch das Benutzermapping 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 nicht nur für ExtID 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.
Wir erstellen nun einen einzigen Mapping-Eintrag:
- 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
Gehe zu VUSREXTID
Erstellen einer Benutzerzuordnung
Alternative: Report RSUSREXT
Es besteht auch die Möglichkeit, einen oder sogar mehrere Einträge in der Tabelle VUSREXTID anzulegen, der Report RSUSREXT kann verwendet werden.
Bei 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.
Im nächsten Teil wird festgelegt, welche Informationen aus Benutzerstammdaten als variabler Teil des Namens verwendet werden.
Sie können zwischen dem Benutzernamen selbst oder dem Alias wählen.
Wenn beide Optionen nicht passen, besteht die Möglichkeit, die BAdI-Implementierung USREXTIDMAPPING zu verwenden. Weitere Informationen finden Sie in der CL_USREXTID_BADI der Beispielimplementierung
Konfigurieren und Verwenden von geheimen Benutzerschlüsseln
Erstellen eines geheimen Benutzerschlüssels
Bisher haben wir konfiguriert, dass SAP einen Benutzer über die externe Benutzer-ID (ExtID) identifizieren kann.
Jetzt müssen wir diese ExtID in Simplifier verfügbar haben.
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 Identitätsanbieters 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)
- Geben Sie in der mittleren Spalte JavaScript-Code ein, der einen extId-Wert aus dem Profil generiert
- Über das Objekt “oProfile” erhalten Sie 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 “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
Gehen Sie zu Authentifizierung
Beispielprofil kopieren
Benutzerschlüssel erstellen
Geben Sie JavaScript-Code ein
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.
Werfen Sie einen Blick in die Dokumentation zur Login-Methode (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
Damit das SAP-System mit dem Konnektor verwendet werden kann, müssen Sie insbesondere auf die Details auf dem Reiter “Netzwerk” achten:
- Der Switch “SNC Mode Active” muss aktiviert sein, der sicherstellt, dass die Connector-Aufrufe an SAP gesichert sind.
- Der “SNC Own Name” kann in der Regel leer gelassen werden.
Nur für den Fall, dass Sie manuell mehrere PSE-Keystores erstellt haben und einen davon ansprechen müssen (dies geht über diese Dokumentation hinaus). - Der “SNC-Partner” muss mit dem Zertifikat übereinstimmen, 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 (in der Regel den zweiten Eintrag) und einen Blick auf den “Betreff” werfen – dort finden Sie einen String wie “CN=MySapSystem” – und dieser String 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 – setzen Sie sich im Zweifelsfall mit Ihrem SAP-Administrator in Verbindung.
SNC-SSO im SAP-System aktivieren
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 gesamte Szenario zu testen, können Sie entweder einen neuen Konnektor erstellen oder z.B. einen vorhandenen RFC-Konnektor kopieren.
(Dies kann im Simplifier unter “Konnektoren” erfolgen – siehe auch diese Dokumentation) Bearbeiten Sie den Konnektor und wählen Sie die Registerkarte “Endpunkte”.
Wählen Sie den Endpunkt aus, 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“.