Single Sign-On mediante Oracle Access Management Identity Federation Services

È possibile abilitare Essbase in locale per utilizzare Single Sign-On (SSO) da Oracle Access Management Identity Federation Services (FS). Viene descritto come configurare Oracle Access Management Identity Federation come provider di identità (IDP) da utilizzare con WebLogic come provider di servizi (SP).

  • È necessario disporre di un ambiente Oracle Access Manager (OAM) con Federation Services abilitato. OAM è integrato con una directory LDAP, AD esempio OUD, OID o AD. In questo caso OID è integrato con OAM.
  • Essbase deve essere installato.
  • Nell'ordine presentato, è necessario eseguire i task riportati di seguito per consentire a Essbase di utilizzare Single Sign-On utilizzando Oracle Access Management Identity Federation Services.

PARTE A - Ottenere i metadati IDP per la configurazione SP

  1. Eseguire il login alla console OAM e andare a Configuration > Available Services.
  2. Verificare che Identity Federation sia abilitato o abilitarlo.
  3. Andare a Configurazione > Impostazioni > Visualizza > Federazione.
  4. Fare clic su Esporta metadati SAML 2.0 per scaricare i metadati IDP.
  5. Salvare il file di metadati come oam_fed_idp_metadata.xml per utilizzare questo file per registrare OAM come IDP in WebLogic.
  6. Modificare oam_fed_idp_metadata.xml, rimuovere il tag <md:RoleDescriptor ... </md:RoleDescriptor e salvare il file. Questa tag non è supportata da WebLogic.

