Métodos de SSO Suportados

O SSO requer que a solução de gerenciamento de identidade na Web passe o nome de logon dos usuários autenticados nos produtos Oracle Enterprise Performance Management System. É possível usar os seguintes métodos padrão do EPM System para integrar o EPM System a soluções SSO baseadas na Web personalizadas e comerciais.

Cuidado:

Como uma medida de segurança, a Oracle recomenda implementar autenticação de certificado de cliente (SSL bidirecional) entre o servidor Web e o servidor de aplicativos se sua organização usar métodos que carreguem a identidade de usuário no cabeçalho para propagação de identidade.

Cabeçalho HTTP

Se você estiver usando o Oracle Single Sign-on (OSSO), SiteMinder ou Oracle Access Manager como a solução de gerenciamento de identidade na Web, a segurança do EPM System selecionará automaticamente o cabeçalho HTTP personalizado para passar o nome de logon dos usuários autenticados para os componentes do EPM System.

O nome de logon de um usuário do produto EPM System é determinado pelo Login Attribute especificado durante a configuração dos diretórios de usuários no Oracle Hyperion Shared Services. Consulte o tópico sobre configuração do OID, Active Directory e outros diretórios baseados em LDAP no Guia de Administração da Segurança de Usuário do Sistema Oracle Enterprise Performance Management para obter uma breve descrição de Login Attribute.

O cabeçalho HTTP deve conter o valor do atributo definido como o Atributo de Logon. Por exemplo, se uid for o valor do Login Attribute, o cabeçalho HTTP deverá carregar o valor do atributo uid.

Consulte a documentação da sua solução de gerenciamento de identidade na Web para obter informações detalhadas sobre a definição e emissão de cabeçalhos HTTP personalizados.

A segurança do EPM System analisa o cabeçalho HTTP e valida o nome de logon que ele carrega nos diretórios de usuários configurados no Shared Services.

Classe de Logon Personalizada

Quando um usuário faz logon, a solução de gerenciamento de identidade na Web autentica o usuário em um servidor de diretório e encapsula as credenciais do usuário autenticado em um mecanismo SSO para habilitar o SSO com sistemas downstream. Se a solução de gerenciamento de identidade na Web usar um mecanismo sem suporte dos produtos EPM System ou se o valor de Login Attribute não estiver disponível no mecanismo SSO, você poderá usar uma classe de logon personalizada para derivar e passar o valor de Login Attribute aos produtos EPM System.

Usar uma classe de logon personalizada permite que o EPM System integre-se aos agentes de segurança que usam autenticação baseada em certificado X509. Usar esse mecanismo de autenticação requer a implementação de APIs padrão do Shared Services para definir a interface de SSO entre os componentes do EPM System e a solução de gerenciamento de identidade na Web. A classe de logon personalizada deverá passar o valor do Atributo de Logon aos produtos EPM System. Consulte o tópico sobre configuração do OID, Active Directory e outros diretórios de usuários baseados em LDAP no Guia de Administração da Segurança de Usuário do Sistema Oracle Enterprise Performance Management para obter uma breve descrição de Login Attribute. Para obter um código de exemplo e as etapas de implementação, consulte Implementação de uma Classe de Logon Personalizada.

Para usar uma classe se logon personalizada (o nome padrão é com.hyperion.css.sso.agent.X509CertificateSecurityAgentImpl), uma implementação da interface com.hyperion.css.CSSSecurityAgentIF deverá estar disponível no classpath. CSSSecurityAgentIF define o método getter para recuperar o nome de usuário e senha (opcional). Se a interface retornar uma senha nula, a autenticação de segurança tratará o provedor como confiável e verificará a existência do usuário nos provedores configurados. Se a interface retornar um valor não nulo para a senha , o EPM System tentará autenticar a solicitação usando o nome de usuário e a senha retornados por esta implementação.

CSSSecurityAgentIF engloba dois métodos: getUserName e getPassword.

Método getUserName

Este método retorna o nome de usuário para autenticação.

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

O parâmetro req identifica a solicitação HTTP que carrega as informações usadas para determinar o nome de usuário. O parâmetro res não é utilizado (predefinido para compatibilidade com versões anteriores).

Método getPassword

Esse método retorna uma senha de texto não criptografado para autenticação. A recuperação da senha é opcional.

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

O parâmetro req identifica a solicitação HTTP que transmite as informações que são usadas para determinar a senha. O parâmetro res não é utilizado (predefinido para compatibilidade com versões anteriores).

Cabeçalho de Autorização HTTP

A segurança do EPM System dá suporte ao uso de um cabeçalho de autorização HTTP para passar valor de Login Attribute aos produtos EPM System das soluções de gerenciamento de identidade na Web. Os produtos EPM System analisam o cabeçalho da autorização para recuperar o nome de logon do usuário.

Obter Usuário Remoto de uma Solicitação HTTP

A segurança do EPM System dá suporte ao uso de uma solicitação HTTP para passar valor de Login Attribute aos produtos EPM System das soluções de gerenciamento de identidade na Web. Use esse método SSO se a solução de gerenciamento de identidade na Web passar uma solicitação HTTP contendo o valor de Login Attribute, que é definido usando a função setRemoteUser.

Autenticação baseada em Cabeçalho com Produtos de Gerenciamento de Identidades

O EPM System oferece suporte a qualquer produto de gerenciamento de identidades, como Oracle Identity Cloud Services, Microsoft Azure AD ou Okta, que permitem a autenticação baseada em cabeçalho. O fluxo de trabalho conceitual ocorre da seguinte forma:

  • Um aplicativo do gateway funcionando como proxy reverso protege os componentes do EPM System restringindo o acesso não autenticado à rede.
  • O aplicativo do gateway intercepta solicitações HTTP(S) para componentes do EPM System e assegura que o produto de gerenciamento de identidades autentique usuários antes de encaminhar solicitações para componentes do EPM System.
  • Ao encaminhar solicitações para componentes do EPM System, o gateway do aplicativo propaga a identidade do usuário autenticado para o componente do EPM System por meio de solicitações de cabeçalho HTTP.

Para oferecer suporte a esse cenário de autenticação, o EPM System deve estar configurado para trabalhar com a identidade do usuário autenticado que é propagada por meio de solicitações de cabeçalho HTTP(S).