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:

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:

Configuração de teste

Use o seguinte ambiente de teste:

Execute vários casos de teste:

Teste no 1:

Teste no 2:

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:

  1. Informe o ambiente WLST executando: $IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conecte-se ao servidor de Administração WLS: connect()
  3. Inicie uma sessão de edição: edit() startEdit()
  4. Navegue até o nó SecurityConfiguration: cd('SecurityConfiguration')
  5. Navegue até o domínio (substitua DOMAIN_NAME pelo nome do domínio WLS no qual o OAM está instalado): cd('DOMAIN_NAME')
  6. 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')
  7. Salve e ative as alterações: save() activate()
  8. 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:

  1. Informe o ambiente WLST executando: \$IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conecte-se ao servidor de Administração WLS: connect()

  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()

  4. Execute o comando setIdPDefaultScheme(): setIdPDefaultScheme("BasicScheme")

  5. 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 servidor OAM ao usuário usando o OAM BasicScheme em vez de LDAPScheme:

    Descrição da ilustração windowssecurity.jpg

Para alternar de volta o Esquema de Autenticação global padrão para LDAPScheme, execute as seguintes operações:

  1. Informe o ambiente WLST executando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conecte-se ao servidor de Administração WLS: connect()
  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()
  4. Execute o comando setIdPDefaultScheme() : setIdPDefaultScheme("LDAPScheme")
  5. 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:

Para configurar HRsp para usar um novo Perfil do Parceiro SP, execute os seguintes comandos:

  1. Informe o ambiente WLST executando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conecte-se ao servidor de Administração WLS: connect()
  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()
  4. 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")
  5. Vincule o Parceiro HRsp ao novo Perfil do Parceiro SP: setFedPartnerProfile("HRsp", "sp", "newsaml20-pp")
  6. 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:

  1. Informe o ambiente WLST executando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conecte-se ao servidor de Administração WLS: connect()
  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()
  4. Defina o Esquema de Autenticação padrão para o novo Perfil do Parceiro SP como BasicScheme: setSPPartnerProfileDefaultScheme("newsaml20-pp", "BasicScheme")
  5. Saia do ambiente WLST: exit()

Agora, executando o SSO de Federação com:

Vincule HRsp de volta ao Perfil do Parceiro SP padrão e depois exclua o Perfil do Parceiro SP que eu criei neste teste:

  1. Informe o ambiente WLST executando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conecte-se ao servidor de Administração WLS: connect()
  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()
  4. Vincule o Parceiro HRsp ao Perfil padrão do Parceiro SP: setFedPartnerProfile("HRsp", "sp", "saml20-sp-partner-profile")
  5. Exclua o novo Perfil do Parceiro SP: deleteFedPartnerProfile("new-saml20-pp")
  6. 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:

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:

  1. Informe o ambiente WLST executando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conecte-se ao servidor de Administração WLS: connect()
  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()
  4. Defina o Esquema de Autenticação padrão para o novo Perfil do Parceiro SP como BasicScheme: setSPPartnerProfileDefaultScheme("saml20-sppartner-profile", "BasicScheme")
  5. 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:

  1. Informe o ambiente WLST executando: \$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. Conecte-se ao servidor de Administração WLS: connect()
  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()
  4. Defina o Esquema de Autenticação padrão para o Parceiro SP AcmeSP como LDAPScheme: setSPPartnerDefaultScheme("AcmeSP", "LDAPScheme")
  5. Saia do ambiente WLST: exit()

Agora, executando o SSO de Federação com:

Autenticação Detalhada via Diferentes Níveis de Autenticação

Nos casos de teste anteriores, a definição é como:

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:

  1. Vá para a Console de Administração do OAM: http(s)://oam-admin-host:oam-adminport/oamconsole

  2. Navegue até Gerenciador de Acesso, Esquemas de Autenticação

  3. Clique em Pesquisar e selecione LDAPScheme

  4. Definir o Nível de Autenticação como 3

  5. Clique em Aplicar

    Descrição da ilustração Authenticationlevel.jpg

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:

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.