Compartilhar via


Guia do Microsoft Entra ID para desenvolvedores de software independentes

O Microsoft Entra ID é um serviço de gerenciamento de acesso e identidade baseado em nuvem, que permite aos funcionários acessar recursos. Analistas do setor reconhecem consistentemente o Microsoft Entra ID como líder. Ele é sete vezes líder no Gartner Magic Quadrant for Access Management. A KuppingerCole classifica o Microsoft Entra ID como positivo em todas as dimensões no gerenciamento de acesso. A Frost &Sullivan nomeou a Microsoft como a Empresa do Ano de 2022 para o setor global de Gerenciamento de Identidades e Acesso. Leia histórias sobre algumas das mais de 300.000 organizações que usam o Microsoft Entra ID.

Este é o quinto de uma série de artigos sobre como os desenvolvedores de software independentes (ISVs) podem criar e otimizar os próprios aplicativos para o Microsoft Entra ID. Nesta série, você pode aprender mais sobre estes tópicos:

Desenvolver com a plataforma de Identidade da Microsoft

Aplicativos são essenciais para o Microsoft Entra ID. Quando um usuário acessa um recurso, ele(a) acessa esse recurso com um aplicativo. A plataforma de identidade da Microsoft compreende as ferramentas e os serviços que permitem que os desenvolvedores criem no Microsoft Entra ID. A plataforma de identidade da Microsoft começa com o Microsoft Entra ID, o serviço de nuvem que fornece operações exigidas por um aplicativo, como entrada, saída e registro de aplicativo. A plataforma de identidade da Microsoft incorpora MSAL (Bibliotecas de Autenticação da Microsoft) de código aberto em várias linguagens e estruturas e o Microsoft Graph, que fornece APIs para acessar dados e operações no Microsoft Entra ID.

Para desenvolvedores, a plataforma de identidade da Microsoft inclui os recursos a seguir.

  • Autenticar um usuário, autorizar um aplicativo e gerar tokens de API.
  • Simplifique a integração de recursos de segurança diretamente com a MSAL (Biblioteca de Autenticação da Microsoft) ou por meio de uma API de nível superior, como Microsoft.Identity.Web ou Azure.Identity.
  • Em vez de implementar o OAuth 2.0 do zero, use MSALs para abstrair a complexidade com APIs robustas que aliviam o fardo do desenvolvedor.
  • Verifique se os aplicativos seguem as práticas recomendadas de segurança em conformidade com os padrões e protocolos do setor, como o OAuth 2.0.
  • Unifique histórias de autenticação entre aplicativos e experiências com suporte de SSO (logon único).
  • Simplifique a integração de identidade social com o Microsoft External ID.
  • Proteger dados e ativos com código com o mínimo de canalização e suporte nativo para funcionalidades do Microsoft Entra ID, como CA (Acesso Condicional), CAE (Avaliação de Acesso Contínuo), Proteção de Identidade e gerenciamento de dispositivos.
  • Crie aplicativos que protegem com segurança tokens de autenticação, garantindo a imposição de conformidade de dispositivos e políticas. Conte com suporte para autenticação com agentes modernos, como o Microsoft Authenticator, ou componentes internos do sistema operacional, como o WAM (Gerenciador de Contas da Web) no Windows.

Integrar aplicativos ao Microsoft Entra ID

Os aplicativos que se integram às identidades de usuário, serviço ou grupo do Microsoft Entra ID interagem com um locatário do Microsoft Entra ID. Um locatário é uma instância dedicada do Microsoft Entra ID que geralmente representa uma organização ou um grupo dentro de uma empresa maior. O locatário contém o diretório da organização, armazenando objetos como contas corporativas ou de estudante ou contas de parceiros convidados. Grupos, aplicativos, dispositivos e outros objetos também são armazenados. O locatário fornece os pontos de extremidade da Web que os aplicativos usam para executar operações, como autenticação.

Um aplicativo faz solicitações a um ponto de extremidade de locatário para obter tokens que identificam usuários ou que as APIs de recurso podem usar para autorizar o acesso a recursos. As identidades de aplicativo dentro do Microsoft Entra ID permitem que os aplicativos solicitem tokens de um locatário do Microsoft Entra ID, fornecendo aos usuários o nível certo de contexto sobre quem está tentando autenticá-los.

Embora a maioria das empresas exija apenas um locatário do Microsoft Entra ID, os cenários podem exigir que as organizações tenham vários locatários para atender às próprias metas de negócios. Uma empresa grande pode incluir várias unidades de negócios independentes que podem exigir coordenação e colaboração em toda a empresa. Cidades em uma região ou escolas em um distrito podem ter requisitos semelhantes. Nesses cenários, cada unidade pode ter um locatário próprio, com configuração e políticas próprias. Como a nuvem do Microsoft Entra ID hospeda locatários, as organizações podem configurar colaboração entre locatários com o mínimo de atrito.

