Integrar o Oracle Access Management ao Oracle Advanced Authentication

Introdução

Este tutorial mostra como integrar o OAM (Oracle Access Management) ao OAA (Oracle Advanced Authentication), para que os usuários que acessam um aplicativo protegido possam fazer login no OAM com SSO (Single-Sign On) e ser desafiados com um segundo fator para autenticação multifator.

Ele também mostrará como configurar a migração do usuário. A migração de usuários é um processo no qual um usuário efetua log-in no OAM e esse usuário é migrado automaticamente para o OAA com fatores registrados com base em atributos LDAP definidos. Os fatores registrados para cada usuário se baseiam nos atributos LDAP definidos no Plug-in de Autenticação OAA. Se um usuário tiver qualquer um desses atributos LDAP definidos no Armazenamento de Identidades do Usuário Padrão do OAM, esses fatores serão automaticamente registrados para o usuário no OAA. Para os fins deste tutorial, os atributos LDAP mail e mobile são usados para definir os fatores de E-mail e SMS para um usuário.

Objetivo

Neste tutorial, você executará as seguintes tarefas:

  1. Registrar o OAA como um Parceiro TAP no OAM
  2. Configurar o Agente do OAM no OAA
  3. Instalar e configurar o Plug-in e os Módulos do OAA no OAM
  4. Teste bem-sucedido a integração do OAM amd OAA

Pré-requisitos do Oracle Access Management

Antes de seguir este tutorial, você deve ter:

Para fins de demonstração, este tutorial se baseia no ambiente criado na série do tutorial Conceitos Básicos do Oracle Access Management 12c. Nesse ambiente, o Oracle Access Management usa o Oracle Unified Directory (OUD) como seu Armazenamento de Identidades do Usuário Padrão. Um aplicativo chamado mybank é implantado no Servidor WebLogic e protegido por meio de um Oracle WebGate. Todas as referências neste tutorial aos nomes de host, URLs, PATHs e usuários do OAM são baseadas nas usadas nos tutoriais do Getting Started with Oracle Access Management 12c.

Se você estiver usando os tutoriais acima para seu ambiente do OAM, precisará fazer download da amostra oaausers.ldif. Esse arquivo contém usuários e grupos necessários antes da instalação do OAA. Edite oaausers.ldif e atualize mail, mobile e <password> para cada usuário com valores válidos. Isso permite testar se quando um usuário efetua log-in (por exemplo, testuser) no OAM, o usuário será migrado para o OAA com seus fatores definidos como SMS e E-mail. Execute ldapmodify -f oaausers.ldif no OUD para carregar os usuários e grupos.

Pré-requisitos do Oracle Advanced Authentication

Antes de seguir este tutorial, você deve ter:

Registrar o OAA como um Parceiro TAP no OAM

Nesta seção, você registra o OAA como um Parceiro TAP (Trusted Authentication Protocol) no OAM.

Objetivos

Para registrar o OAA como um Parceiro TAP no OAM.

Registrar o Parceiro TAP no OAM

  1. No servidor OAM, inicie uma janela de terminal como oracle e informe o seguinte comando:

    cd /u01/app/oracle/product/middleware/oracle_common/common/bin
    ./wlst.sh
    

    A saída será semelhante à seguinte:

    Initializing WebLogic Scripting Tool (WLST) ...
    
    Welcome to WebLogic Server Administration Scripting Shell
    
    Type help() for help on available commands
    
    wls:/offline> 
    
  2. Conecte-se ao Servidor de Administração do OAM da seguinte forma:

    wls:/offline> connect ('weblogic','<password>')
    

    A saída será semelhante à seguinte:

    Successfully connected to Admin Server "AdminServer" that belongs to domain "oam_domain".
    
    Warning: An insecure protocol was used to connect to the server. 
    To ensure on-the-wire security, the SSL port or Admin port should be used instead.
    
    wls:/oam_domain/serverConfig/> 
    
  3. Execute o seguinte comando para identificar o parceiro OAA TAP:

    wls:/oam_domain/serverConfig/> registerThirdPartyTAPPartner(partnerName = "<partner_name>", keystoreLocation= "<path_to_keystore>", password="<keystore_password>", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="<URL>")
    

    em que :

    • <partner_name> é o nome que você deseja dar para o aplicativo parceiro.
    • <path_to_keystore> é a localização e o nome do arquivo da área de armazenamento de chaves a ser gerada.
    • <keystore_password> é a senha da área de armazenamento de chaves gerada.
    • tapRedirectUrl é qualquer URL http válido. O URL deve estar acessível e retornar uma resposta OK 200. Não use URLs https; caso contrário, ocorrerá uma mensagem de erro.

    Por exemplo:

    registerThirdPartyTAPPartner(partnerName = "OAM-MFAPartner", keystoreLocation= "/tmp/OAMOAAKeyStore.jks", password="********", tapTokenVersion="v2.0", tapScheme="TAPScheme", tapRedirectUrl="http://oam.example.com:7777")
    

    A saída será semelhante à seguinte:

    Registration Successful
    wls:/oam_domain/serverConfig/> 
    

    No exemplo acima, um armazenamento de chaves /tmp/OAMOAAKeyStore.jks será gerado. Essa chave e senha serão usadas posteriormente ao registrar o OAM como um agente no OAA.

  4. Execute o seguinte comando para sair de wlst:

    wls:/oam_domain/serverConfig/> exit()
    Exiting WebLogic Scripting Tool.
    

Configurar o Agente do OAM no OAA

Nesta seção, você configura um agente para o OAM na Console de Administração do OAM.

Objetivos

Para configurar um agente para o OAM no OAA.

Configurar o Agente do OAM no OAA

  1. Faça log-in na console de Administração do OAA com suas credenciais de administrador.g: https://oaa.example.com/oaa-admin

  2. Em Ações Rápidas, selecione Criar Agente de Integração do OAM.

  3. Em Criar Agente de Integração, guia Detalhes, informe o seguinte:

    • Nome: <partner_name> em que o valor é igual ao Nome do Parceiro TAP registrado anteriormente, por exemplo: OAM-MFAPartner
    • Descrição: OAM TAP Partner for OAA
    • Tipo de Agente de Integração: Oracle Access Management
    • ID do Cliente: Clique em Re-Generate
    • Segredo do Cliente: Clique em Re-Generate
    • Arquivo de Chave Privada: arraste e solte o arquivo de chave criado ao registrar o Parceiro TAP, por exemplo, /tmp/OAMOAAKeyStore.jks, ou clique em + para selecioná-lo no sistema de arquivos
    • Senha da chave privada: <password> A senha informada para a área de armazenamento de chaves ao registrar o Parceiro TAP

    Por exemplo:

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

  4. Copie o ID do Cliente, por exemplo, e1d7dd2d-83e2-4ac8-b338-5dbc6348b526 e o Segredo do Cliente, por exemplo, 34e360cf-3ccc-4dcd-911e-0b00e367dcee9, para um local seguro, pois eles são necessários posteriormente ao configurar o OAM.

  5. Clique em Salvar

  6. Na tela Agentes de Integração, clique no agente recém-criado, por exemplo: OAM-MFAPartner

  7. Em Níveis de Garantia, clique em Criar.

  8. Em Criar Nível de Garantia, informe o seguinte e clique em Criar:

    • Nome: OAM-MFA-Level
    • Descrição: OAM-MFA-Level for OAM Integration

    Por exemplo:

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

    Observação: O valor informado para Nome será usado posteriormente na configuração do Plug-in do OAM OAA para ASSURANCE_LEVEL.

  9. Na guia Níveis de Garantia, clique em OAM-MFA-Level

  10. Em Usos, selecione os Fatores a serem designados ao Nível de Garantia, por exemplo: Oracle Mobile Authenticator, Desafio de E-mail e Desafio de SMS e clique em Salvar.

    Por exemplo:

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

Instalar e configurar o Plug-in OAA no OAM

Nesta seção, você configura o Plug-in do OAA no OAM.

Objetivos

Para configurar o Plug-in do OAA no OAM e criar um módulo de autenticação associado para permitir a integração com o OAA para autenticação de segundo fator.

Instalar o Plug-in OAA para OAM

Observação: Se estiver usando o OAM com patch do Pacote 22 de abril (12.2.1.4.220404) ou posterior, você poderá ignorar esta seção e ir para Criar um Módulo de Autenticação para OAA, pois o plug-in está incluído no OAM por padrão.

  1. No ambiente do OAA em que o pod oaamgmt está sendo executado, copie o Plug-in do OAA OAAAuthnPlugin.jar do diretório do pod /u01/oracle/libs para um diretório na máquina host (por exemplo, /scratch/OAA):

    $ kubectl cp <namespace>/<oaamgmt_pod>:/u01/oracle/libs/OAAAuthnPlugin.jar <directory>/OAAAuthnPlugin.jar
    

    Por exemplo:

    $ kubectl cp oaans/oaamgmt-oaa-mgmt-5c68dc9c57-t2h6w:/u01/oracle/libs/OAAAuthnPlugin.jar /scratch/OAA/OAAAuthnPlugin.jar
    
  2. Inicie um browser e acesse a console de Administração do OAM: http://oam.example.com:7001/oamconsole. Faça log-in como weblogic/<password>.

  3. Copie o OAAAuthnPlugin.jar para a máquina em que o browser está sendo executado.

  4. Navegue até Segurança do Aplicativo -> Plug-ins -> Plug-ins de Autenticação.

  5. Na guia Plug-ins, selecione Importar Plug-In.

  6. Na janela Importar Plug-in, selecione Escolher Arquivo para selecionar o Arquivo de Plug-In (*.jar). Selecione o local do OAAAuthnPlugin.jar e clique em Importar.

  7. Na mesma página, navegue até o campo Pesquisar e informe OAAAuthnPlugin. Destaque o plug-in e selecione Distribuir Selecionado.

  8. Depois que o Status da Ativação do plug-in informar Distribuído, selecione Ativar Selecionado. O Status da Ativação deve ser alterado para Ativado.

    Por exemplo:

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

  9. Feche a tab Plugins.

