Visão geral do SDK de Autenticação do Microsoft Entra ID (sidecar)

O SDK de Autenticação do Microsoft Entra ID (sidecar) é um serviço web conteinerizado que lida com a obtenção e a validação de tokens e com chamadas seguras a APIs downstream. Ele é executado como um contêiner complementar ao lado do aplicativo, permitindo que você descarrege a lógica de identidade para um serviço dedicado. Centralizando as operações de identidade no SDK de Autenticação Microsoft Entra ID (sidecar), você elimina a necessidade de inserir uma lógica de gerenciamento de token complexa em cada serviço, reduzindo a duplicação de código e possíveis vulnerabilidades de segurança.

Se você estiver criando com o Kubernetes, serviços em contêineres com Docker ou microsserviços modernos no Azure, o SDK de Autenticação Microsoft Entra ID (sidecar) fornecerá uma maneira padronizada de lidar com autenticação e autorização em aplicativos nativos de nuvem.

O que é o Microsoft Entra ID Auth SDK (sidecar)?

O SDK de Autenticação do Microsoft Entra ID (sidecar) se comunica com seu aplicativo por meio de uma API HTTP para autenticação e autorização, fornecendo padrões de integração consistentes independentemente da sua pilha de tecnologia. Em vez de inserir a lógica de identidade diretamente no código do aplicativo, o Microsoft Entra ID SDK de Autenticação (sidecar) manipula o gerenciamento de tokens, a validação e as chamadas à API por meio de solicitações HTTP padrão.

Essa abordagem permite arquiteturas de microsserviços poliglotas em que diferentes serviços podem ser escritos em Python, Node.js, Go, Java e outros, mantendo padrões de autenticação consistentes.

A arquitetura típica é a seguinte:

Aplicativo cliente → Sua API Web → SDK de autenticação do Microsoft Entra ID (sidecar) → Microsoft Entra ID

Para obter as marcas de versão e imagem de contêiner mais recentes, consulte a Imagem de Contêiner para começar.

Segurança

Verifique se a implantação do SDK de autenticação do Microsoft Entra ID (sidecar) segue as práticas recomendadas para uma operação segura. O SDK deve ser executado em um ambiente em contêineres com acesso restrito à rede, para impedir o acesso não autorizado. Expor a API do SDK publicamente pode levar a vulnerabilidades de segurança, como aquisição de token não autorizado.

Consulte as Práticas Recomendadas de Segurança para garantir as melhores práticas para recomendações de segurança de rede, credencial e runtime.

Cuidado

A API do SDK não deve ser acessível publicamente. Ele só deve ser acessível por aplicativos dentro do mesmo limite de confiança (por exemplo, mesmo pod ou rede virtual) para impedir a aquisição de token não autorizado.

Início rápido

Para começar a usar o SDK de Autenticação Microsoft Entra ID (sidecar), as seguintes etapas são recomendadas:

  1. Escolha sua implantação – Selecione Kubernetes, Docker ou AKS
  2. Definir configurações – Configurar variáveis de ambiente
  3. Escolher um cenário – Siga um exemplo guiado
  4. Implantar em produção – Examinar as práticas recomendadas de segurança

Principais benefícios

A arquitetura separa as preocupações de identidade da lógica de negócios, fornecendo os seguintes benefícios:

Benefício Description
Suporte a vários idiomas Chamar via HTTP a partir de Python, Node.js, Go, Java e outros
Configuração de segurança centralizada Um local para configuração de identidade, gerenciamento de token e gerenciamento de credenciais
Nativo de Contêiner Criado para Kubernetes, Docker, AKS e outras implantações modernas
Confiança Zero Pronto Integra-se com identidade gerenciada e tokens de prova de posse – mantendo dados confidenciais fora do código do aplicativo

Quando usar o SDK de Autenticação Microsoft Entra ID (sidecar) ou Microsoft. Identity.Web

Scenario Use o SDK de autenticação do Microsoft Entra ID (sidecar) Utilizar Microsoft.Identity.Web
Suporte ao idioma Vários idiomas (Python, Node.js, Go, Java etc.) .NET somente
Modelo de Implantação Contêineres (Kubernetes, Docker, AKS) Qualquer modelo de implantação
Padrões de identidade Padrões consistentes em todos os serviços Integração profunda da estrutura de .NET
Identidade do agente Disponível em todos os idiomas com suporte .NET somente
Validação de token Disponível em todos os idiomas com suporte .NET somente
Modelo de segurança Segredos e tokens isolados do código-fonte do aplicativo Integrado ao aplicativo
Desempenho Salto de rede adicional necessário Chamadas diretas em processo
Integração do Framework Integração da API HTTP Integração de .NET nativa
Conteinerização Projetado para ambientes em contêineres Funciona com ou sem contêineres