O Microsoft Entra ID dá suporte aos protocolos a seguir, entre uma ampla gama deles.

  • O OAuth 2.0 é o protocolo do setor para autorização. Os aplicativos solicitam um token de acesso com o protocolo OAuth 2.0 para obter autorização para que um aplicativo acesse um recurso protegido.
  • O OIDC (OpenID Connect) é um padrão de autenticação interoperável criado com base no OAuth 2.0. Os aplicativos solicitam um token de ID com o protocolo OIDC para autenticar o usuário atual.
  • O SAML 2.0 (Security Assertion Markup Language) é um padrão de autenticação. Os aplicativos solicitam uma declaração SAML, também conhecida como token SAML, do Microsoft Entra ID para trocar dados de autenticação e autorização entre um aplicativo e o Microsoft Entra ID. Os aplicativos usam o SAML para autenticar o usuário atual.
  • O SCIM (Sistema de Gerenciamento de Usuários entre Domínios) não é para autenticação e autorização. O SCIM é um protocolo de provisionamento que automatiza a sincronização de informações de usuário e grupo entre o Microsoft Entra ID e os aplicativos de conexão. A sincronização provisiona usuários e grupos para um aplicativo.

As operações principais que os aplicativos executam com o Microsoft Entra ID estão solicitando e processando tokens. No passado, fazer com que o usuário se identificasse com um nome de usuário e uma senha geralmente era suficiente para um provedor de identidade como o Microsoft Entra ID emitir um token para um aplicativo. Este token respondeu à pergunta: "Quem é o usuário e o que o aplicativo pode acessar?" Hoje, uma abordagem mais segura para verificar contas de identidade para obter mais sinais é:

  • Quem é o usuário?
  • O que o aplicativo pode acessar?
    • De qual dispositivo?
    • Com que força de credenciais?
    • De quais locais de rede?

Os clientes do Microsoft Entra ID podem usar recursos como Acesso Condicional para determinar quais perguntas ou condições eles desejam avaliar para garantir o acesso seguro aos recursos.

Os desenvolvedores que criam aplicativos que exigem tratamento de identidade do usuário não precisam escrever código para considerar essa complexidade na emissão de tokens. As funcionalidades internas da MSAL habilitam o processamento de solicitações de autenticação. Com o Acesso Condicional habilitado, quando um aplicativo solicita um token, o Microsoft Entra ID garante a imposição da política. Ele verifica as solicitações em relação a políticas como a localização do usuário (por exemplo, se eles residem na rede corporativa) ou a avaliação de sinais de risco para o usuário. A avaliação de risco do usuário pode exigir mais interação do usuário, como a MFA (autenticação multifator). Depois que o Microsoft Entra ID verifica a conformidade com restrições de política, ela emite um token. Quando não consegue verificar a conformidade, o Microsoft Entra ID não emite um token para o aplicativo e fornece ao usuário contexto sobre por que ele não pode acessar um recurso.

Como as políticas de Acesso Condicional agora são mais sofisticadas. Há um amplo conjunto de sinais que determina se um usuário ou serviço deve receber um token. Por exemplo, pode ser importante determinar se um dispositivo móvel usa MAM (gerenciamento de aplicativo móvel), se o Intune gerencia um computador Windows de dentro de um aplicativo da área de trabalho. Ou talvez seja necessário proteger tokens associando-os ao dispositivo de origem de uma solicitação. Essa diligência ajuda a garantir a conformidade e a segurança com o mínimo de atrito com o desenvolvedor. As bibliotecas da Microsoft oferecem o scaffolding necessário, mantendo a flexibilidade na resposta a requisitos de política específicos.

Autenticar e autorizar com o Microsoft Entra ID

O Microsoft Entra ID dá suporte a fluxos de autenticação e autorização dentro de navegadores para proteger ativos baseados na Web (como sites e APIs) e em plataformas cliente como Windows, macOS, Linux, iOS e Android. Os provedores de tecnologia em todo o ecossistema se envolvem com a Microsoft para garantir que os clientes e as respectivas organizações e parceiros tenham experiências perfeitas de tratamento de credenciais. O Microsoft Edge funciona diretamente com o Microsoft Entra ID para dar suporte ao SSO de todo o dispositivo para autenticar usuários nos dispositivos Windows deles. O Google Chrome (versão 111) e o Firefox (versão 91) têm essa funcionalidade. Aplicativos Web que usam identidades do Microsoft Entra ID usam automaticamente esses recursos em nos aplicativos baseados em navegador deles para oferecer uma experiência de entrada perfeita para os clientes.