Criar um Módulo de Autenticação para OAA

  1. Na console do OAM, navegue até Segurança do Aplicativo -> Plug-ins -> Módulos de Autenticação.

  2. Na guia Módulos de Autenticação, clique em Criar Módulo de Autenticação e, em seguida, em Criar Módulo de Autenticação Personalizado.

  3. Na guia Módulo de Autenticação -> Geral, informe o seguinte:

    • Nome: OAA-MFA-Auth-Module
    • Descrição: OAA MFA Authentication Module
  4. Clique no link Etapas e, na guia Etapas, clique em Adicionar.

  5. Na janela Adicionar nova etapa, informe o seguinte e clique em OK:

    • Nome da Etapa: UserIdentificationStep
    • Descrição: Identify User
    • Nome do Plugin: UserIdentificationPlugIn
  6. Clique em Adicionar novamente, insira o seguinte e clique em OK:

    • Nome da Etapa: User OAA MFA Step
    • Descrição: MFA with OAA
    • Nome do Plugin: OAAAuthnPlugin
  7. Clique em Adicionar novamente, insira o seguinte e clique em OK:

    • Nome da Etapa: PasswordValidation
    • Descrição: Validate user password on OAM
    • Nome do Plugin: UserAuthenticationPlugin

    No momento, o módulo deve ter a seguinte aparência:

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

  8. Clique em User OAA MFA Step e preencha os seguintes campos:

    • OAA_URL: <SPUI_URL/authn/v1>, por exemplo, https://oaa.example.com/oaa/rui/authn/v1
    • TAP_AGENT: <partner_name>. Esse valor deve ser o nome fornecido ao registrar o Parceiro TAP no OAM, por exemplo, OAM-MFAPartner
    • APPLICATION_ID : <app_id>. Este é o nome do grupo do OAA a ser associado aos usuários do OAM migrados para o OAA, por exemplo, Default. Esse valor deve corresponder ao oauth.applicationid usado ao instalar o OAA; caso contrário, os usuários finais não poderão acessar a UI Preferências do Usuário.
    • IDENTITY_STORE_REF: <default_user_identity_store>. Deve ser definido como o valor do Armazenamento Padrão definido na console do OAM -> Configuração -> Armazenamentos de Identidades do Usuário. Por exemplo OUDStore
    • ASSURANCE_LEVEL: <assurance_level>. Esse valor deve ser definido como Nível de Garantia criado no OAA anteriormente, por exemplo, OAM-MFA-Level
    • CLIENT_ID: <client_id>. Este é o valor do ID do cliente copiado ao criar o agente anteriormente, por exemplo: e1d7dd2d-83e2-4ac8-b338-5dbc6348b526
    • CLIENT_SECRET: <client_secret>. Este é o valor do ID do cliente copiado ao criar o agente anteriormente, por exemplo: 34e360cf-3ccc-4dcd-911e-0b00e367dcee
    • LDAP_ATTRS: mail,mobile. Estes são os atributos LDAP definidos para endereço de e-mail e número de celular para usuários no servidor LDAP. Isso permite que os dados do usuário sejam migrados para o OAA. Observação: LDAP_ATTRS deve ser especificado em letras minúsculas. Isso será verdadeiro mesmo se o atributo LDAP for armazenado no LDAP como camelCase.

    Por exemplo:

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

  9. Clique em Salvar.

  10. Clique em Orquestração de Etapas e, na lista drop-down Etapa Inicial, selecione Etapa MFA do OAA do Usuário.

  11. Na tabela, selecione os valores da seguinte forma:

    Nome Descrição Bem-Sucedido Com Falha No Erro
    UserIdentificationStep Identificar Usuário Validação de Senha falha falha
    Usar Etapa de MFA do OAA MFA com OAA êxito UserIdentificationStep falha
    PasswordValidation Validar senha do usuário no OAM Usar Etapa de MFA do OAA falha falha

    Por exemplo:

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

  12. Clique em Aplicar.

