Sobre a Configuração de SSO entre Azure AD e Oracle Access Manager para Oracle E-Business Suite

Agora, você concluirá as etapas necessárias para registrar um novo provedor de serviços federados no Azure AD, registrar um novo provedor de identidades (E-Business Suite) no Oracle Access Manager e fazer todas as alterações de configuração necessárias para realizar a autenticação de SSO federada com o Azure AD e o E-Business Suite usando o Oracle Access Manager.

Compreender o Fluxo de Federação do Azure AD e do E-Business Suite

Antes de continuar com a configuração, você deve entender o Fluxo de Federação do Azure AD e do E-Business Suite.

Veja a seguir a descrição da ebiz-federation-flow.png
Descrição da ilustração ebiz-federation-flow.png

Nesse cenário, os usuários acessam o E-Business Suite com credenciais armazenadas no Azure AD. Esse acesso é obtido por meio de uma configuração de autenticação federada com o protocolo SAML 2.0, em que o Azure AD é o provedor de identidades (IDP) e o E-Business Suite é o provedor de serviços (SP). Como o Oracle Access Manager está implantado em frente ao E-Business Suite para SSO, é também o componente que oferece os recursos de federação para o E-Business Suite. Esta seção fornece as etapas necessárias para implementar a federação de identidades entre o Azure AD e o Oracle Access Manager.

Observe que estamos principalmente interessados em um fluxo de federação que é iniciado no acesso a um ponto final protegido pelo E-Business Suite. Em termos de protocolo SAML, isso é conhecido como um fluxo iniciado pelo provedor de serviço (iniciado pelo SP) e é ilustrado na Figura 2. Nesse fluxo, o Servidor do OAM (Oracle Access Manager) detecta o acesso a um recurso protegido pelo E-Business Suite, cria uma solicitação de autenticação (SAMLRequest) e redireciona o browser para o Azure AD para autenticação. O Azure AD desafia o usuário para obter credenciais, valida-as, cria um SAMLResponse como resposta à solicitação de autenticação recebida e o envia ao Oracle Access Manager. Por sua vez, o Oracle Access Manager valida a asserção e afirma as informações de identificação do usuário incorporadas na asserção, concedendo acesso ao recurso protegido.

Observe que a configuração apresentada nesta seção também contabiliza o fluxo iniciado pelo provedor de identidade (IdP iniciado), no qual uma solicitação é feita inicialmente para o URL intersite SAML do Azure AD, que por sua vez envia um SAMLResponse não solicitado para o Servidor Oracle Access Manager.

O logout único iniciado pelo SP (em que o fluxo de logout é iniciado pelo E-Business Suite) também é suportado pela configuração apresentada. No momento em que este documento foi publicado inicialmente, o logout único iniciado pelo IDP (onde o fluxo de logout é iniciado pelo portal do Azure) não é suportado. Consulte a seção "Problema Conhecido" no final deste documento para obter detalhes.

Configurar o Azure AD como Provedor de Identidades