PARTE B - Configurare il provider di servizi WebLogic (SP)

  1. Abilita SSL.
    1. Nella console WebLogic, sotto la struttura del dominio, andare a Ambiente > Server > essbase_server1 > configurazione > Generale. Selezionare la casella di controllo Porta di ascolto abilitata e fornire un numero di porta per il server gestito.
    2. Abilitare SSL per HTTP protocollo sul server gestito. Sotto la struttura del dominio, andare a Ambiente > Server > essbase_server1 Protocol > HTTP. Selezionare la casella di controllo Porta di ascolto SSL abilitata e fornire un numero di porta.
    3. Andare a Realm di sicurezza > myrealm > Configurazione > scheda generale. Impostare Modello di sicurezza su Avanzate.
  2. Creare un assertore di identità utilizzando la console di amministrazione WebLogic.
    1. Eseguire il login alla console WebLogic.
    2. Vai a Home > Riepilogo dei regni di sicurezza > myrealm > Fornitori.
    3. Fare clic su Crea nuovo provider di autenticazione.
    4. Fare clic su OK.
    5. Immettere il nome del provider come SAML-IA e selezionare il tipo SAML2IdentityAsserter.
    6. Fare clic su OK.
  3. Creare un nuovo provider SAMLAuthenticator.
    1. Vai a: Home > Riepilogo dei regni di sicurezza > myrealm > Provider.
    2. Fare clic su Crea nuovo provider di autenticazione.
    3. Fare clic su OK.
    4. Immettere il nome del provider come SAML-auth e selezionare il tipo SAMLAuthenticator.
    5. Fare clic su OK.
  4. Modificare il valore del flag di controllo su SUFFICIENT per l'autenticatore creato nel passo precedente.
    1. Vai a: Home > Riepilogo dei realm di sicurezza > myrealm > Provider > SAML-auth.
    2. In Configurazione > Comune, impostare il flag di controllo su SUFFICIENT.
    3. Fare clic su Salva.
  5. Creare un nuovo provider oid-auth.
    1. Vai a: Home > Riepilogo dei regni di sicurezza > myrealm > Provider.
    2. Fare clic su Crea nuovo provider di autenticazione.
    3. Fare clic su OK.
    4. Immettere il nome del provider come oid-auth e selezionare il tipo OracleInternetDirectoryAuthenticator.
    5. Fare clic su OK.
    6. Modificare il flag di controllo in SUFFICIENTE per il provider oid-auth aggiunto e fare clic su Salva.
  6. Selezionare la scheda Specifico del provider e immettere i dettagli del server OID. Acquisire i dettagli del server OID dalla console OAM > sezione Area di memorizzazione identità utente.
    1. Nella configurazione della console OAM > Area di memorizzazione identità utente, fare clic su Area di memorizzazione OID.
    2. Nella sezione specifica del provider oid-auth, aggiornare le sezioni riportate di seguito con i valori appropriati.
      • Sezione di connessione:
        • Inserire host: nome host del server OID
        • Nome principale: cn=orcladmin,cn=users,dc=us,dc=oracle,dc=com
        • Credenziale di conferma credenziali: fornire le credenziali
      • Utenti: DN base utente: cn=users,dc=us,dc=oracle,dc=com
      • Gruppi: DN base gruppo: cn=groups,dc=us,dc=oracle,dc=com
      • Usa nome utente recuperato come principal: verifica
    3. Accettare i valori predefiniti degli altri campi e salvare tutte le modifiche.
  7. Abilita la federazione per il server gestito.
    1. Vai a Home > Environment Server > essbase_server1 > configurazione > Federation Services.
    2. Nella scheda Provider di servizi SAML 2.0 selezionare Abilitato e fornire URL predefinito come
      https://Essbase-Host:Essbase-Managed Server-SSL-Port/essbase/jet
      Accettare i campi rimanenti come predefiniti e salvare.
    3. Ottenere i metadati SP per la configurazione IDP: nella scheda Generale SAML 2.0, fornire i valori appropriati e salvare.
    4. Una volta salvate le modifiche, esportare i metadati SP in un file XML, ad esempio: sp_metadata.xml.
    5. Fare clic su Pubblica metadati.
  8. Crea un partner IDP su WebLogic utilizzando il file oam_fed_idp_metadata.xml, copiato dalla casella OAM.
    1. Vai a Realm di sicurezza > myrealm > Provider > Autenticazione > saml_IA > Gestione > Nuovo > Nuovo partner provider di identità Single Sign-On Web, ad esempio: WebSSO-IdP-Partner-oam.
    2. Selezionare oam_fed_idp_metadata.xml file e fare clic su OK.
    3. Per abilitare il partner IDP, fare clic su WebSSO-IDP-Partner-oam, selezionare la casella di controllo Abilitato e fornire gli URL di reindirizzamento.
  9. Configurare l'IDP nella console OAM.
    1. Andare a Federation > Identity Provider Management.
    2. Fare clic su Crea partner provider di servizi.
    3. Immettere il nome.
    4. Assicurati che sia selezionato Abilita partner.
    5. Accettare SAML 2.0 come protocollo (impostazione predefinita).
    6. Selezionare il file di metadati scaricato da WebLogic (SP).
    7. Specificare Impostazioni formato ID nome.
    8. Selezionare Non specificato come formato NameID.
    9. Selezionare Attributo area di memorizzazione ID utente come valore NameID.
    10. Immettere l'attributo utente nel record utente LDAP contenente l'identificativo dell'utente. Oracle Internet Directory è il data store utente, l'attributo è uid.
  10. Modificare $ORACLE_HOME/user_projects/domains/Essbase-Domain/bin/setDomainEnv.sh e aggiungere -DLOGOUT_URL to the JVM arg EXTRA_JAVA_PROPERTIES come mostrato di seguito:
    Prima della modifica:
    EXTRA_JAVA_PROPERTIES="-Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder ${EXTRA_JAVA_PROPERTIES}"
    Dopo la modifica:
    EXTRA_JAVA_PROPERTIES="-Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -DLOGOUT_URL=http://OAM-Host:OAM-Port/oam/server/logout ${EXTRA_JAVA_PROPERTIES}"

PARTE C - Assegna ruoli

Dopo l'integrazione OID, gli utenti LDAP incorporati, ad esempio WebLogic, non possono eseguire il login all'interfaccia Essbase. Sono consentite solo operazioni REST/MaxL. Utilizzare l'utente amministratore LDAP incorporato per assegnare ruoli Essbase agli utenti OID utilizzando REST. Gli utenti OID possono eseguire il login a Essbase solo dopo l'assegnazione dei ruoli.

Dopo l'assegnazione di un ruolo ad almeno un utente OID (admin), l'utente OID può eseguire il login a Essbase e assegnare ruoli ad altri utenti direttamente tramite l'interfaccia.

Esempio di assegnazione basata su REST come mostrato qui: curl --insecure -X PUT -u weblogic:samplepass "http://host:9000/essbase/rest/v1/permissions/user1" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"links\": [ { \"rel\": \"string\", \"href\": \"string\", \"method\": \"string\", \"type\": \"string\" } ], \"id\": \"user1\", \"name\": \"user1\", \"role\": \"service_administrator\", \"group\": false}"

Parte D: Test Single Sign-On FS OAM

Aprire Essbase ed eseguire
https://<essbase_vm>:<sslportno>/essbase/jet
La richiesta viene reindirizzata alla pagina di login di OAM Federation.

Nota

Se si verifica un problema di logout, per completare l'azione di logout chiudere il browser.