Metodi SSO supportati

Con SSO, la soluzione di gestione delle identità Web passa il nome di accesso degli utenti autenticati ai prodotti Oracle Enterprise Performance Management System. È possibile utilizzare i metodi EPM System standard descritti di seguito per integrare EPM System con soluzioni SSO commerciali e customizzate basate sul Web.

Attenzione:

Come misura di sicurezza, Oracle consiglia di implementare l'autenticazione con certificato client (autenticazione SSL bidirezionale) tra il server Web e il server applicazioni se nell'organizzazione vengono utilizzati metodi con l'identità dell'utente nell'intestazione per la propagazione dell'identità.

Intestazione HTTP

Se si utilizza Oracle Single Sign-On (OSSO), SiteMinder oppure Oracle Access Manager come soluzione di gestione delle identità Web, la funzionalità di sicurezza di EPM System seleziona automaticamente l'intestazione HTTP customizzata per passare il nome di accesso degli utenti autenticati ai componenti di EPM System.

Il nome di accesso dell'utente di un prodotto EPM System viene determinato dall'elemento Login Attribute specificato durante la configurazione delle directory utenti in Oracle Hyperion Shared Services. Fare riferimento alla sezione "Configurazione di OID, Active Directory e altre directory utenti basate su LDAP" nella Oracle Enterprise Performance Management System User Security Administration Guide (in lingua inglese) per una breve descrizione di Login Attribute.

L'intestazione HTTP deve contenere il valore dell'attributo impostato come attributo di accesso. Se ad esempio il valore di Login Attribute è uid, l'intestazione HTTP deve includere il valore dell'attributo uid.

Per informazioni dettagliate sulla definizione e la generazione di intestazioni HTTP customizzate, fare riferimento alla documentazione della propria soluzione di gestione delle identità Web.

La funzionalità di sicurezza di EPM System analizza l'intestazione HTTP e convalida il nome di accesso in essa contenuto a fronte delle directory utenti configurate in Shared Services.

Classe di accesso customizzata

Quando un utente esegue l'accesso, la soluzione di gestione delle identità Web lo autentica a fronte di un server directory e incapsula le credenziali dell'utente autenticato in un meccanismo SSO per consentire l'accesso SSO con sistemi a valle. Se la soluzione di gestione delle identità Web utilizza un meccanismo non supportato dai prodotti EPM System o se il valore di Login Attribute non è disponibile nel meccanismo SSO, è possibile utilizzare una classe di accesso customizzata per recuperare il valore di Login Attribute e passarlo ai prodotti EPM System.

L'utilizzo di una classe di accesso customizzata consente l'integrazione di EPM System con agenti di sicurezza che utilizzano l'autenticazione basata sul certificato X509. L'utilizzo di questo meccanismo di autenticazione richiede l'implementazione di API di Shared Services standard per definire l'interfaccia SSO tra i componenti di EPM System e la soluzione di gestione delle identità Web. La classe di accesso custom deve quindi passare il valore dell'attributo di accesso ai prodotti di EPM System. Fare riferimento alla sezione "Configurazione di OID, Active Directory e altre directory utenti basate su LDAP" nel manuale Oracle Enterprise Performance Management System User Security Administration Guide (in lingua inglese) per una breve descrizione di Login Attribute. Per il codice campione e i passi di implementazione, fare riferimento alla sezione Implementazione di una classe di accesso customizzata.

Per poter utilizzare una classe di accesso customizzata (il nome predefinito è com.hyperion.css.sso.agent.X509CertificateSecurityAgentImpl), deve essere disponibile un'implementazione dell'interfaccia com.hyperion.css.CSSSecurityAgentIF nel classpath. CSSSecurityAgentIF definisce il metodo getter per il recupero del nome utente e della password (facoltativo). Se l'interfaccia restituisce una password con valore null, l'autenticazione di protezione considera il provider attendibile e verifica l'esistenza dell'utente nei provider configurati. Se l'interfaccia restituisce un valore diverso da null per la password, EPM System tenta di autenticare la richiesta utilizzando il nome utente e la password restituiti da questa implementazione.

CSSSecurityAgentIF include due metodi: getUserName e getPassword.

Metodo getUserName

Questo metodo restituisce il nome utente per l'autenticazione.

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

Il parametro req identifica la richiesta HTTP che trasporta le informazioni utilizzate per determinare il nome utente. Il parametro res non viene utilizzato (è preimpostato per la compatibilità con le versioni precedenti).

Metodo getPassword

Questo metodo restituisce la password con testo in chiaro per l'autenticazione. Il recupero della password è opzionale.

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

Il parametro req identifica la richiesta HTTP che trasporta le informazioni utilizzate per determinare il nome utente. Il parametro res non viene utilizzato (è preimpostato per la compatibilità con le versioni precedenti).

Intestazione di autorizzazione HTTP

La funzionalità di sicurezza di EPM System supporta l'utilizzo di un'intestazione di autorizzazione HTTP per passare il valore di Login Attribute ai prodotti EPM System da soluzioni di gestione delle identità Web. I prodotti EPM System analizzano l'intestazione dell'autorizzazione per recuperare il nome di accesso dell'utente.

Richiama utente remoto da richiesta HTTP

La funzionalità di sicurezza di EPM System supporta l'utilizzo di una richiesta HTTP per passare il valore di Login Attribute ai prodotti EPM System da soluzioni di gestione delle identità Web. Utilizzare questo metodo SSO se la soluzione di gestione delle identità Web passa una richiesta HTTP contenente il valore di Login Attribute, che viene ipostato utilizzando la funzione setRemoteUser.

Autenticazione basata su intestazione con prodotti di gestione delle identità

EPM System supporta qualsiasi prodotto di gestione delle identità, ad esempio Oracle Identity Cloud Services, Microsoft Azure AD e Okta, che supporti l'autenticazione basata su intestazione. Il flusso di lavoro concettuale è il seguente.

  • Un'applicazione gateway che funge da proxy inverso protegge i componenti di EPM System limitando l'accesso alla rete non autenticato.
  • L'applicazione gateway intercetta le richieste HTTP(S) dirette ai componenti di EPM System e garantisce che il prodotto di gestione delle identità autentichi gli utenti prima che le richieste vengano inoltrate ai componenti di EPM System.
  • Durante l'inoltro delle richieste ai componenti di EPM System, l'applicazione gateway propaga l'identità dell'utente autenticato al componente di EPM System mediante richieste con intestazione HTTP.

Per supportare questo scenario di autenticazione, EPM System deve essere configurato per utilizzare l'identità dell'utente autenticato che viene propagata mediante richieste con intestazione HTTP(S).