Primeiro, você precisa configurar o Azure AD como o Provedor de Identidades.

  1. Acesse o portal do Azure como Administrador de Domínio
  2. No painel de navegação da extrema esquerda, clique em Azure Active Directory.
  3. No painel do Azure Active Directory, clique em Aplicativos empresariais.
  4. Clique em Novo Aplicativo.
  5. Na seção Adicionar da Galeria, digite Oracle Access Manager para EBS na caixa de pesquisa, selecione Oracle Access Manager para EBS nos aplicativos resultantes e clique em Adicionar.
  6. Para configurar o Oracle Access Manager como provedor de serviço para o aplicativo, clique em Sign-on único.
  7. Selecione SAML como o método de sign-on único.

    A página Configurar Sign-On Único com SAML é exibida. Aqui, você informará os detalhes da integração nas etapas a seguir.

    Alguns dos valores que você precisa informar vêm dos metadados SAML do Oracle Access Manager. Para obter os metadados, vá para http(s)://<oam_hostname>:<port>/oamfed/sp/metadata. A saída são dados XML, alguns dos quais são necessários nas próximas etapas.

  8. Na área Configuração Básica do SAML da página Configurar Sign-on Único com SAML, forneça valores para Identificador (ID da Entidade), URL de Resposta (URL de Serviço do Consumidor de Asserção) e URL de Log-out.
    • O Identificador (ID da Entidade) corresponde ao atributo entityID do elemento EntityDescriptor nos metadados SAML. No runtime, o Azure AD adiciona o valor ao elemento Público da asserção SAML, indicando o público-alvo que é o destino esperado da asserção. Localize o seguinte valor nos metadados do Oracle Access Manager e informe esse valor:
      <md:EntityDescriptor
      …
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       ID="id-4TfauRP-ZeWyweEXkrqcBA0w0nRhe64hOPfnY2YR"
       cacheDuration="P30DT0H0M0S"
       entityID="http://myoamserver.mycompany.com:14100/oam/fed"
       validUntil="2029-03-19T21:13:40Z">
      …
    • URL de Resposta (URL de Serviço do Consumidor de Asserção) corresponde ao atributo Location do elemento AssertionConsumerService nos metadados SAML. Certifique-se de selecionar o atributo Location relativo ao binding HTTP_POST, conforme mostrado no exemplo a seguir. O URL de Resposta é o ponto final do serviço SAML no parceiro da federação que deve processar a asserção.
      <md:AssertionConsumerService
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      Location="https://myoamserver.mycompany.com/oam/server/fed/sp/sso"
      index="1"/>
    • O URL de Log-out corresponde ao ponto final SAML logout do Oracle Access Manager. Esse valor corresponde ao atributo Location do elemento SingleLogoutService nos metadados SAML do Oracle Access Manager. Esse valor é usado exclusivamente no fluxo de logout iniciado por IdP.
      <md:SingleLogoutService
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      Location="https://myoamserver.mycompany.com/oamfed/sp/samlv20"
      ResponseLocation="https://myoamserver.mycompany.com/oamfed/sp/samlv20"
      />
      

    Observação:

    As propriedades Sign on URL e Relay State não são relevantes para este cenário; portanto, você pode ignorá-las.
  9. Na área Atributos e Reivindicações do Usuário, configure os atributos do usuário que serão inseridos na asserção SAML e enviados ao Oracle Access Manager. Para esse cenário, é suficiente enviar alguma forma de identificação de usuário exclusiva.
    Deixe os valores como padrão para o Identificador de nome value: user.userprincipalname [nameid-format:emailAddress] porque userprincipalname é um atributo exclusivo no Azure AD. A implicação dessa configuração é a necessidade de importar o valor userprincipalname para a entrada do usuário no armazenamento de identidades do Oracle Access Manager (o armazenamento do servidor LDAP).
  10. . Na área Certificado de Assinatura do SAML, clique no link Download ao lado do XML de Metadados da Federação e salve o arquivo no computador. Você o usará posteriormente ao configurar o Oracle Access Manager como provedor de serviços.

Designar Usuários ao Aplicativo

Em seguida, designe usuários ao aplicativo. Depois que o Azure AD recebe uma solicitação de autenticação do aplicativo, somente os usuários que você atribui ao aplicativo podem fazer log-in.

  1. No aplicativo Azure AD que você criou na seção anterior, clique em Usuários e grupos e, em seguida, clique em Adicionar usuário.
  2. Selecione a opção Usuários e grupos: Nenhum Selecionado e execute as seguintes etapas:
    1. Na caixa de pesquisa Selecionar membro ou convidar um usuário externo, informe o nome de um usuário e pressione Enter.
    2. Selecione o usuário e clique em Selecionar para adicionar o usuário.
    3. Clique em Designar.
    4. Para adicionar mais usuários ou grupos, repita essas etapas.
  3. Para evitar que os usuários exibam este aplicativo empresarial que se destina apenas à configuração SSO, clique em Propriedades, altere o valor de Visível aos usuários para Não e clique em Salvar.

Criar um Novo Provedor de Identidades para o Azure AD

