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:
- Configurar o Maverics Orchestrator
- Proxy de um aplicativo
- Registrar um aplicativo corporativo no Microsoft Entra ID
- Autenticar via Azure e autorizar o acesso ao aplicativo
- Adicione cabeçalhos para acesso contínuo ao aplicativo
- 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
Obtenha o mais recente Maverics RPM. Copie o pacote para o sistema no qual você deseja instalar o software Maverics.
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
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 appgateways
o . 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:
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.
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.
No painel Visão geral do conector SAML do Maverics Identity Orchestrator, selecione Configurar logon único e, em seguida, selecione SAML.
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).
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 osamlEntityID
campo para seu conector do Azure na próxima seção.Insira um URL de resposta de
https://sonar.maverics.com/acs
. Você usará esse valor quando definir osamlConsumerServiceURL
campo para seu conector do Azure na próxima seção.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.Selecione Guardar.
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.
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.email
do 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 migrationgateways
o .
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.