Melhores práticas de desenvolvimento do gerenciamento de identidades e acesso com Confiança Zero

Este artigo ajuda você, como desenvolvedor, a entender as práticas recomendadas de gerenciamento de identidade e acesso para o ciclo de vida de desenvolvimento de aplicativos. Você começa a desenvolver aplicativos seguros e compatíveis com a Confiança Zero usando o gerenciamento de identidade e acesso (IAM).

A estrutura de segurança de Confiança Zero usa os princípios de verificação explícita, acesso com privilégios mínimos e suposição de violação. Proteja usuários e dados, permitindo cenários comuns, como acesso a aplicativos de fora do perímetro da rede. Reduza a dependência da confiança implícita nas interações por trás de um perímetro de rede seguro que pode se tornar vulnerável a ataques de segurança.

Embora a implementação do Confiança Zero continue a evoluir, a jornada de cada organização é única e geralmente começa com a identidade do usuário e do aplicativo. Aqui estão as políticas e controles que muitas organizações priorizam ao implantar o Confiança Zero:

  1. Implemente políticas de higiene e rotação de credenciais para aplicativos e serviços. Quando os invasores comprometem segredos como certificados ou senhas, eles podem obter acesso profundo ao sistema para adquirir tokens sob o disfarce da identidade de um aplicativo. Em seguida, eles acessam dados confidenciais, movem-se lateralmente e estabelecem persistência.
  2. Implemente a autenticação forte. Os administradores de TI estão configurando políticas que exigem autenticação multifator e dispositivos FIDO2 sem senha.
  3. Restrinja o consentimento do usuário a aplicativos com permissões de baixo risco para aplicativos de editor verificados. O acesso a dados em APIs como o Microsoft Graph permite que você crie aplicativos avançados. Organizações e clientes avaliam as solicitações de permissão e a confiabilidade do seu aplicativo antes de conceder o consentimento. Os administradores de TI estão adotando o princípio de verificar explicitamente, exigindo a verificação do editor. Eles aplicam o princípio do privilégio mínimo, permitindo apenas o consentimento do usuário para permissões de baixo risco.
  4. Bloqueando protocolos herdados e APIs. Os administradores de TI estão bloqueando protocolos de autenticação mais antigos, como a "Autenticação básica" e a exigência de protocolos modernos, como OpenID Connect e OAuth2.

Use bibliotecas de autenticação confiável baseada em padrões

Desenvolva seu aplicativo com padrões e bibliotecas conhecidos e aceitos para aumentar a portabilidade e a segurança do aplicativo. As bibliotecas de autenticação confiáveis e baseadas em padrões permanecem atualizadas para que seus aplicativos respondam às tecnologias e ameaças mais recentes. Metodologias de desenvolvimento baseadas em padrões fornecem uma visão geral dos padrões suportados e seus benefícios.

Em vez de usar protocolos com vulnerabilidades conhecidas e documentação extensa, desenvolva seu aplicativo com bibliotecas como Microsoft Authentication Library (MSAL), Microsoft Identity Web Authentication Library e Azure Software Developer Kits (SDK). MSAL e Software Developer Kits (SDK) permitem que você use esses recursos sem a necessidade de escrever código extra:

  • Acesso condicional
  • Registro e gerenciamento de dispositivos
  • Sem senha e autenticação FIDO2

A MSAL e o Microsoft Graph são suas melhores opções para desenvolver aplicativos Microsoft Entra. Os desenvolvedores MSAL garantem a conformidade com os protocolos. A Microsoft otimiza o MSAL para eficiência ao trabalhar diretamente com o Microsoft Entra ID.

Registrar seu aplicativo no Microsoft Entra ID

Siga as Práticas recomendadas de segurança das propriedades dos aplicativos na ID do Microsoft Entra. O registro do aplicativo no Microsoft Entra ID é crítico porque a configuração incorreta ou o lapso na higiene do aplicativo podem resultar em tempo de inatividade ou comprometimento.

