Autenticação em IdP
Este artigo discute sobre autenticação quando o OAM atua como IdP e como o servidor pode ser configurado para usar Esquemas de Autenticação específicos do OAM para desafiar o usuário. Quando o OAM 11gR1 atuando como IdP e o OAM 11g foram integrados, o OAM estava delegando a autenticação do usuário ao OAM por meio do uso de WebGate
:
- O OHS precisou ser instalado e configurado para atuar como um proxy HTTP reverso para o OAM
WebGate
precisou ser instalado no OHS e registrado no OAM- O OAM tinha que ser configurado para proteger um URL do OAM com
- Uma Política de Autenticação
- Uma Política de Autorização
- Configurar o URL de logout do OAM no OAM
- O OAM tinha que ser configurado para usar o Mecanismo de Autenticação do OAM 11g
- Informe o cabeçalho HTTP que contém o
userID
injetado porWebGate
- Informe o cabeçalho HTTP que contém o
- Configure o URL de log-out do OAM no OAM 11gR2 e no OAM 11gR2, os dois componentes são totalmente integrados:
- Nenhuma configuração inicial é necessária para integrar os dois produtos
- Nenhum WebGate/OHS é necessário para a autenticação IdP
- IdP pode utilizar qualquer Esquema de Autenticação do OAM
Observação: Dada a natureza avançada da configuração, a configuração de autenticação do OAM só pode ser gerenciada por meio dos comandos WLST do OAM.
Visão Geral
Na release 11.1.2.2.0 ou posterior do OAM, o Aplicativo Web J2EE do OAM e o Aplicativo Web J2EE do OAM estão contidos no mesmo Aplicativo EAR J2EE do OAM que é implantado em uma instância do WLS independente. Essa abordagem de implantação permite que os dois módulos encaminhem internamente a solicitação HTTP do usuário de entrada do OAM para o OAM e vice-versa. Isso permite que o aplicativo IdP acione uma operação de autenticação do OAM local que desafie e identifique o usuário. No runtime, quando a autenticação for necessária por IdP em uma operação de Federação, IdP:
- Encaminhar internamente o usuário para o OAM
- Indique ao OAM qual Esquema de Autenticação usar para autenticação do usuário
- O OAM determina se um usuário precisa ser desafiado:
- Se o usuário ainda não tiver sido autenticado
- Se o usuário for autenticado, mas a sessão expirou
- Se o usuário for autenticado, mas o nível de esquema de autenticação da autenticação original for inferior ao nível do esquema de autenticação solicitado por IdP
- Se o usuário precisar ser desafiado, o OAM fará isso com base nas regras do esquema de autenticação especificado por IdP. Depois que o OAM (opcionalmente) tiver autenticado o usuário e criado uma sessão, ele encaminhará internamente o usuário de volta para IdP com informações de identidade e sessão. IdP retoma a operação de Federação que estava executando. Pronto para uso, IdP está configurado para usar
LDAPScheme
como o Esquema de Autenticação do OAM para desafiar e identificar usuários: isso é definido como o esquema global padrão para IdP. É possível para um administrador:- Para definir o Esquema de Autenticação do OAM padrão global a ser usado para autenticar usuários.
- Em um Perfil do Parceiro SP para definir o Esquema de Autenticação do OAM a ser usado para autenticar usuários de parceiros SP vinculados a este Perfil do Parceiro SP. Se definida, essa definição terá precedência sobre o Esquema de Autenticação do OAM padrão global
- Em um Parceiro SP para definir o Esquema de Autenticação OAM padrão a ser usado para autenticar usuários para este parceiro SP. Se definida, essa configuração terá precedência sobre o Esquema de Autenticação OAM definido no Perfil do Parceiro SP referenciado por esse Parceiro SP ou terá precedência sobre o Esquema de Autenticação OAM padrão global
Configuração de teste
Use o seguinte ambiente de teste:
- IdP
- Um Parceiro SP SAML 2.0 chamado
AcmeSP
- Outro Parceiro SP SAML 2.0 chamado
HRsp
Execute vários casos de teste:
- Autenticação Padrão Global:
- O
AcmeSP
e oHRsp
usam o Perfil do Parceiro SP SAML 2.0 padrão - Nenhum Esquema de Autenticação será definido no nível do Parceiro SP
- Nenhum Esquema de Autenticação será definido no nível do Perfil do Parceiro SP
- A autenticação padrão global será usada como está (
OOTB
:LDAPScheme
), e uma operação SSO de Federação será executada - A autenticação padrão global será definida como
BasicScheme
(Autenticação Básica HTTP) e uma operação SSO de Federação será executada - Autenticação do Perfil do Parceiro SP:
AcmeSP
usa o Perfil do Parceiro SAML 2.0 SP padrãoHRsp
usa outro Perfil do Parceiro SAML 2.0 SP- Nenhum Esquema de Autenticação será definido no nível do Parceiro SP
- Nenhum Esquema de Autenticação será definido no nível de Perfil do Parceiro do SP SAML 2.0 padrão, mas o novo Perfil do Parceiro do SP SAML 2.0 será configurado para usar
BasicScheme
- A autenticação padrão global será definida como
LDAPScheme
- Um SSO de Federação será executado com
AcmeSP
- Um SSO de Federação será executado com
HRsp
- Autenticação de parceiro SP:
- O
AcmeSP
e oHRsp
usam o Perfil do Parceiro SP SAML 2.0 padrão - O Esquema de Autenticação para o Perfil do Parceiro SP SAML 2.0 padrão será definido como
BasicScheme
- O Esquema de Autenticação para
AcmeSP
será definido comoLDAPScheme
- A autenticação padrão global será definida como
LDAPScheme
- Um SSO de Federação será executado com
AcmeSP
- Um SSO de Federação será executado com
HRsp
- Configurar a Autenticação por meio de diferentes Níveis de Autenticação
- O
AcmeSP
e oHRsp
usam o Perfil do Parceiro SP SAML 2.0 padrão - O Esquema de Autenticação para o Perfil do Parceiro SP SAML 2.0 padrão será definido como
BasicScheme
- O Esquema de Autenticação para
AcmeSP
será definido comoLDAPScheme
- A autenticação padrão global será definida como
LDAPScheme
LDAPScheme
será configurado para ter seu nível definido como 3BasicScheme
permanecerá inalterado com seu nível definido como 2
Teste no 1:
- O SSO da Federação será executado com
AcmeSP
- O usuário é desafiado por meio de
LDAPScheme
- No mesmo browser, o SSO de Federação será executado com
HRsp
- O usuário não será desafiado
Teste no 2:
- O SSO da Federação será executado com
HRsp
- O usuário é desafiado por meio de
BasicScheme
- No mesmo browser, o SSO de Federação será executado com
AcmeSP
- O usuário será desafiado por meio de
LDAPScheme
As seções a seguir, cada uma descrevendo um caso de teste, estarão em ordem cronológica, com cada seção começando onde a seção anterior parou.
Observação: Se a Autenticação Básica HTTP for usada no IdP, o domínio WebLogic em que o OAM está sendo executado precisará ser configurado para não validar a Autenticação Básica HTTP para recursos não seguros.
Autenticação Básica HTTP
Por padrão, se um navegador enviar credenciais de Autenticação Básica HTTP ao OAM, o servidor WLS tentará validá-las antes de permitir que o OAM processe a solicitação: isso poderá resultar em falhas de autenticação, especialmente se o domínio WLS não tiver sido configurado com Autenticadores LDAP WLS para cada Armazenamento de Identidades criado no OAM.
Observação: Mesmo que o domínio WLS tenha sido configurado corretamente para ter um Autenticador LDAP WLS para cada Armazenamento de Identidades criado no OAM, isso resultará em duas operações de autenticação, uma por WLS e a outra exigida pelo OAM para criar uma sessão do OAM.
É possível desativar a validação automática das credenciais de Autenticação Básica HTTP enviadas para [aplicativos não seguros]{.underline} no domínio WLS no qual o OAM está em execução. Consulte a seção "Understanding BASIC Authentication with Unsecured Resources" do guia Oracle Fusion Middleware Programming Security for Oracle WebLogic Server para obter mais informações. Para desativar a validação automática das credenciais de Autenticação Básica HTTP enviadas a [aplicativos não seguros]{.underline} no domínio WLS, execute as seguintes etapas:
- Informe o ambiente WLST executando:
$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Inicie uma sessão de edição:
edit()
startEdit()
- Navegue até o nó SecurityConfiguration:
cd('SecurityConfiguration')
- Navegue até o domínio (substitua DOMAIN_NAME pelo nome do domínio WLS no qual o OAM está instalado):
cd('DOMAIN_NAME')
- Defina a definição
EnforceValidBasicAuthCredentials
como falsa para desativar a validação tomática das credenciais de Autenticação Básica HTTP enviadas a aplicativos não seguros:set('EnforceValidBasicAuthCredentials', 'false')
- Salve e ative as alterações:
save()
activate()
- Reinicie os servidores no domínio WLS para que as alterações entrem em vigor
Autenticação Padrão Global
A primeira etapa é criar e configurar Parceiros do SP em IdP para SSO SAML 2.0. Depois de configurar essa configuração, a lista de Parceiros SP em IdP será semelhante a:
Descrição da ilustração accessmanagement.jpg
A execução do SSO de Federação envolvendo um desses AcmeSP
ou HRsp
com IdP resulta no servidor do OAM desafiando o usuário usando o Esquema de Autenticação global padrão configurado para ser LDAPScheme
OOTB:
Descrição da ilustração accessmanager.jpg
Para alternar o Esquema de Autenticação global padrão para BasicScheme
, use o comando WLST setIdPDefaultScheme()
do OAM e especifique qual esquema será usado como padrão:
-
Informe o ambiente WLST executando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
-
Conecte-se ao servidor de Administração WLS:
connect()
-
Navegue até a ramificação Runtime do Domínio:
domainRuntime()
-
Execute o comando
setIdPDefaultScheme()
:setIdPDefaultScheme("BasicScheme")
-
Saia do ambiente WLST:
exit()
A execução do SSO de Federação envolvendo um dessesAcmeSP
ouHRsp
com IdP resulta no desafio do servidor OAM ao usuário usando o OAMBasicScheme
em vez deLDAPScheme
:
Para alternar de volta o Esquema de Autenticação global padrão para LDAPScheme
, execute as seguintes operações:
- Informe o ambiente WLST executando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Navegue até a ramificação Runtime do Domínio:
domainRuntime()
- Execute o comando
setIdPDefaultScheme()
:setIdPDefaultScheme("LDAPScheme")
- Saia do ambiente WLST:
exit()
A execução do SSO de Federação envolvendo um desses AcmeSP
ou HRsp
com IdP resulta no desafio do usuário pelo servidor OAM via LDAPScheme
.
Autenticação do Perfil do Parceiro SP
Nos casos de teste anteriores, a definição é como:
AcmeSP
eHRsp
existem em IdP- O Esquema de Autenticação global padrão em IdP é
LDAPScheme
- Tanto
AcmeSP
quantoHRsp
estão usando o Perfil do Parceiro SAML 2.0 SP padrão
Para configurar HRsp
para usar um novo Perfil do Parceiro SP, execute os seguintes comandos:
- Informe o ambiente WLST executando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Navegue até a ramificação Runtime do Domínio:
domainRuntime()
- Crie o novo Perfil do Parceiro SP a partir do Perfil do Parceiro SP SAML 2.0 padrão:
createFedPartnerProfileFrom("new-saml20-pp", "saml20-sp-partner-profile")
- Vincule o Parceiro HRsp ao novo Perfil do Parceiro SP:
setFedPartnerProfile("HRsp", "sp", "newsaml20-pp")
- Saia do ambiente WLST:
exit()
Nesse ponto, a execução do SSO de Federação envolvendo um desses AcmeSP
ou HRsp
com IdP resulta no desafio do usuário pelo servidor OAM via LDAPScheme
. Para configurar o novo Perfil do Parceiro SP para ter BasicScheme
como o Esquema de Autenticação padrão, use o comando WLST setSPPartnerProfileDefaultScheme()
do OAM:
- Informe o ambiente WLST executando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Navegue até a ramificação Runtime do Domínio:
domainRuntime()
- Defina o Esquema de Autenticação padrão para o novo Perfil do Parceiro SP como
BasicScheme
:setSPPartnerProfileDefaultScheme("newsaml20-pp", "BasicScheme")
- Saia do ambiente WLST:
exit()
Agora, executando o SSO de Federação com:
- O
AcmeSP
resulta em IdP desafiando o usuário por meio doLDAPScheme
. - O
HRsp
resulta em IdP desafiando o usuário por meio doBasicScheme
.
Vincule HRsp
de volta ao Perfil do Parceiro SP padrão e depois exclua o Perfil do Parceiro SP que eu criei neste teste:
- Informe o ambiente WLST executando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Navegue até a ramificação Runtime do Domínio:
domainRuntime()
- Vincule o Parceiro HRsp ao Perfil padrão do Parceiro SP:
setFedPartnerProfile("HRsp", "sp", "saml20-sp-partner-profile")
- Exclua o novo Perfil do Parceiro SP:
deleteFedPartnerProfile("new-saml20-pp")
- Saia do ambiente WLST:
exit()
Após a execução desses comandos, a execução do SSO de Federação envolvendo um desses AcmeSP
ou HRsp
com IdP resulta no desafio do usuário pelo servidor OAM por meio do LDAPScheme
.
Autenticação do Parceiro SP
Nos casos de teste anteriores, a definição é como:
AcmeSP
eHRsp
existem em IdP- O Esquema de Autenticação global padrão em IdP é
LDAPScheme
- Tanto
AcmeSP
quantoHRsp
estão usando o Perfil do Parceiro SAML 2.0 SP padrão
Para configurar o Perfil do Parceiro do SP SAML 2.0 padrão para usar BasicScheme
como o Esquema de Autenticação, execute as seguintes operações:
- Informe o ambiente WLST executando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Navegue até a ramificação Runtime do Domínio:
domainRuntime()
- Defina o Esquema de Autenticação padrão para o novo Perfil do Parceiro SP como
BasicScheme
:setSPPartnerProfileDefaultScheme("saml20-sppartner-profile", "BasicScheme")
- Saia do ambiente WLST:
exit()
Nesse ponto, a execução do SSO de Federação envolvendo um desses AcmeSP
ou HRsp
com IdP resulta no desafio do usuário pelo servidor OAM via BasicScheme
. Para configurar o Parceiro SP AcmeSP
para ter LDAPScheme
como o Esquema de Autenticação padrão, use o comando WLST setSPPartnerDefaultScheme()
do OAM:
- Informe o ambiente WLST executando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conecte-se ao servidor de Administração WLS:
connect()
- Navegue até a ramificação Runtime do Domínio:
domainRuntime()
- Defina o Esquema de Autenticação padrão para o Parceiro SP
AcmeSP
comoLDAPScheme
:setSPPartnerDefaultScheme("AcmeSP", "LDAPScheme")
- Saia do ambiente WLST:
exit()
Agora, executando o SSO de Federação com:
- O
AcmeSP
resulta em IdP desafiando o usuário por meio doLDAPScheme
. - O
HRsp
resulta em IdP desafiando o usuário por meio doBasicScheme
.
Autenticação Detalhada via Diferentes Níveis de Autenticação
Nos casos de teste anteriores, a definição é como:
AcmeSP
eHRsp
existem em IdP- O Esquema de Autenticação global padrão em IdP é
LDAPScheme
- Tanto
AcmeSP
quantoHRsp
estão usando o Perfil do Parceiro SAML 2.0 SP padrão - O Perfil do Parceiro do SP SAML 2.0 padrão é configurado com o Esquema de autenticação padrão definido como
BasicScheme
- O Parceiro SP
AcmeSP
está configurado com o Esquema de Autenticação padrão definido comoLDAPScheme
Neste ponto, executando SSO de Federação com: - O
AcmeSP
resulta em IdP desafiando o usuário por meio doLDAPScheme
. - O
HRsp
resulta em IdP desafiando o usuário por meio doBasicScheme
.
OOTB, o Nível de Autenticação para LDAPScheme
e BasicScheme
está definido como 2. Para alterar o Nível de Autenticação de LDAPScheme
para 3, execute as seguintes operações:
-
Vá para a Console de Administração do OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
-
Navegue até Gerenciador de Acesso, Esquemas de Autenticação
-
Clique em Pesquisar e selecione
LDAPScheme
-
Definir o Nível de Autenticação como 3
-
Clique em Aplicar
Após essas alterações, se o usuário já tiver sido autenticado no OAM e o usuário executar uma operação SSO de Federação com IdP, o OAM garantirá que o esquema usado para autenticar o usuário em primeiro lugar tenha um nível maior ou igual ao esquema configurado para o Parceiro SP atual com o qual o SSO de Federação é exercitado. Por exemplo:
- Se o usuário for autenticado pela primeira vez por meio de
LDAPScheme
, ele não será reprocessado quando uma segunda operação SSO de Federação for executada com o Esquema de Autenticação padrão para esse segundo baixo sendoBasicScheme
: - O SSO da Federação é iniciado com o Parceiro
AcmeSP
- O usuário é desafiado pelo OAM por meio de
LDAPScheme
- IdP emite uma Asserção e redireciona o usuário para
AcmeSP
- No mesmo browser, o SSO de Federação é iniciado com
HRsp
- O OAM não desafiará o usuário, porque ele já foi autenticado, a sessão não sofreu timeout e o nível do esquema usado para criar a sessão (que era 3 para
LDAPScheme
) é maior ou igual ao esquema padrão configurado para este SSO da Federação atual (que é 2 paraBasicScheme
) - IdP emite uma Asserção e redireciona o usuário para
HRsp
- Se o usuário for autenticado pela primeira vez por meio de
BasicScheme
, ele será rechallenged quando uma segunda operação SSO de Federação for executada com o Esquema de Autenticação padrão para esse segundo baixo sendoLDAPScheme
: - O SSO da Federação é iniciado com o Parceiro
HRsp
- O usuário é desafiado pelo OAM por meio de
BasicScheme
- IdP emite uma Asserção e redireciona o usuário para
HRsp
- No mesmo browser, o SSO de Federação é iniciado com
AcmeSP
- O OAM desafia o usuário, porque ele já foi autenticado, a sessão não sofreu timeout [mas]{.underline} o nível do esquema usado para criar a sessão (que era 2 para
BasicScheme
) é menor que o esquema padrão configurado para este SSO da Federação atual (que é 3 paraLDAPScheme
) - IdP emite uma Asserção e redireciona o usuário para
AcmeSP
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.
Authentication in OAM and IdP
F59731-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.