Consulte Comparison com Microsoft. Identity.Web para obter diretrizes detalhadas sobre como escolher entre as duas abordagens.

Validação de token

O SDK de Autenticação Microsoft Entra ID (sidecar) valida tokens de acesso e tokens de ID emitidos por Microsoft Entra ID, verificando suas assinaturas em relação às chaves públicas do Microsoft Entra ID, verificando os tempos de expiração e garantindo que os tokens sejam destinados ao seu aplicativo. Depois de validado, você pode extrair declarações, funções e escopos do usuário para tomar decisões de autorização informadas dentro da lógica do aplicativo.

Aquisição de token/criação de cabeçalho de autorização

  • Fluxo On-Behalf-Of OAuth 2.0 – Delegar o contexto do usuário para as APIs de destino
  • Credenciais do cliente – autenticação de aplicativo para aplicativo
  • Managed Identity – Autenticação de serviço de Azure nativa
  • Identidade do Agente – Padrões de agente autônomos ou delegados

Chamadas à API downstream

  • Adquirir e anexar tokens automaticamente
  • Sobrescrita de solicitações opcionais (escopos, método, cabeçalhos)
  • Suporte a Solicitações HTTP assinadas (PoP/SHR)

Cenários e tutoriais

Os guias a seguir são tutoriais passo a passo abrangentes com exemplos práticos de código que demonstram como integrar o SDK de Autenticação Microsoft Entra ID (sidecar) em seus aplicativos. Cada cenário fornece exemplos completos de solicitação/resposta, snippets de código e padrões de implementação personalizados para diferentes linguagens e estruturas de programação.

Scenario Description
Validar cabeçalho de autorização Extrair declarações de tokens de portador para controle de acesso e middleware de autorização personalizado
Obter cabeçalho de autorização Adquirir tokens para chamar APIs downstream com segurança
Chamar API a Jusante Fazer chamadas HTTP para APIs protegidas com anexação automática de token para microsserviços em diversas linguagens de programação
Usar Identidade Gerenciada Autenticar como um serviço do Azure para acessar o Microsoft Graph ou outros serviços do Azure
Implementar fluxo OBO de longa duração Gerenciar o contexto do usuário em operações estendidas com atualização de token e delegação On-Behalf-Of
Usar solicitações HTTP assinadas Implementar a segurança de prova de posse com tokens PoP
Agente de Processamento em Lote Autônomo Processar trabalhos em lotes com identidade de agente autônomo
Integrar com TypeScript Use o SDK de Autenticação do Microsoft Entra ID (sidecar) em aplicativos Node.js/Express/NestJS
Integrar do Python Usar o SDK de autenticação do Microsoft Entra ID (sidecar) em aplicativos Flask/FastAPI/Django

Padrões de arquitetura

Um fluxo típico em que seu cliente chama uma Web API, e a API delega operações de identidade ao SDK de autenticação do Microsoft Entra ID (sidecar) por meio de endpoints HTTP. O SDK valida tokens de entrada usando o /Validate ponto de extremidade, adquire tokens usando /AuthorizationHeader e /AuthorizationHeaderUnauthenticated, e pode invocar diretamente APIs downstream usando /DownstreamApi e /DownstreamApiUnauthenticated.

Ele interage com Microsoft Entra ID para emissão de token e recuperação de metadados do Open ID Connect, com a arquitetura demonstrada no seguinte snippet de código:

%%{init: {
  "theme": "base",
  "themeVariables": {
    "background": "#121212",
    "primaryColor": "#1E1E1E",
    "primaryBorderColor": "#FFFFFF",
    "primaryTextColor": "#FFFFFF",
    "textColor": "#FFFFFF",
    "lineColor": "#FFFFFF",
    "labelBackground": "#000000"
  }
}}%%
flowchart LR
    classDef dnode fill:#1E1E1E,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
    linkStyle default stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF

    client[Client Application]:::dnode -->| Bearer over HTTP | webapi[Web API]:::dnode
    subgraph Pod / Host
        webapi -->|"/Validate<br/>/AuthorizationHeader/{name}<br/>/DownstreamApi/{name}"| sidecar[Microsoft Entra ID Auth SDK (sidecar)]:::dnode
    end
    sidecar -->|Token validation & acquisition| entra[Microsoft Entra ID]:::dnode

Suporte e recursos

Os recursos a seguir fornecem diretrizes abrangentes e ajudam a solucionar problemas e respostas a perguntas comuns.

Resource Description
Identidades do agente Saiba mais sobre padrões de agente autônomo e delegado para cenários avançados
Referência de API Completar a documentação do endpoint com formatos de solicitação e resposta, parâmetros de consulta e códigos de erro
Solucionando problemas Problemas comuns e soluções passo a passo para problemas de implantação e runtime
Perguntas Freqüentes Perguntas frequentes sobre tópicos de configuração, segurança e integração

Para obter ajuda adicional: