Aplicações no Entra ID

Aplicações no Entra ID

Em um ambiente empresarial, é comum que tenhamos diversos tipos de aplicações conectadas às nossas soluções. O principal modelo hoje em dia são as aplicações SaaS (Software as a Service) mas não podemos nos esquecer das soluções on-premise, ou instaladas em servidores/máquinas virtuais e também das aplicações desenvolvidas de maneira personalizada, de acordo com a necessidade de negócio. Hoje vamos falar sobre como independente do modelo, é possível integrar essa aplicações ao Entra ID.


Qual a importância de conectarmos os apps no IdP?

Peça fundamental na estratégia de segurança das empresas, os Identity Providers centralizam as operações e controles relacionados às identidades da empresa. Nesse contexto, para garantirmos a boa governabilidade dos acessos às aplicações, é importante que o componente central dessa arquitetura seja o resposável por fornecer essas permissões.

Para conseguirmos implementar esse modelo, precisamos garantir que as nossas aplicações (independente do modelo) estejam "plugadas" ao IdP, no escopo deste artigo, o Microsoft Entra ID.

Com essa estratégia implementada, todos os controles de segurança poderão ser aplicados aos usuários e aplicações sem falhas. Usuários perderão seu acesso quando for requisitado, as renovações de acesso serão disparadas quando configuradas e essas são apenas algumas materializações do que essa arquitetura poderá garantir.


Tipos de aplicação

Pensando na pluralidade dos ambientes encontrados nas organizações, é necessário que nós estejamos cientes dos modelos de aplicações que devem existir. Abaixo, temos uma lista dos modelos mais comumente encontrados.

Aplicações Federadas

Modelo mais simples e frequentemente encontrado nas empresas. Essas soluções são adquiridas pelas empresas já prontas, seja em formato SaaS (Software as a Service, modelo mais popular) ou havendo a necessidade de instalação da solução em recursos de infraestrutura controlados pela empresa (máquinas virtuais, PaaS como o Azure App Service, Kubernetes, etc.).

Essas soluções são integradas ao Entra ID utilizando protocolos como SAML 2.0 e OIDC. Esses protocolos permitem a configuração das chamadas federações.

Federação é o conceito de conectar uma aplicação à um provedor de identidade externo e delegar para esse provedor todas as atividades de autenticação, não havendo necessidade de se ter uma base de usuários local.

Temos no Entra ID uma lista com todas as aplicações com integração out-of-the-box, integrações essas que basta a troca de algumas informações entre as partes e a conexão está feita. Podes acessar a lista clicando neste link.

Aplicações Customizadas

Essas aplicações são desenvolvidas pelos times de engenharia das empresas. Utilizam algum tipo de interface (como uma biblioteca) para se comunicar com o IdP. No Entra utilizamos a MSAL (Microsoft Authentication Library), que contém diversas versões para as tecnologias mais populares do mercado (ex: Angular, JS, .NET).

Os desenvolvedores irão construir a aplicação, sua lógica de negócio (processamentos, integrações com outros serviços e aplicações) e a interface de comunicação com o Entra. O único insumo estritamente necessário é a criação de um objeto de aplicação (App Registration), que representará a identidade daquela solução mediante aos outros recursos existentes.

Recursos adicionais como App Roles, grupos e consentimento podem ser configurados de acordo com a necessidade daquela aplicação.

Por mais que essas aplicações tenham sido desenvolvidas de maneira customizada pela organização, dentro do Entra elas terão as mesmas capacidades das soluções "prontas", abordadas na seção anterior. Os mesmos controles de segurança implementados poderão ser configurados nessas ferramentas.

O modelo de aplicações personalizadas permite o uso dos Authentication Contexts, recurso esse que fornece uma camada adicional de segurança para acesso à informações privilegiadas.

APIs

Sendo uma funcionalidade específica do Entra, não necessáriamente aplicável à outras ferramentas de mercado, temos a capacidade de integrar APIs publicadas no Azure API Management e utilizar os tokens gerados pelo Entra para realizar a autorização dentro das aplicações.

