Práticas recomendadas de desenvolvimento de gerenciamento de acesso e identidade Zero Trust
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 Zero Trust com gerenciamento de identidade e acesso (IAM).
A estrutura de segurança Zero Trust usa os princípios de verificação explícita, acesso menos privilegiado e presunção de violação. Proteja usuários e dados enquanto permite cenários comuns, como acesso a aplicativos de fora do perímetro da rede. Reduza a dependência da confiança implícita para 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 de aplicativos
Embora a implementação do Zero Trust continue a evoluir, a jornada de cada organização é única e, muitas vezes, começa com a identidade do usuário e do aplicativo. Aqui estão as políticas e os controles que muitas organizações priorizam ao implementar o Zero Trust:
- 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 uma profundidade de acesso ao sistema para adquirir tokens sob o disfarce da identidade de um aplicativo. Em seguida, eles acessam dados confidenciais, se movem 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. As organizações e os clientes avaliam as solicitações de permissão e a confiabilidade do seu aplicativo antes de conceder consentimento. Os administradores de TI estão adotando o princípio da verificação explicitamente, exigindo a verificação do editor. Eles aplicam o princípio do menor privilégio, permitindo apenas o consentimento do usuário para permissões de baixo risco.
- Bloqueio de protocolos e APIs herdados. Os administradores de TI estão bloqueando protocolos de autenticação mais antigos, como "autenticação básica", e exigindo protocolos modernos, como OpenID Connect e OAuth2.
Use bibliotecas de autenticação confiáveis e baseadas 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. As 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 precisar escrever código extra:
- Acesso condicional
- Registo e gestão de dispositivos
- Autenticação sem senha e FIDO2
MSAL e Microsoft Graph são suas melhores escolhas 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.
Registar as suas aplicações no Microsoft Entra ID
Siga as práticas recomendadas de segurança para propriedades de aplicativos no Microsoft Entra ID. O registro do aplicativo no Microsoft Entra ID é fundamental, pois erros de configuração ou 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 use com fluxos implícitos), certificados e segredos, URI de ID de aplicativo e propriedade do aplicativo. Realize avaliações periódicas de segurança e integridade semelhantes às avaliações do Modelo de Ameaça de Segurança para código.
Delegar gerenciamento de identidade e acesso
Desenvolva seu aplicativo para usar tokens para verificação explícita de identidade 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 as credenciais sem derrubar ou reimplantar seu aplicativo. Use um serviço como o Azure Key Vault ou o Azure Managed Identities para delegar o IAM.
Planejar e projetar para acesso com privilégios mínimos
Um princípio fundamental do Zero Trust é 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 seus clientes uma boa documentação dos recursos que seu aplicativo chama.
Sempre forneça o menor privilégio necessário para que seu usuário execute tarefas específicas. Por exemplo, use escopos granulares no Microsoft Graph.
Explore os escopos no Graph Explorer para chamar uma API e examinar as permissões necessárias. Eles são exibidos em 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 Melhorar a segurança com o princípio do menor privilégio para reduzir as superfícies de ataque dos seus aplicativos e o raio de explosão de violação de segurança caso ocorra 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 com escopo adequado para seu aplicativo.
- Armazene-os em cache adequadamente.
- Use-os como pretendido.
- Lide com 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 à Avaliação Contínua de Acesso (CAE)
A Avaliação Contínua de Acesso (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:
- Eliminar ou desativar uma conta de utilizador.
- Habilitando a autenticação multifator (MFA) para um usuário.
- Revogar explicitamente os tokens emitidos por um usuário.
- Detetar 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 o MSAL atualize proativamente o token bem antes de ele expirar.
Definir funções de aplicativo para a TI atribuir a usuários e grupos
As funções do aplicativo ajudam você a implementar o controle de acesso baseado em função em seus aplicativos. Exemplos comuns de funções de aplicativo incluem Administrador, Leitor e Colaborador. O controle de acesso baseado em função permite que seu aplicativo restrinja ações confidenciais a usuários ou grupos com base em suas funções definidas.
Torne-se um editor verificado
Como editor verificado, você verifica sua identidade com sua conta do Microsoft Partner Network e concluiu o processo de verificação estabelecido. Para desenvolvedores de aplicativos multilocatário, ser um editor verificado ajuda a criar confiança com os administradores de TI em locatários de clientes.
Próximos passos
- 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 do aplicativo Zero Trust com o menor privilégio.
- Configure group claims and app roles in 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 e, ao mesmo tempo, aumenta a segurança do aplicativo Zero Trust com o menor privilégio.
- A criação de aplicativos com uma abordagem Zero Trust para identidade 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 Microsoft para criar soluções Zero Trust.
- As responsabilidades do desenvolvedor e administrador para registro, autorização e acesso de aplicativos ajudam você a colaborar melhor com seus profissionais de TI.
- Identidade e tipos de conta suportados para aplicações de inquilino único e multiinquilino explica como pode escolher se a sua aplicação permite apenas utilizadores do seu inquilino Microsoft Entra ID), qualquer inquilino do Microsoft Entra ou utilizadores com contas Microsoft pessoais.
- As práticas recomendadas de autorização ajudam você a implementar os melhores modelos de autorização, permissão e consentimento para seus aplicativos.
- A Proteção de API 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 suas metas de Zero Trust.