Integrar o logon único do Microsoft Entra ao Maverics Identity Orchestrator SAML Connector

Cuidado

Este artigo faz referência ao CentOS, uma distribuição do Linux que está se aproximando do status de EOL (fim da vida útil). Considere seu uso e planeje adequadamente. Para obter mais informações, veja as Diretrizes sobre fim da vida útil do CentOS.

O Maverics Identity Orchestrator do Strata fornece uma forma simples de integrar aplicativos locais ao Microsoft Entra ID para autenticação e controle de acesso. O Maverics Orchestrator é capaz de modernizar a autenticação e a autorização para aplicativos que atualmente dependem de cabeçalhos, cookies e outros métodos de autenticação proprietários. As instâncias do Maverics Orchestrator podem ser implantadas localmente ou na nuvem.

Este tutorial de acesso híbrido demonstra como migrar um aplicativo Web local atualmente protegido por um produto de gerenciamento de acesso à Web herdado para usar o Microsoft Entra ID para autenticação e controle de acesso. Veja a seguir as etapas básicas:

  1. Configurar o Maverics Orchestrator
  2. Efetuar proxy de um aplicativo
  3. Registrar um aplicativo empresarial no Microsoft Entra ID
  4. Autenticar por meio do Azure e autorizar o acesso ao aplicativo
  5. Adicionar cabeçalhos para acesso fácil ao aplicativo
  6. Trabalhar com vários aplicativos

Pré-requisitos

  • Uma assinatura do Microsoft Entra. Caso você não tenha uma assinatura, obtenha uma conta gratuita.
  • Uma assinatura do Maverics Identity Orchestrator SAML Connector habilitada para SSO. Para obter o software do Maverics, entre em contato com o departamento de vendas do Strata.
  • Pelo menos um aplicativo que usa autenticação baseada em cabeçalho. Os exemplos funcionam em um aplicativo chamado Connectulum, hospedado em https://app.connectulum.com.
  • Um computador Linux para hospedar o Maverics Orchestrator
    • Sistema operacional: RHEL 7.7 ou superior, CentOS 7+
    • Disco: >= 10 GB
    • Memória: >= 4 GB
    • Portas: 22 (SSH/SCP), 443, 7474
    • Acesso à raiz para tarefas administrativas/de instalação
    • Saída de rede do servidor que hospeda o Maverics Identity Orchestrator para o seu aplicativo protegido

Etapa 1: configurar o Maverics Orchestrator

Instalar o Maverics

  1. Obtenha o pacote RPM mais recente do Maverics. Copie o pacote para o sistema no qual você deseja instalar o software do Maverics.

  2. Instale o pacote do Maverics substituindo o nome do arquivo no lugar de maverics.rpm.

    sudo rpm -Uvf maverics.rpm

    Após a instalação do Maverics, ele será executado como um serviço em systemd. Para confirmar se o serviço está em execução, execute o seguinte comando:

    sudo systemctl status maverics

  3. Para reiniciar o Orchestrator e seguir os logs, você pode executar o seguinte comando:

    sudo service maverics restart; sudo journalctl --identifier=maverics -f

Depois de instalar o Maverics, o arquivo maverics.yaml padrão é criado no diretório /etc/maverics. Antes de você editar a configuração para incluir appgateways e connectors, o arquivo de configuração terá esta aparência:

# © Strata Identity Inc. 2020. All Rights Reserved. Patents Pending.

version: 0.1
listenAddress: ":7474"

Configurar DNS

O DNS será útil para que você não precise se lembrar do IP do servidor do Orchestrator.

Edite o arquivo de hosts do computador do navegador (seu laptop), usando um IP do Orchestrator hipotético de 12.34.56.78. Em sistemas operacionais baseados em Linux, esse arquivo está localizado em /etc/hosts. No Windows, ele está localizado em C:\windows\system32\drivers\etc.

12.34.56.78 sonar.maverics.com
12.34.56.78 connectulum.maverics.com

Para confirmar se o DNS está configurado conforme o esperado, você pode fazer uma solicitação para o ponto de extremidade de status do Orchestrator. No seu navegador, solicite http://sonar.maverics.com:7474/status.