À partir dessa funcionalidade, podemos configurar no Entra para que as claims necessárias para realizar a autorização na API sejam enviadas no token. Para isso, declaramos na configuração da aplicação no Entra as chamadas app roles.

As App Roles são valores configurados no objeto da aplicação (app registration) e que representam as informações necessárias para sua API realizar o processo de autorização.

Aplicações Legadas (application proxy)

Publicar aplicativos locais com o Proxy de Aplicativo do Microsoft Entra -  Microsoft Entra ID | Microsoft Learn

Outro recurso interessante e extremamente útil para organizações que contém muito legado, é o Entra ID Application Proxy. Esse componente permite integrar no Entra ID essas aplicações que precisariam passar por algum tipo de modernização, sem a necessidade de reformulação de código ou de re-deploy da solução.

O proxy é um agente instalado no servidor onde a aplicação é executada. Ele é configurado no Entra ID e servirá como a interface para autenticação nessas aplicações.

Esse agente permitirá utilizar os recursos de segurança existentes (como conditional access e MFA) no acesso à solução, capacidade que será útil em momentos de modernização do landscape de ferramentas da sua organização para soluções de negócio críticas e que tem necessidade de maior proteção.

Como qualquer implementação, a implementação do Application Proxy requer análise dos requisitos. Mesmo suas capacidades sendo úteis em diversos cenários, é importante a avaliação pelos times responsáveis, pois mesmo habilitando as capacidades modernas fornecidas pelo Entra, esse componente tem interdependências com outras soluções, como o Active Directory, o que pode gerar certo desequilíbrio na performance.


Segurança das aplicações

Não poderia encerrar esse texto sem ao menos mencionar as estratégias de segurança para essas aplicações.

Independente do modelo, as aplicações serão visíveis à partir do Entra ID, o que nos permite aplicar (quase todos) os controles tangíveis à plataforma em todas as aplicações. Controles que são esses:

  • Conditional Access: um dos recursos mais poderosos do Entra, é completamente compatível com as aplicações. Podemos definir políticas de risco de acesso, autenticação multi-fator baseada em risco, controle de acesso por localidade, acesso de dispositivo compliant, entre outras capacidades;

  • Grupos de acesso: uma outra boa estratégia para controlar o acesso às aplicações é a configuração de grupos de acesso. Aqui cria-se um grupo que será atribuído à aplicação, dessa forma apenas os usuários presentes nesse grupo terão acesso ao app. Usuários não presentes nos grupos cadastrados poderão tentar acessar a aplicação, porém receberão um erro no momento da tentativa de login;

  • Revisões de acesso: para garantir que os acessos às aplicações são feitos apenas pelos usuários necessários, podemos configurar as revisões de acesso, que podem ser feitas periódicamente (disparadas à cada X dias). Se configuradas de uma maneira em que o gestor da aplicação faça a gestão dessas revisões, o fluxo de controle de acesso ficará eficiente e autocontido no time responsável pelo app.

Vale mencionar novamente os Authentication Contexts, que podem ser utilizados junto das Conditional Access Policies para garantir o acesso seguro a informações confidenciais presentes nas soluções.

Esses são alguns controles de segurança representados em alto nível, podemos aumentar a granularidade do controle e fortalecer a proteção ao personalizar as confugrações desses recursos.


Em uma época onde é cada vez mais comum a aquisição de soluções ao invés de desenvolvimentos proprietários, não é possível mensurar a importância do controle de acesso pelas empresas. Soluções sendo executadas em diversas localizações geográficas, acessadas por times em lugares diferentes do país (e até do mundo), com dispositivos de diversas plataformas e fabricantes, tudo isso resultando em um ecossistema altamente complexo e descentralizado. A convergência em um componente controlado pela organização, permite a aplicação das políticas de segurança necessárias para garantir a proteção dos recursos da empresa.

Espero que tenha gostado do texto e que de alguma forma eu tenha contribuído para a estratégia de segurança da sua empresa.

Até logo!