Unterstützte SSO-Methoden

SSO erfordert, dass die Web Identity Management-Lösung den Anmeldenamen authentifizierter Benutzer an Oracle Enterprise Performance Management System-Produkte übergibt. Sie können die folgenden EPM System-Standardmethoden verwenden, um EPM System in kommerzielle und benutzerdefinierte webbasierte SSO-Lösungen zu integrieren.

Achtung:

Oracle empfiehlt als Sicherheitsmaßnahme, die Authentifizierung von Clientzertifikaten (wechselseitiger SSL) zwischen dem Webserver und dem Anwendungsserver zu implementieren, wenn Ihr Unternehmen Methoden verwendet, bei denen die Benutzeridentität zur Identitätspropagierung im Header enthalten ist.

HTTP-Header

Wenn Sie Oracle Single Sign-On (OSSO), SiteMinder oder Oracle Access Manager als Web Identity Management-Lösung verwenden, wählt die EPM System-Sicherheit automatisch die Option "Benutzerdefinierter HTTP-Header" aus, um den Anmeldenamen authentifizierter Benutzer an EPM System-Komponenten zu übergeben.

Der Anmeldename eines EPM System-Produktbenutzers wird von Login Attribute festgelegt. Dieses Attribut wird bei der Konfiguration von Benutzerverzeichnissen in Oracle Hyperion Shared Services angegeben. Eine kurze Beschreibung zu Login Attribute finden Sie unter "OID, Active Directory und andere LDAP-basierte Benutzerverzeichnisse konfigurieren" in der Oracle Enterprise Performance Management - Administrationsdokumentation für Benutzersicherheit.

Der HTTP-Header muss den Wert des Attributs enthalten, das als Anmeldeattribut angegeben wurde. Beispiel: Wenn für Login Attribute der Wert uidangegeben ist, muss der HTTP-Header den Wert des Attributs uid enthalten.

Ausführliche Informationen zur Definition und Ausgabe von benutzerdefinierten HTTP-Headern finden Sie in der Dokumentation zu Ihrer Web Identity Management-Lösung.

Die EPM System-Sicherheit parst den HTTP-Header und validiert den enthaltenen Anmeldenamen anhand der in Shared Services konfigurierten Benutzerverzeichnisse.

Benutzerdefinierte Anmeldeklasse

Wenn sich ein Benutzer anmeldet, authentifiziert die Web Identity Management-Lösung diesen Benutzer anhand eines Verzeichnisservers. Sie kapselt die Zugangsdaten des authentifizierten Benutzers in einen SSO-Mechanismus, um SSO auch für Downstream-Systeme zu aktivieren. Verwendet die Web Identity Management-Lösung einen Mechanismus, der von EPM System-Produkten nicht unterstützt wird, oder ist der Wert von Login Attribute nicht im SSO-Mechanismus verfügbar, können Sie eine benutzerdefinierte Anmeldeklasse nutzen, um den Wert von Login Attribute abzuleiten und an EPM System-Produkte zu übergeben.

Bei Verwendung einer benutzerdefinierten Anmeldeklasse kann EPM System in Security Agents integriert werden, die eine auf X509-Zertifikaten basierende Authentifizierung verwenden. Wenn dieser Authentifizierungsmechanismus verwendet wird, müssen Shared Services-Standard-APIs implementiert werden, um die SSO-Schnittstelle zwischen EPM System-Komponenten und der Web Identity Management-Lösung zu definieren. Die benutzerdefinierte Anmeldeklasse muss den Wert des Anmeldeattributs an EPM System-Produkte übergeben. Eine kurze Beschreibung zu Login Attribute finden Sie unter "OID, Active Directory und andere LDAP-basierte Benutzerverzeichnisse konfigurieren" in der Oracle Enterprise Performance Management - Administrationsdokumentation für Benutzersicherheit. Einen Beispielcode und Implementierungsschritte finden Sie unter Benutzerdefinierte Anmeldeklassen implementieren.