Configurar TLS

A comunicação por canais seguros para se comunicar com o Orchestrator é crítico para a manutenção da segurança. Você pode adicionar um par de certificados/chaves em sua seção tls para conseguir isso.

Para gerar um certificado autoassinado e uma chave para o servidor do Orchestrator, execute o seguinte comando de dentro do diretório /etc/maverics:

openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out maverics.crt -keyout maverics.key

Observação

Para ambientes de produção, você provavelmente desejará usar um certificado assinado por uma autoridade de certificação conhecida para evitar avisos no navegador. A Let's Encrypt é uma opção boa e gratuita se você está procurando uma autoridade de certificação confiável.

Agora, use o certificado e a chave gerados recentemente para o Orchestrator. O arquivo de configuração agora deve conter este código:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

Para confirmar se o TLS está configurado conforme o esperado, reinicie o serviço Maverics e faça uma solicitação para o ponto de extremidade de status.

Etapa 2: efetuar proxy de um aplicativo

Em seguida, configure o proxy básico no Orchestrator usando appgateways. Esta etapa ajuda a validar que o Orchestrator tem a conectividade necessária com o aplicativo protegido.

O arquivo de configuração agora deve conter este código:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

Para confirmar que o proxy está funcionando conforme o esperado, reinicie o serviço Maverics e faça uma solicitação para o aplicativo por meio do proxy do Maverics. Opcionalmente, você pode fazer uma solicitação de recursos específicos de aplicativo.

Etapa 3: Registrar um aplicativo empresarial no Microsoft Entra ID

Agora, crie um novo aplicativo empresarial no Microsoft Entra ID que será usado para autenticar usuários finais.

Observação

Quando você usa recursos do Microsoft Entra como acesso condicional, é importante criar um aplicativo empresarial por aplicativo local. Isso permite acesso condicional por aplicativo, avaliação de risco por aplicativo, permissões atribuídas por aplicativo e assim por diante. Geralmente, um aplicativo empresarial no Microsoft Entra ID é mapeado para um conector do Azure no Maverics.

Para registrar um aplicativo empresarial no Microsoft Entra ID:

  1. No locatário do Microsoft Entra, acesse Aplicativos empresariais e selecione Novo Aplicativo. Na galeria do Microsoft Entra, pesquise Maverics Identity Orchestrator SAML Connector e selecione-o.

  2. No painel Propriedades do Maverics Identity Orchestrator SAML Connector, defina Atribuição de usuário obrigatória? como Não para permitir que o aplicativo funcione para usuários recém-migrados.

  3. No painel Visão geral do Maverics Identity Orchestrator SAML Connector, selecione Configurar logon único e escolha SAML.

  4. No painel Logon baseado em SAML do Maverics Identity Orchestrator SAML Connector, edite a Configuração Básica do SAML selecionando o botão Editar (ícone de lápis).

    Captura de tela do botão Editar de

  5. Insira uma ID da Entidade de https://sonar.maverics.com. A ID da entidade precisa ser exclusiva entre os aplicativos no locatário e pode ser um valor arbitrário. Você usará esse valor ao definir o campo samlEntityID para o seu conector do Azure na próxima seção.

  6. Insira uma URL de Resposta de https://sonar.maverics.com/acs. Você usará esse valor ao definir o campo samlConsumerServiceURL para o seu conector do Azure na próxima seção.

  7. Insira uma URL de entrada de https://sonar.maverics.com/. Esse campo não será usado pelo Maverics, mas é necessário no Microsoft Entra ID para permitir que os usuários obtenham acesso ao aplicativo por meio do portal Meus Aplicativos do Microsoft Entra.

  8. Selecione Salvar.

  9. Na seção Certificado de Autenticação SAML, selecione o botão Copiar para copiar o valor da URL de Metadados de Federação do Aplicativo e salve-o no seu computador.

    Captura de tela do botão Copiar do

Etapa 4: autenticar por meio do Azure e autorizar o acesso ao aplicativo