Em seguida, crie um novo provedor de identidades para o Azure AD. Essa etapa supõe que os serviços de federação do Oracle Access Manager tenham sido ativados.

  1. Acesse a console do Oracle Access Manager como Administrador
  2. Clique na guia Federação na parte superior da console.
  3. Na área Federação da guia Launch Pad, clique em Gerenciamento do Provedor de Serviços.
  4. Na guia Administração do Provedor de Serviços, clique em Criar Parceiro do Provedor de Identidades.
  5. Na área Geral, informe um nome para o parceiro do Provedor de Identidades e selecione Ativar Parceiro e Parceiro do Provedor de Identidades Padrão. Vá para a próxima etapa antes de salvar.
  6. . Na área Informações do Serviço:
    1. Selecione SAML2.0 como o protocolo.
    2. Selecione Carregar de metadados do provedor.
    3. Clique em Procurar (para Windows) ou Escolher Arquivo (para Mac) e selecione o arquivo de metadados SAML do Azure AD que você salvou anteriormente.
    4. Vá para a próxima etapa antes de salvar.
  7. Na área Opções de Mapeamento:
    1. Selecione a opção Armazenamento de Identidades do Usuário que será usada como o armazenamento de identidades LDAP do Oracle Access Manager verificado para usuários do E-Business Suite. Geralmente, isso já está configurado como armazenamento de identidades do Oracle Access Manager.
    2. Deixe DN da Base de Pesquisa de Usuários em branco. A base de pesquisa é selecionada automaticamente na configuração do armazenamento de identidades.
    3. Selecione Mapear ID do Nome de asserção para o Armazenamento de IDs do Usuário atributo e informe o e-mail na caixa de texto.

    Observação:

    Essa configuração define o mapeamento do usuário entre o Azure AD e o Oracle Access Manager. O Oracle Access Manager usará o valor do elemento NameID na asserção SAML de entrada e tentará pesquisar esse valor em relação ao atributo de e-mail em todas as entradas do usuário no armazenamento de identidades configurado. Portanto, é imperativo que o nome principal do usuário do Azure AD (na configuração do Azure AD mostrada anteriormente) seja sincronizado com o atributo mail no armazenamento de identidades do Oracle Access Manager.
  8. Clique em Salvar para salvar o parceiro do provedor de identidades.
  9. Depois que o parceiro for salvo, volte à área Avançado na parte inferior da guia. Certifique-se de que as opções estejam configuradas da seguinte forma:
    • A opção Ativar log-out global está selecionada.
    • O Bind de Resposta HTTP POST SSO foi selecionado.
      Esta é uma instrução que o Oracle Access Manager envia na solicitação de autenticação informando ao Azure AD como ela deve transmitir a asserção SAML de volta. Se você inspecionar a solicitação de autenticação enviada pelo Oracle Access Manager, verá algo como o exemplo a seguir. Observe o atributo ProtocolBinding em negrito do elemento AuthnRequest no exemplo.
      <?xml version="1.0"?>
      <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
      xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
      xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
      xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
      xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      Destination="https://login.microsoftonline.com/4e39517e-7ef9-45a7-
      9751-6ef6f2d43429/saml2" ID="id-y5nmx61xB8QWXtDmYWcH7rPYs5zXtV-fcKRyyM9" IssueInstant="2019-04-23T17:01:25Z"
      ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
      Version="2.0">
      <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">http://myoamserver.mycompany.com:14100/oam/fed</saml:Is
      suer>
      <dsig:Signature>
      <dsig:SignedInfo>
      <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xmlexc-c14n#"/>
      <dsig:SignatureMethod
      Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
      <dsig:Reference URI="#id-y5nmx61xB8QWXtDmYWcH7rPYs5zXtV-fcKRy-yM9">
      <dsig:Transforms>
      <dsig:Transform
      Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
      <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
      </dsig:Transforms>
      <dsig:DigestMethod
      Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
      <dsig:DigestValue>pa00UWdqfywm4Qb59HioA6BhD18=</dsig:DigestValue>
      </dsig:Reference>
      </dsig:SignedInfo>
      <dsig:SignatureValue>X4eZRyFD6sznA0g3BJebU2c6ftunG2UvwbMptO+10wFky0aAL
      nnr0Na+5fF83U4Ut99OvAIZ41K3YMNaR4A8zr37SSlBrb72X7CTtxjh2mAphWDRPmkJx4v
      S0HACzZh0MHimdwq+qVXuFRbSLBE+9XNSGWJzGAh//WqGBlNrKnw=</dsig:SignatureV
      alue>
      </dsig:Signature>
      </samlp:AuthnRequest>
    • A opção Ativar Autenticação Básica HTTP (bind de artefato SSO) não está selecionada.

      Essa definição solicita que o Azure AD envie a asserção por meio de uma solicitação HTTP POST. Ao receber uma solicitação como essa, os provedores de identidade geralmente criam um formulário HTML com a asserção como um elemento de formulário oculto que é automaticamente postado no ACS (Assertion Consumer Service) do provedor de serviços.

  10. Na área Geral, clique no botão Criar Esquema de Autenticação e Módulo.
    Um esquema e um módulo de autenticação são criados com o nome do parceiro. A única configuração restante é anexar o esquema de autenticação aos recursos do E-Business Suite que exigem credenciais do Azure AD para autenticação, o que você fará na próxima seção.
  11. Você pode verificar o módulo de autenticação que foi criado seguindo estas etapas:
    1. Clique na guia Segurança do Aplicativo na parte superior da console.
    2. Em Plug-ins, selecione Módulos de Autenticação, clique em Pesquisar e localize seu módulo de federação.
    3. Selecione o módulo e clique na guia Etapas.
    4. Observe que o valor na propriedade FedSSOIdP é o parceiro do provedor de identidades

Associar os Recursos do E-Business Suite ao Esquema de Autenticação

A etapa de configuração final é associar os Recursos do E-Business Suite ao Esquema de Autenticação. Execute estas etapas enquanto estiver conectado à console do Oracle Access Manager como Administrador

  1. Na parte superior da console, clique em Segurança do Aplicativo.
  2. Em Gerenciador de Acesso, selecione Domínio de Aplicativo, clique em Pesquisar e selecione o domínio de aplicativo criado durante a execução do script do E-Business Suite para a integração que teria registrado o E-Business Suite WebGate.
  3. Clique na guia Políticas de Autenticação e, em seguida, clique em Política de Recursos Protegidos.
    Altere o Esquema de Autenticação alterando o esquema de autenticação criado anteriormente com o novo esquema de autenticação da federação. É assim que o Oracle Access Manager vincula um recurso protegido a um provedor de identidades
  4. Clique em Aplicar para salvar a alteração.