Um eine benutzerdefinierte Anmeldeklasse (Standardname com.hyperion.css.sso.agent.X509CertificateSecurityAgentImpl) verwenden zu können, muss eine Implementierung der Schnittstelle com.hyperion.css.CSSSecurityAgentIF im Classpath verfügbar sein. CSSSecurityAgentIF definiert die Methode zum Abrufen des Benutzernamens und des Kennworts (optional). Gibt die Schnittstelle ein Null-Kennwort zurück, sieht die Sicherheitsauthentifizierung den Anbieter als vertrauenswürdig an und verifiziert die Existenz des Benutzers für konfigurierte Anbieter. Unter Umständen wird von der Schnittstelle ein Wert für das Kennwort zurückgegeben, der nicht null ist. In diesem Fall versucht EPM System, die Anforderung unter Verwendung des von dieser Implementierung zurückgegebenen Benutzernamens und Kennworts zu authentifizieren.

CSSSecurityAgentIF umfasst zwei Methoden: getUserName und getPassword.

getUserName-Methode

Diese Methode gibt den Benutzernamen für die Authentifizierung zurück.

java.lang.String getUserName(
                    javax.servlet.http.HttpServletRequest req,
                    javax.servlet.http.HttpServletResponse res)
                    throws java.lang.Exception

Der Parameter req identifiziert die HTTP-Anforderung, in der die Information enthalten ist, die zur Ermittlung des Benutzernamens benötigt wird. Der Parameter res wird nicht verwendet (ist aber für die Kompatibilität mit früheren Versionen bereits festgelegt).

getPassword-Methode

Diese Methode gibt das Kennwort für die Authentifizierung in Klartext zurück. Der Kennwortabruf ist optional.

java.lang.String getPassword(
                    javax.servlet.http.HttpServletRequest req,
                    javax.servlet.http.HttpServletResponse res)
                    throws java.lang.Exception

Der Parameter req identifiziert die HTTP-Anforderung, in der die Information enthalten ist, die zur Ermittlung des Kennworts benötigt wird. Der Parameter res wird nicht verwendet (ist aber für die Kompatibilität mit früheren Versionen bereits festgelegt).

HTTP-Autorisierungsheader

Die EPM System-Sicherheit unterstützt die Verwendung eines HTTP-Autorisierungsheaders, um den Wert von Login Attribute über Web Identity Management-Lösungen an EPM System-Produkte zu übergeben. EPM System-Produkte parsen den Autorisierungsheader, um den Anmeldenamen des Benutzers abzurufen.

Remote-Benutzer aus HTTP-Anforderung abrufen

Die EPM System-Sicherheit unterstützt die Verwendung einer HTTP-Anforderung, um den Wert von Login Attribute über Web Identity Management-Lösungen an EPM System-Produkte zu übergeben. Verwenden Sie diese SSO-Methode, wenn die Web Identity Management-Lösung eine HTTP-Anforderung mit dem Wert von Login Attribute übergibt. Dieses Attribut wird mit der Funktion setRemoteUser festgelegt.

Headerbasierte Authentifizierung mit Identity Management-Produkten

EPM System unterstützt beliebige Identity Management-Produkte, z.B. Oracle Identity Cloud Services, Microsoft Azure AD oder Okta, die die headerbasierte Authentifizierung unterstützen. Der konzeptionelle Workflow sieht wie folgt aus:

  • Eine Gateway-Anwendung, die als Reverse-Proxy fungiert, schützt EPM System-Komponenten, indem nicht authentifizierter Netzwerkzugriff eingeschränkt wird.
  • Die Gateway-Anwendung fängt HTTP(S)-Anforderungen an EPM System-Komponenten ab und stellt sicher, dass das Identity Management-Produkt Benutzer vor dem Weiterleiten der Anforderungen an EPM System-Komponenten authentifiziert.
  • Die Gateway-Anwendung propagiert beim Weiterleiten der Anforderungen an EPM System-Komponenten die Identität des authentifizierten Benutzers an die EPM System-Komponente über HTTP-Headeranforderungen.

Damit dieses Authentifizierungsszenario unterstützt wird, muss EPM System so konfiguriert sein, dass es mit der über HTTP(S)-Anforderungen propagierten Identität des authentifizierten Benutzers arbeitet.