As propriedades do aplicativo que melhoram a segurança incluem URI de redirecionamento, tokens de acesso (nunca usados com fluxos implícitos), certificados e segredos, URI de ID do aplicativo e propriedade do aplicativo. Realize avaliações periódicas de segurança e integridade semelhantes às avaliações do Modelo de Ameaça à Segurança para código.

Delegar o gerenciamento de identidades e acesso

Desenvolva seu aplicativo para utilizar tokens para verificação de identidade explícita e controle de acesso que seus clientes definem e gerenciam. A Microsoft desaconselha o desenvolvimento de seus próprios sistemas de gerenciamento de nome de usuário e senha.

Mantenha as credenciais fora do seu código para que os administradores de TI possam girar credenciais sem derrubar ou reimplantar seu aplicativo. Utilize um serviço como o Azure Key Vault ou Identidades Gerenciadas do Azure para delegar o IAM.

Planejar e projetar o acesso privilegiado

Um princípio fundamental do Confiança Zero é o acesso com privilégios mínimos. Desenvolva e documente suficientemente seu aplicativo para que seus clientes possam configurar com êxito políticas de privilégios mínimos. Ao oferecer suporte a tokens e APIs, forneça aos clientes uma boa documentação dos recursos que seu aplicativo chama.

Sempre forneça o privilégio mínimo necessário para que o usuário execute tarefas específicas. Por exemplo, use escopos granulares no Microsoft Graph.

Explore os escopos no Explorador de gráficos para chamar uma API e examinar as permissões necessárias. Eles são exibidos na ordem do privilégio mais baixo para o mais alto. Escolher o menor privilégio possível garante que seu aplicativo seja menos vulnerável a ataques.

Siga as orientações em Reforçar a segurança com o princípio de privilégios mínimos para reduzir as superfícies de ataque dos aplicativos e o raio de explosão de violação de segurança em caso de comprometimento.

Gerencie tokens com segurança

Quando seu aplicativo solicitar tokens do Microsoft Entra ID, gerencie-os com segurança:

  • Valide se eles estão corretamente definidos para o seu aplicativo.
  • Armazene-os em cache adequadamente.
  • Use-os como pretendido.
  • Manipule problemas de token verificando classes de erro e codificando respostas apropriadas.
  • Em vez de ler diretamente os tokens de acesso, exiba seus escopos e detalhes em respostas de token.

Suporte à CAE (Avaliação contínua de acesso)

A Avaliação de Acesso Contínuo (CAE) permite que o Microsoft Graph negue rapidamente o acesso em resposta a eventos de segurança. Os exemplos incluem estas atividades de administrador de locatário:

  • Excluir ou desabilitar uma conta de usuário.
  • Habilitando a autenticação multifator (MFA) para um usuário.
  • Revogar explicitamente os tokens emitidos por um usuário.
  • Detectando um usuário movendo-se para o status de alto risco.

Quando você oferece suporte a CAE, os tokens que o Microsoft Entra ID emite para chamar o Microsoft Graph são válidos por 24 horas em vez dos 60 a 90 minutos padrão. O CAE adiciona resiliência ao seu aplicativo, permitindo que a MSAL atualize proativamente o token bem antes que ele expire.

Defina funções de aplicativo para a TI atribuir a usuários e grupos

Funções de aplicativo ajudam você a implementar o controle de acesso baseado em função nos aplicativos. Exemplos comuns de funções de aplicativo incluem Administrador, Leitor e Colaborador. O controle de acesso baseado em função permite que o aplicativo restrinja ações confidenciais a usuários ou grupos com base em suas funções definidas.

Tornar-se um editor verificado

Como editor verificado, você verifica sua identidade com sua conta do Microsoft Partner Network e conclui o processo de verificação estabelecido. Para desenvolvedores de aplicativos multilocatários, ser um editor verificado ajuda a construir a confiança dos administradores de TI nos locatários dos clientes.

Próximas etapas