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.
As tendências de segurança do setor afetam os requisitos dos aplicativos
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:
- 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.
- Implemente a autenticação forte. Os administradores de TI estão configurando políticas que exigem autenticação multifator e dispositivos FIDO2 sem senha.
- 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.
- 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
- Personalizar tokens descreve as informações que você pode receber nos tokens do Microsoft Entra. Saiba como personalizar tokens para melhorar a flexibilidade e o controle e, ao mesmo tempo, aumentar a segurança Confiança Zero do aplicativo com o mínimo de privilégio.
- Configurar declarações de grupo e funções de aplicativo em tokens descreve como configurar seus aplicativos com definições de função de aplicativo e atribuir grupos de segurança a funções de aplicativo. Essa abordagem melhora a flexibilidade e o controle, ao mesmo tempo em que aumenta a segurança Confiança Zero do aplicativo com o mínimo de privilégio.
- O artigo Criar aplicativos com uma abordagem de identidade de Confiança Zero fornece uma visão geral das permissões e das práticas recomendadas de acesso.
- O guia de Integrações de identidade explica como integrar soluções de segurança com produtos da Microsoft para criar soluções de Confiança Zero.
- O artigo Responsabilidades de desenvolvedores e administradores para registro, autorização e acesso de aplicativos ajudam você a colaborar melhor com seus profissionais de TI.
- Identidade e tipos de conta com suporte para aplicativos de locatário único e multilocatário explica como você pode escolher se seu aplicativo permite apenas usuários do seu locatário Microsoft Entra ID), qualquer locatário do Microsoft Entra ou usuários com contas pessoais da Microsoft.
- O artigo Práticas recomendadas de autorização ajuda você a implementar os melhores modelos de autorização, permissão e consentimento para aplicativos.
- O artigo Proteção de APIs descreve as práticas recomendadas para proteger sua API por meio de registro, definição de permissões e consentimento e imposição de acesso para atingir as metas de Confiança Zero.