Em seguida, coloque o aplicativo empresarial que você acabou de criar em uso configurando o conector do Azure no Maverics. Essa configuração connectors, emparelhada com o bloco idps, permite que o orquestrador autentique usuários.

O arquivo de configuração agora deve conter o código a seguir. Você precisa substituir METADATA_URL pelo valor da URL de Metadados de Federação do aplicativo da etapa anterior.

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

Para confirmar que a autenticação está funcionando conforme o esperado, reinicie o serviço Maverics e faça uma solicitação para um recurso de aplicativo por meio do proxy do Maverics. Você deverá ser redirecionado para o Azure para autenticação antes de acessar o recurso.

Etapa 5: adicionar cabeçalhos para acesso fácil ao aplicativo

Você ainda não está enviando cabeçalhos para o aplicativo upstream. Vamos adicionar headers à solicitação à medida que ela passa pelo proxy do Maverics para permitir que o aplicativo upstream identifique o usuário.

O arquivo de configuração agora deve conter este código:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

Para confirmar que a autenticação está funcionando conforme o esperado, faça uma solicitação para um recurso de aplicativo por meio do proxy do Maverics. O aplicativo protegido agora deve estar recebendo cabeçalhos na solicitação.

Fique à vontade para editar as chaves de cabeçalho se o seu aplicativo espera cabeçalhos diferentes. Todas as declarações que retornam do Microsoft Entra ID como parte do fluxo SAML estão disponíveis para uso em cabeçalhos. Por exemplo, você pode incluir outro cabeçalho de secondary_email: azureSonarApp.email, em que azureSonarApp é o nome do conector e email é uma declaração retornada pelo Microsoft Entra ID.

Etapa 6: trabalhar com vários aplicativos

Agora, vamos dar uma olhada no que é necessário para o proxy para vários aplicativos que estão em hosts diferentes. Para realizar essa etapa, configure outro Gateway de Aplicativo, outro aplicativo empresarial no Microsoft Entra ID e outro conector.

O arquivo de configuração agora deve conter este código:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp
  - name: azureConnectulumApp

appgateways:
  - name: sonar
    host: sonar.maverics.com
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

  - name: connectulum
    host: connectulum.maverics.com
    location: /
    # Replace https://app.connectulum.com with the address of your protected application
    upstream: https://app.connectulum.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureConnectulumApp.authenticated}}", "true"]

    headers:
      email: azureConnectulumApp.name
      firstname: azureConnectulumApp.givenname
      lastname: azureConnectulumApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

  - name: azureConnectulumApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://connectulum.maverics.com/acs
    samlEntityID: https://connectulum.maverics.com

Talvez você tenha notado que o código adiciona um campo host às suas definições de Gateway de Aplicativo. O campo host permite que o Maverics Orchestrator diferencie para qual host upstream efetuar proxy do tráfego.

Para confirmar que o Gateway de Aplicativo recém-adicionado está funcionando conforme o esperado, faça uma solicitação para https://connectulum.maverics.com.

Cenários avançados

Migração de identidade

Não quer mais continuar com a sua ferramenta de gerenciamento de acesso à Web cujo ciclo de vida chegou ao fim, mas não tem uma forma de migrar seus usuários sem redefinições de senha em massa? O Maverics Orchestrator dá suporte à migração de identidade usando migrationgateways.

Gateways do servidor Web

Não quer refazer a sua rede e efetuar proxy do tráfego por meio do Maverics Orchestrator? Tudo bem. O Maverics Orchestrator pode ser emparelhado com os módulos (gateways de servidor Web) para oferecer as mesmas soluções sem proxy.

Conclusão

Até aqui, você instalou o Maverics Orchestrator, criou e configurou um aplicativo empresarial no Microsoft Entra ID e configurou o Orchestrator para fazer proxy para um aplicativo protegido, exigindo autenticação e impondo uma política. Para saber mais sobre como o Maverics Orchestrator pode ser usado para casos de uso do gerenciamento de identidades distribuídas, entre em contato com a Strata.

Próximas etapas