Para permitir que aplicativos nativos forneçam essa experiência unificada de SSO, o Microsoft Entra introduziu agentes de autenticação, aplicativos executados no dispositivo de um usuário para gerenciar handshakes de autenticação e manter tokens para contas conectadas. A tabela a seguir lista os agentes de autenticação para sistemas operacionais comuns.

Sistema operacional Agente de autenticação
iOS Aplicativo Microsoft Authenticator
Android Aplicativo Microsoft Authenticator ou aplicativo Portal da Empresa do Intune
Windows O componente interno do sistema operacional Gerenciador de Contas da Web, disponível no Windows 10, Windows Server 2019 e posterior, Windows 11

Com os agentes de autenticação, os desenvolvedores de aplicativos nativos podem usar novos recursos do Microsoft Entra ID, como políticas de acesso condicional baseadas em dispositivo, sem precisar reescrever o código à medida que novos recursos se tornam disponíveis na nuvem. Aplicativos que não usam um agente de autenticação podem ver a adoção limitada do aplicativo pelos clientes do Microsoft Entra ID que exigem esses recursos.

Delegar gerenciamento de acesso e de identidades ao Microsoft Entra ID

Você pode criar aplicativos que delegam gerenciamento de identidades e de acesso ao Microsoft Entra ID usando qualquer ferramenta de desenvolvedor, biblioteca ou estrutura que implemente o OAuth 2.0, OIDC ou SAML com as ressalvas discutidas anteriormente. Muitas implementações OIDC com a Certificação OpenID para um ou mais perfis de certificação, incluindo perfis de autenticação, exigem uma configuração extra mínima para funcionar com o Microsoft Entra ID. Para facilitar o desenvolvimento para a plataforma do Microsoft Entra ID, várias bibliotecas otimizadas da Microsoft funcionam com os serviços e funcionalidades da Microsoft.

  • Ao compilar aplicativos Web, APIs ou outras cargas de trabalho (como daemons ou serviços no ASP.NET Core ou ASP.NET), use o Microsoft Identity Web.
  • Se você compilar no Microsoft Azure, use SDKs do Azure que incluem as bibliotecas de clientes de Identidade do Azure.
  • Quando você não puder usar uma dessas bibliotecas, use uma MSAL para seu ambiente de desenvolvimento, conforme mostrado na tabela a seguir.
Biblioteca Plataformas e estruturas compatíveis
MSAL para Android Android
MSAL Angular Aplicativos de página única com estruturas Angular e Angular.js
MSAL Objective-C iOS, iPadOS, macOS
MSAL Go Windows, macOS, Linux
MSAL Java Windows, macOS, Linux
MSAL.js Estruturas de JavaScript/TypeScript, como Vue.js, Ember.js ou Durandal.js
MSAL.NET .NET, .NET Framework, Xamarin Android, Xamarin iOS
Nó MSAL Aplicativos Web com Expresso, aplicativos da área de trabalho com Electron, aplicativos de console de plataforma cruzada
MSAL Python Windows, macOS, Linux
MSAL React Aplicativos de página única com bibliotecas baseadas em reagir e reagir (Next.js, Gatsby.js)

A família MSAL de bibliotecas fornece funcionalidade essencial de aquisição e cache de token. Com base nos clientes MSAL, Microsoft Identity Web e Azure Identity, simplifique a aquisição de token com funcionalidades de biblioteca de autenticação.

Sempre que possível, aconselhamos que os ISVs compilem na MSAL ou em uma biblioteca criada com base na MSAL. A MSAL dá suporte à autenticação intermediada, cenários de Acesso Condicional, proteção de token, políticas de proteção de aplicativo do Microsoft Intune e Gerenciamento de Aplicativos Móveis, Avaliação de Acesso Contínuo da Microsoft e muito mais.

Em todas as plataformas disponíveis, a estrutura de autenticação MSAL unificada integra-se perfeitamente à plataforma de identidade da Microsoft para uma autenticação de usuário consistente e segura. Como a MSAL abstrai a complexidade em torno de renovação proativa de token, cache e revogação, os desenvolvedores podem garantir que os fluxos de autenticação sejam seguros, robustos e confiáveis.

Acessar outros recursos

Os aplicativos geralmente precisam de mais do que autenticação e autorização (como acesso aos dados de diretório do locatário). O acesso pode incluir a obtenção de atributos do usuário, grupos, membros do grupo, aplicativos, governança e proteção de identidade.

O Microsoft Graph fornece acesso à identidade e acesso do locatário, usuários, grupos e aplicativos. O Microsoft Graph é o gateway para dados e inteligência em Microsoft 365. Você pode usar seu modelo de programação unificada para acessar a enorme quantidade de dados no Microsoft 365, Windows e EMS (Enterprise Mobility + Security).

Próximas etapas