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 uid
angegeben 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:
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.