Criar um Esquema de Autenticação OAA

  1. No Launchpad Segurança do Aplicativo -> Gerenciador de Acesso, clique em Esquemas de Autenticação.

  2. Na guia Esquemas de Autenticação, selecione Criar Esquema de Autenticação

  3. Na guia "Criar Esquema de Autenticação", informe:

    • Nome: <scheme_name>, por exemplo, OAA-MFA-Scheme
    • Descrição: OAA MFA Authentication Scheme
    • Nível de Autenticação: 2
    • Método de Desafio: Form
    • URL de Redirecionamento de Desafio: /oam/server/
    • Módulo de Autenticação: OAA-MFA-Auth-Module
    • URL do Desafio: /pages/login.jsp
    • Tipo de Contexto: Default
    • Valor de Contexto: /oam
    • Parâmetros do Desafio: initial_command=NONE. Este parâmetro permite o log-in sem senha. Consulte Login sem Senha

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

  4. Clique em Aplicar.

Atualize o WebGate para usar o Esquema MFA OAA para o aplicativo protegido

Observação: Nos exemplos abaixo, o webgate webgate_7777 é usado e o URL do aplicativo protegido é /mybank. Altere adequadamente se estiver usando algo diferente.

  1. No Launchpad Segurança do Aplicativo -> Gerenciador de Acesso, clique em Domínios de Aplicativo.

  2. Na guia Domínio do Aplicativo, clique em Pesquisar.

  3. Clique em WebGate para atualizar, por exemplo: webgate_7777.

  4. Na guia WebGate (webgate_7777), clique em Políticas de Autenticação. Clique em Criar.

  5. Em Criar Política de Autenticação, informe o seguinte e clique em Aplicar:

    • Nome: OAA_MFA-Policy
    • Esquema de Autenticação: OAA-MFA-Scheme
  6. Na guia WebGate (webgate_7777), selecione a guia Recursos, clique em Pesquisar e, em seguida, clique em Criar.

  7. Na guia Criar Recurso, informe o seguinte e clique em Aplicar:

    • Tipo: HTTP
    • Descrição: OAA Resource
    • Identificador de Host: webgate_7777
    • URL do Recurso: /mybank/**
    • Operações: ALL
    • Nível de Proteção: Protected
    • Política de Autenticação: OAA_MFA-Policy
    • Política de Autorização: Protected Resource Policy

    Observação: se você tiver outros URIs /mybank já protegidos, atualize-os e altere a Política de Autenticação para OAA_MFA_Policy

  8. Reinicie os servidores OAM para selecionar a nova configuração do plug-in OAA.

Testar a integração entre OAM e OAA

Nesta seção, você acessa o aplicativo protegido, faz log-in no OAM e testa se a autenticação de segundo fator funciona.

Objetivos

Para testar se a integração do OAA e do OAM funciona com sucesso.

Testar a integração entre OAM e OAA

  1. Inicie um browser e acesse o aplicativo protegido, por exemplo: http://oam.example.com:7777/mybank. Como este aplicativo está protegido, você deverá ser redirecionado para a página de log-in do OAM. Faça login como o novo usuário testuser/<password>.

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

  2. Se o log-in for bem-sucedido, você será redirecionado para o ponto final do OAA, por exemplo: https://oaa.example.com/oaa/authnui. Como LDAP_ATTRS para o Plug-in do OAA no OAM são definidos como mail,mobile e esses atributos LDAP são preenchidos para o testuser, uma página de escolha de desafio é apresentada para que o usuário selecione E-MAIL ou SMS. Em Desafio de E-mail, selecione Enviar OTP para te**@**.com.

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

  3. Você será redirecionado para a página E-mail, na qual será solicitado que você Informe o OTP no e-mail registrado Device1. No campo Informar OTP, informe o código de acesso único enviado por e-mail ao endereço de e-mail dos usuários e clique em Verificar.

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

  4. Se a autenticação for bem-sucedida, você deverá ser redirecionado para a página do aplicativo protegido, por exemplo, /mybank.

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

  5. Feche o navegador existente e inicie um novo navegador. Acesse o aplicativo protegido mais uma vez, por exemplo: http://oam.example.com:7777/mybank.

  6. Como o log-in sem senha é ativado por meio do parâmetro initial_command=NONE no esquema de Autenticação OAA-MFA-Scheme, o usuário não é solicitado a informar o usuário e a senha do OAM e é direcionado para escolher seu segundo método de autenticação de fator. Em Desafio de SMS, escolha Enviar OTP para telefone 0****3.

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

  7. Você será redirecionado para a página SMS, na qual será solicitado que você Insira o OTP no Dispositivo SMS registrado. No campo Informar OTP, informe o código de acesso único enviado ao dispositivo móvel dos usuários e clique em Verificar.

  8. Se a autenticação for bem-sucedida, você deverá ser redirecionado para a página do aplicativo protegido, por exemplo, /mybank.

Saiba Mais

Feedback

Para fornecer feedback sobre este tutorial, entre em contato com idm_user_assistance_ww_grp@oracle.com

Agradecimentos

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.