Integre o logon único do Microsoft Entra com o conector SAML do Maverics Identity Orchestrator

Atenção

Este artigo faz referência ao CentOS, uma distribuição Linux que está se aproximando do status de Fim da Vida Útil (EOL). Por favor, considere o seu uso e planeje de acordo. Para obter mais informações, consulte as diretrizes de Fim da Vida Útil do CentOS.

O Maverics Identity Orchestrator da Strata fornece uma maneira simples de integrar aplicativos locais com o 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 no local ou na nuvem.

Este tutorial de acesso híbrido demonstra como migrar um aplicativo Web local atualmente protegido por um produto herdado de gerenciamento de acesso à Web para usar o Microsoft Entra ID para autenticação e controle de acesso. Aqui estão os passos básicos:

  1. Configurar o Maverics Orchestrator
  2. Proxy de um aplicativo
  3. Registrar um aplicativo corporativo no Microsoft Entra ID
  4. Autenticar via Azure e autorizar o acesso ao aplicativo
  5. Adicione cabeçalhos para acesso contínuo ao aplicativo
  6. Trabalhar com várias aplicações

Pré-requisitos

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

Etapa 1: Configurar o Maverics Orchestrator

Instalar o Maverics

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

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

    sudo rpm -Uvf maverics.rpm

    Depois de instalar o Maverics, ele será executado como um serviço em systemd. Para verificar 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 /etc/maverics Maverics, o arquivo padrão maverics.yaml é criado no diretório. Antes de editar sua configuração para incluir appgateways e connectors, seu arquivo de configuração terá esta aparência z:

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

version: 0.1
listenAddress: ":7474"

Configurar o DNS

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

Edite o arquivo de hosts da máquina do navegador (do seu laptop), usando um IP hipotético do Orchestrator 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 ao ponto de extremidade de status do Orchestrator. No seu navegador, solicite http://sonar.maverics.com:7474/status.

Configurar TLS

A comunicação através de canais seguros para falar com o seu Orchestrator é fundamental para manter a segurança. Você pode adicionar um par de certificado/chave em sua tls seção para conseguir isso.

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

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

Nota

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

Agora, use o certificado e a chave recém-gerados para o Orchestrator. Seu 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 ao ponto de extremidade de status.

Etapa 2: Proxy de um aplicativo

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

Seu 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 se o proxy está funcionando conforme o esperado, reinicie o serviço Maverics e faça uma solicitação ao aplicativo por meio do proxy Maverics. Opcionalmente, você pode fazer uma solicitação para recursos específicos do aplicativo.

Etapa 3: Registrar um aplicativo corporativo no Microsoft Entra ID

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

Nota

Quando você usa recursos do Microsoft Entra, como o Acesso Condicional, é importante criar um aplicativo corporativo 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 corporativo no Microsoft Entra ID mapeia para um conector do Azure no Maverics.

Para registrar um aplicativo corporativo no Microsoft Entra ID:

  1. No locatário do Microsoft Entra, vá para Aplicativos corporativos e selecione Novo aplicativo. Na galeria do Microsoft Entra, procure Maverics Identity Orchestrator SAML Connector e selecione-o.

  2. No painel Propriedades do conector SAML do Maverics Identity Orchestrator, defina Atribuição de usuário necessária? como Não para permitir que o aplicativo funcione para todos os usuários em seu diretório.

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

  4. No painel de 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 ecrã do botão Editar

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

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

  7. Introduza um URL de início de sessão de https://sonar.maverics.com/. Este campo não será usado pelo Maverics, mas é necessário no Microsoft Entra ID para permitir que os usuários tenham acesso ao aplicativo por meio do portal Microsoft Entra My Apps.

  8. Selecione Guardar.

  9. Na seção Certificado de Assinatura SAML, selecione o botão Copiar para copiar o valor da URL de Metadados de Federação de Aplicativos e salve-o em seu computador.

    Captura de ecrã do botão Copiar

Etapa 4: Autenticar via Azure e autorizar o acesso ao aplicativo

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

Seu arquivo de configuração agora deve conter o código a seguir. Certifique-se de substituir METADATA_URL pelo valor de URL de Metadados de Federação de Aplicativos 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 se a autenticação está funcionando conforme o esperado, reinicie o serviço Maverics e faça uma solicitação a um recurso de aplicativo por meio do proxy Maverics. Você deve ser redirecionado para o Azure para autenticação antes de acessar o recurso.

Etapa 5: Adicionar cabeçalhos para acesso contínuo 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 Maverics para permitir que o aplicativo upstream identifique o usuário.

Seu 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 se a autenticação está funcionando conforme o esperado, faça uma solicitação a um recurso de aplicativo por meio do proxy Maverics. O aplicativo protegido agora deve estar recebendo cabeçalhos na solicitação.

Sinta-se à vontade para editar as teclas 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 , onde azureSonarApp é o nome do conector e email é uma declaração retornada secondary_email: azureSonarApp.emaildo ID do Microsoft Entra.

Etapa 6: Trabalhar com vários aplicativos

Vamos agora dar uma olhada no que é necessário para proxy para vários aplicativos que estão em hosts diferentes. Para realizar essa etapa, configure outro App Gateway, outro aplicativo corporativo no Microsoft Entra ID e outro conector.

Seu 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

Você deve ter notado que o código adiciona um host campo às definições do App Gateway. O host campo permite que o Maverics Orchestrator distinga para qual host upstream para o tráfego de proxy.

Para confirmar se o App Gateway 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 suporta sua ferramenta de gerenciamento de acesso à Web em fim de vida, mas você não tem uma maneira de migrar seus usuários sem redefinições de senha em massa? O Maverics Orchestrator oferece suporte à migração de identidade usando migrationgatewayso .

Gateways de servidor Web

Não quer retrabalhar sua rede e tráfego de proxy através do Maverics Orchestrator? Sem problema. O Maverics Orchestrator pode ser emparelhado com gateways de servidor web (módulos) para oferecer as mesmas soluções sem proxy.

Concluir

Neste ponto, você instalou o Maverics Orchestrator, criou e configurou um aplicativo corporativo no Microsoft Entra ID e configurou o Orchestrator para proxy para um aplicativo protegido, exigindo autenticação e aplicando a política. Para saber mais sobre como o Maverics Orchestrator pode ser usado para casos de uso de gerenciamento de identidade distribuído, entre em contato com a Strata.

Próximos passos