A adoção de uma arquitetura de Single Sign-On (SSO) em ambientes corporativos tem se tornado essencial para melhorar a experiência do usuário e a segurança do sistema.
No Siebel CRM, a integração com serviços de identidade modernos, como o Azure Active Directory (Azure AD), pode ser viabilizada com uso de um proxy reverso com o Apache HTTP Server e o módulo mod_auth_openidc.
Este artigo explora a arquitetura e o fluxo de autenticação, destacando como esses componentes trabalham juntos para oferecer uma solução robusta de autenticação.
Arquitetura da Integração
Componentes Principais
Apache HTTP Server (Porta 443): Atua como proxy reverso para balancear e encaminhar as requisições do cliente para o back-end Siebel. Esse servidor também é responsável por intermediar a autenticação via OpenID Connect (OIDC) com o Azure AD.
BIG F5 Load Balancer (sem load balance seria necessário configurar SSL no HTTP Server): Gerencia o tráfego distribuindo as requisições entre múltiplos servidores, garantindo alta disponibilidade e persistência por meio de cookies e criptografia SSL de ponta a ponta.
Azure AD: Repositório de identidades que autentica os usuários usando o protocolo OIDC. O Azure AD emite tokens de autenticação após validar as credenciais dos usuários.
Tomcat Application Interface (AI): Interage com o Siebel, servindo como interface para as requisições após a autenticação bem-sucedida.
Siebel Server (SCBroker, Porta 2321): Responsável por processar as requisições após a autenticação e validar o usuário no LDAP.
mod_auth_openidc: Módulo do que implementa o protocolo OIDC para integrar com o Azure AD, gerenciando tokens de autenticação e headers HTTP que transportam o usuário autenticado para o Siebel
Configuração do SSO no Siebel
A integração do SSO no Siebel é configurada em duas partes principais:
No Apache HTTP:
Configuração no arquivo
/etc/httpd/conf/httpd.conf:O módulo mod_auth_openidc é configurado para solicitar tokens de autenticação do Azure AD.
A configuração do OIDCAuthNHeader define o nome do header HTTP que armazenará o mnemônico (login) do usuário autenticado. Esse valor será encaminhado para o Siebel como variável REMOTE_USER.
O aplicativo do Siebel é registrado no Azure AD com várias URLs de resposta (redirect URIs), permitindo o fluxo de autenticação OIDC.
No Siebel Server:
Perfis de autenticação (como LdapSecAdapter e LdapSecAdapterUltra) são criados ou modificados para aceitar tokens do SSO. O Trusted Token deve ser configurado corretamente para corresponder ao perfil ativo do Siebel.
O Single Sign-On deve ser habilitado nos perfis, e o Siebel valida as credenciais do usuário autenticado consultando o LDAP.
Fluxo de Autenticação
Solicitação Inicial:
Um usuário tenta acessar uma URL protegida no Siebel (por exemplo,
/eenergy/ptb).
Interação com o BIG F5:
O Load Balancer distribui a requisição para um dos servidores da interface de aplicação (AI).
Autenticação via Azure AD:
O mod_auth_openidc detecta que o usuário não está autenticado e redireciona a requisição para o Azure AD, solicitando as credenciais do Office 365.
O usuário insere suas credenciais e, se autenticado com sucesso, o Azure AD emite um token OIDC, que é armazenado no navegador do usuário como um cookie.
Validação e Persistência:
Nas requisições subsequentes, o BIG F5 mantém a persistência por meio de cookies, garantindo que o usuário seja redirecionado para o mesmo servidor AI.
O HTTP Server, usando o mod_auth_openidc, valida o token com o Azure AD, recuperando o SamAccountName do usuário autenticado.
Autenticação no Siebel:
O HTTP Server preenche o header REMOTE_USER com o SamAccountName e encaminha a requisição para o Siebel.
O Siebel utiliza esse valor para consultar o LDAP, validar o usuário e conceder acesso.
Benefícios da Integração
Segurança Aprimorada: Com a integração via Azure AD, o ambiente Siebel se beneficia de todas as capacidades de segurança do Microsoft Azure, como autenticação multifator (MFA) e políticas de segurança centralizadas.
Simplificação do Login: Os usuários não precisam manter diferentes credenciais para acessar o Siebel, facilitando a administração de identidades.
Alta Disponibilidade: O uso de um proxy com balanceamento de carga garante que o sistema permaneça disponível mesmo em caso de falha de um dos servidores.
Considerações Finais
A configuração de Single Sign On no Siebel oferece uma solução segura, escalável e flexível. Esta arquitetura não só simplifica a gestão de usuários como também integra o Siebel em um ecossistema moderno de autenticação baseado em OIDC.
Abraço.