Integrando o ADFS 2.0 e 3.0 com o OAM: Pré-requisito
Este artigo descreve como integrar o OAM com o ADFS 2.0/3.0 para SSO de Federação usando o protocolo SAML 2.0. A integração abrange:
-
Pré-requisitos (este artigo)
-
ADFS 2.0/3.0 como IdP e OAM como SP
-
ADFS 2.0/3.0 como SP e OAM como IdP
A integração do SAML 2.0 é baseada em:
-
Endereço de e-mail que será usado como formato
NameID
-
O valor
NameID
contém o endereço de e-mail do usuário -
A associação HTTP POST será usada para enviar a Asserção SAML ao SP
-
Os usuários existem em ambos os sistemas, com cada usuário tendo o mesmo endereço de e-mail para que possam ser usados como o atributo de usuário comum.
O ADFS 2.0 está disponível no Windows 2008 R2, enquanto o ADFS 3.0 está disponível no Windows 2012 R2. Os artigos mostram capturas de tela do ADFS 3.0, enquanto as etapas documentadas se aplicam a ambas as versões.
Pré-requisitos
Para integração com o ADFS usando o protocolo SAML 2.0, o OAM deve ser configurado para usar HTTPS/SSL como seus pontos finais. Se isso não for feito, o ADFS não aceitará os Metadados SAML 2.0 do OAM ao estabelecer a Confiança da Federação.
Ao integrar o ADFS como um IdP com o OAM como um SP, os seguintes pontos precisam ser levados em consideração:
-
Por padrão, o ADFS IdP criptografa a Asserção SAML ao enviá-la ao SP usando AES-256 e, por padrão, o JDK usado na implantação do OAM não pode usar criptografia forte, como AES-256. Então:
-
O JDK deve ser configurado para criptografia forte
-
Ou o ADFS IdP deve ser configurado para desativar a criptografia
-
-
Se o ADFS IdP estiver configurado para autenticação via Autenticação Básica HTTP ou Autenticação Nativa do Windows, o usuário nunca poderá ser desconectado como:
- As credenciais de Autenticação Básica HTTP não podem ser removidas do browser depois de informadas, a menos que o browser esteja fechado
Observação: Isso se aplica a outro IdPs usando a Autenticação Básica HTTP para desafiar o usuário.
-
O browser está sempre conectado ao ADFS ao usar o Autenticação Nativa do Windows.
-
Por padrão, o ADFS requer que as mensagens sejam assinadas usando SHA-256, enquanto, por padrão, o OAM usa SHA-1:
-
Configure o ADFS para usar/aceitar SHA-1
-
Ou configure o OAM para usar SHA-256 para assinaturas
-
Finalmente, antes de integrar o OAM e o ADFS para SAML 2.0, os metadados dos dois servidores devem ter sido baixados.
Habilitação de SSL
Há várias maneiras de ativar o SSL nos pontos finais públicos do OAM:
-
Se um balanceador de carga estiver diante do OAM, o SSL/HTTPS poderá ser ativado/configurado no balanceador de carga
-
Se o OHS estiver dianteando o OAM, o OHS será configurado para SSL
-
Se nenhum componente estiver colocando o OAM na frente, o servidor WLS em que o OAM está em execução poderá ser configurado para SSL/HTTPS
Depois que o componente (Balanceador de carga, OHS ou WLS) tiver sido configurado para SSL, a configuração do OAM precisará ser atualizada para fazer referência ao novo ponto final como seu URL público:
-
Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
-
Navegue até Configuração , Definições do Access Manager
-
Definir o Host do Servidor do OAM como o nome do host do ponto final público
-
Definir a Postagem do Servidor do OAM para a porta SSL do ponto final público
-
Definir o Protocolo do Servidor do OAM como https
-
Clique em Aplicar
Descrição da ilustração Access_Manager_Settings.jpg
Observação: Depois de fazer essas alterações, a recuperação dos Metadados SAML 2.0 do OAM contém os novos URLs https.
criptografia segura
Conforme mencionado, por padrão, o ADFS IdP criptografa a Asserção SAML ao enviá-la ao SP usando AES-256, que é considerado pelo Java como uma cifra forte (em oposição à "força normal", como AES-128, AES-192, 3DES...).
Por motivos legais de exportação, o JDK não pode ser enviado com cifras fortes ativadas no JCE: o administrator/integrator/developer
deve fazer download e instalar a política de Jurisdição de Força Ilimitada da Extensão de Criptografia Java (JCE).
Para atualizar os arquivos de política de Jurisdição de Força Ilimitada JCE para suportar criptografia forte, como AES-256, execute as seguintes etapas:
-
Determine a versão principal do Java usada na implantação do OAM.
-
Localize a pasta JDK usada pelo OAM Execute:
$JDK_HOME/bin/java -version
. -
A versão principal será impressa (6 ou 7).
-
Faça download da política de Jurisdição de Força Ilimitada JCE.
-
Se você estiver usando o JDK 7:
http://www.oracle.com/technetwork/java/javas%20/downloads/index.htm
-
Se estiver utilizando o JDK 6:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archivedownloads-java-plat-419418.html
-
Descompacte o conteúdo do arquivo ZIP baixado em uma pasta temporária.
-
Copie os arquivos
local_policy.jar
eUS_export_policy.jar
descompactados do diretório do JDK a seguir (esta operação substitui os arquivoslocal_policy.jar
eUS_export_policy.jar
presentes nessa pasta):$JDK_HOME/jre/lib/security
. -
Reinicie os Servidores WLS no domínio WLS para aplicar as alterações.
Para configurar o ADFS para desativar a criptografia ao enviar a Asserção SAML para um SP, execute as seguintes etapas:
-
Vá para a máquina na qual o ADFS está implantado.
-
Se o ADFS 2.0 for usado, clique em Menu Iniciar , Programas , Ferramentas Administrativas , Módulos do Windows PowerShell.
-
Se o ADFS 3.0 for usado, clique em Iniciar Menu , Ferramentas Administrativas , Módulo do Active Directory para Windows PowerShell.
-
Execute o seguinte comando (substitua
RP_NAME
pelo nome do SP usado para criar o parceiro no ADFS):set-ADFSRelyingPartyTrust –TargetName“RP_NAME” –EncryptClaims $False
.
Log-out do ADFS
O protocolo SAML 2.0 define um perfil de logout no qual cada parceiro da Federação envolvido em um SSO da Federação para a sessão do usuário atual é notificado sobre o usuário que está desconectando. Isso permite que vários parceiros de Federação encerrem a sessão do usuário no domínio SSO.
O ADFS IdP fornece diferentes maneiras de autenticar o usuário quando um SSO de Federação está sendo executado:
-
Autenticação baseada em FORM onde
-
O servidor exibe uma página de log-in
-
O usuário informa as credenciais e as envia
-
-
Autenticação Básica HTTP
-
Onde o servidor retorna um código de status 401 para o navegador
-
O navegador coleta as credenciais do usuário
-
O browser apresenta as credenciais para o servidor ADFS
-
Observação: O browser mantém as credenciais e as fornece ao servidor ADFS sempre que o browser acessar o ADFS, até que o browser seja fechado.
- Autenticação Integrada do Windows em que o ADFS utiliza o estado de autenticação do usuário no ambiente Windows: neste caso, como o usuário já está conectado ao Windows, o usuário é autenticado automaticamente sem qualquer interação do usuário.
Vejamos o efeito (ou não-efeito) do logout do SAML 2.0, dependendo de como o usuário é autenticado:
-
O SP inicia uma operação SSO de Federação com o ADFS IdP
-
O ADFS IdP precisa autenticar/identificar o usuário
-
Se a autenticação baseada em FORM for usada, o ADFS exibirá uma página de log-in e o usuário informará suas credenciais
-
Se a Autenticação Básica HTTP for usada, o ADFS retornará o código de resposta 401, o browser coletará as credenciais do usuário e as apresentará ao ADFS
-
Se a Autenticação Integrada do Windows for usada, o navegador obterá automaticamente um token Kerberos/NTLMSSP do Controlador de Domínio do Windows/KDC que ele apresenta ao servidor ADFS. Não há interação do usuário.
-
-
O usuário é redirecionado ao SP com uma Asserção SAML
-
O usuário inicia o logout SAML 2.0 no SP
-
O SP redireciona o usuário para o ADFS IdP para Log-out do SAML 2.0
-
O ADFS limpa cookies do browser do usuário (mas não armazena em cache as credenciais de Autenticação Básica HTTP, se usadas anteriormente)
-
No mesmo browser, o SP inicia uma operação SSO de Federação com o ADFS IdP
-
O ADFS IdP precisa autenticar/identificar o usuário
-
Se a autenticação baseada em FORM for usada, o ADFS exibirá uma página de log-in e o usuário informará suas credenciais: o usuário é desafiado e precisa fornecer suas credenciais
-
Se a Autenticação Básica HTTP for usada, o ADFS retornará o código de resposta 401, o browser armazenou em cache as credenciais coletadas anteriormente e as apresentará automaticamente ao ADFS. Não há interação do usuário
-
Se a Autenticação Integrada do Windows for usada, o navegador obterá automaticamente um token Kerberos/NTLMSSP do Controlador de Domínio do Windows/KDC que ele apresenta ao servidor ADFS. Não há interação do usuário.
-
Portanto, se a Autenticação Básica HTTP ou a Autenticação Integrada do Windows for usada como mecanismo de autenticação no ADFS 2.0 IdP, após um log-out, o usuário ainda estará "conectado" no IdP e a execução de um novo SSO de Federação não acionará o usuário que está sendo desafiado e resultará na autenticação automática do usuário no SP, após o SSO de Federação ser feito.
Observação importante: o comportamento visto com log-out também se aplica a outro IdPs (OAM, por exemplo), que está usando a Autenticação Básica HTTP como o mecanismo de autenticação
Metadados SAML 2.0
Para fazer download dos Metadados SAML 2.0 do servidor ADFS 2.0/3.0:
-
Abra o browser.
-
Vá para o serviço de publicação de Metadados do ADFS 2.0/3.0:
https://adfs-host:adfs-port/FederationMetadata/2007-06/FederationMetadata.xml
. -
Salve os Metadados localmente usando o botão Salvar Como no browser.
Para fazer download dos Metadados SAML 2.0 do OAM:
-
Abra o browser.
-
Vá para o serviço de publicação de Metadados do OAM:
http(s)://oam-runtime-host:oam-runtimeport/oamfed/idp/metadata
ouhttp(s)://oam-runtime-host:oam-runtimeport/oamfed/sp/metadata
. -
Salve os Metadados localmente usando o botão Salvar Como no browser.
Observação: certifique-se de ter ativado a SSL no OAM antes de fazer download dos metadados do OAM, pois os metadados contêm os URLs do OAM.
SHA-256 x SHA-1
Depois de configurar a Federação entre o OAM e o ADFS, você precisa:
-
Configure o ADFS 2.0 para usar/aceitar SHA-1
-
Ou configure o OAM para usar SHA-256 para assinaturas
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Integrating ADFS 2.0 and 3.0 with OAM Pre-requisite
F60452-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.