Práticas recomendadas de autorização
À medida que você aprende a desenvolver usando princípios de Zero Trust, esse artigo continua em Adquirir autorização para acessar recursos, Desenvolver estratégia de permissões delegadas e Desenvolver estratégia de permissões de aplicativos. Ajuda você, como desenvolvedor, a implementar os melhores modelos de autorização, permissão e consentimento para seus aplicativos.
É possível implementar lógica de autorização em aplicativos ou soluções que exigem controle de acesso. Quando abordagens de autorização dependem de informações sobre uma entidade autenticada, uma aplicativo pode avaliar as informações trocadas durante a autenticação (como as informações fornecidas em um token de segurança). Quando um token de segurança não contém informações, um aplicativo pode fazer chamadas para recursos externos.
Você não precisa incorporar a lógica de autorização inteiramente no seu aplicativo. É possível usar serviços de autorização dedicados para centralizar a implementação e o gerenciamento de autorizações.
Melhores práticas para permissões
Os aplicativos mais amplamente adotados no Microsoft Entra ID seguem as práticas recomendadas de consentimento e autorização. Reveja Melhores práticas para trabalhar com o Microsoft Graph e a Referência de permissões do Microsoft Graph para saber mais sobre como cuidar das suas solicitações de permissão.
Aplique Privilégio mínimo. Solicite apenas as permissões necessárias. Utilize o consentimento incremental para solicitar permissões granulares a tempo. Limite o acesso do usuário com JIT/JEA (Just-In-Time e Just-Enough-Access), políticas adaptáveis baseadas em risco e proteção de dados.
Use o tipo de permissão correto com base em cenários. Evite utilizar permissões delegadas e de aplicativo no mesmo aplicativo. Se você estiver construindo um aplicativo interativo em que um usuário conectado está presente, seu aplicativo deve usar permissões delegadas. Se, no entanto, seu aplicativo é executado sem um usuário conectado, como um serviço ou daemon de segundo plano, seu aplicativo deve usar permissões de aplicativo.
Forneça termos de serviço e políticas de privacidade. A experiência de consentimento do usuário apresenta seus termos de serviço e declaração de privacidade aos usuários para ajudá-los a saber que podem confiar no seu aplicativo. Eles são especialmente críticos para aplicativos multilocatários voltados para o usuário.
Quando solicitar permissão
Algumas permissões exigem que um administrador dê consentimento a um locatário. Eles podem utilizar o ponto de extremidade de consentimento do administrador para conceder permissões a um locatário inteiro. Há três modelos que você pode seguir para solicitar permissões ou escopos.
Implemente o consentimento dinâmico do usuário na entrada ou na primeira solicitação de token de acesso. O consentimento dinâmico do usuário não requer nada no registro do aplicativo. É possível definir os escopos necessários sob determinadas condições (por exemplo, quando você entra em um usuário pela primeira vez). Depois de solicitar essa permissão e receber o consentimento, você não precisará solicitar permissão. No entanto, se você não receber o consentimento dinâmico do usuário na entrada ou no primeiro acesso, ele passará pela experiência de permissão.
Solicite o consentimento incremental do usuário, conforme necessário. Com o consentimento incremental combinado com o consentimento dinâmico do usuário, você não precisa solicitar todas as permissões de uma só vez. Você pode solicitar algumas permissões e, à medida que o usuário passa para diferentes funcionalidades em seu aplicativo, você solicita mais consentimento. Essa abordagem pode aumentar o nível de conforto do usuário à medida que ele concede permissões incrementalmente ao seu aplicativo. Por exemplo, se seu aplicativo solicitar acesso ao OneDrive, poderá levantar suspeitas se você também solicitar acesso ao Calendário. Em vez disso, peça posteriormente ao usuário para adicionar lembretes do Calendário ao OneDrive.
Use o escopo
/.default
. O escopo/.default
imita a antiga experiência padrão que analisava o que era colocado no registro do aplicativo, descobria quais consentimentos eram necessários e depois solicitava todos os consentimentos ainda não dados. Ele não exige que você inclua as permissões necessárias no seu código, pois elas estão no registro do aplicativo.
Torne-se um editor verificado
Os clientes da Microsoft às vezes descrevem dificuldade em decidir quando permitir que um aplicativo acesse a plataforma de identidade da Microsoft entrando em um usuário ou chamando uma API. Ao adotar os princípios da Confiança Zero, eles querem:
- Maior visibilidade e controle.
- Decisões mais proativas e reativas mais fáceis.
- Sistemas que mantêm os dados seguros e reduzem a carga de decisão.
- Adoção acelerada de aplicativos para desenvolvedores confiáveis.
- Consentimento restrito para aplicativos com permissões de baixo risco verificadas pelo editor.
Embora o acesso a dados em APIs como o Microsoft Graph permita que você crie aplicativos avançados, sua organização ou seu cliente avaliam as permissões que seu aplicativo solicita, juntamente com a confiabilidade do seu aplicativo.
Tornar-se um Fornecedor verificado pela Microsoft ajuda você a oferecer aos seus clientes uma experiência mais fácil na aceitação das suas solicitações de aplicativos. Quando um aplicativo vem de um editor verificado, os usuários, os profissionais de TI e os clientes sabem que ele vem de alguém com quem a Microsoft tem um relacionamento comercial. Uma marca de seleção azul aparece ao lado do nome do fornecedor (componente nº 5 no exemplo de solicitação de consentimento de Permissões solicitadas abaixo. Consulte a tabela de componentes em Experiência de consentimento do aplicativo Microsoft Entra). O usuário pode selecionar o editor verificado no prompt de consentimento para exibir mais informações.
Quando você é um editor verificado, os usuários e profissionais de TI ganham confiança no seu aplicativo porque você é uma entidade verificada. A verificação do editor fornece identidade visual aprimorada para seu aplicativo e maior transparência, risco reduzido e adoção empresarial mais suave para seus clientes.
Próximas etapas
- Desenvolver estratégia de permissões delegadas ajuda você a implementar a melhor abordagem para gerenciar permissões em seu aplicativo e desenvolver usando princípios de Zero Trust.
- Desenvolver estratégia de permissões de aplicativos ajuda você a decidir sobre sua abordagem de permissões de aplicativos para gerenciamento de credenciais.
- Utilize as práticas recomendadas de desenvolvimento de gerenciamento de identidades e acesso com Confiança Zero no seu ciclo de vida de desenvolvimento de aplicativos para criar aplicativos seguros.
- Práticas recomendadas de segurança para propriedades de aplicativos descreve a URI de redirecionamento, tokens de acesso, certificados e segredos, URI de ID do aplicativo e propriedade do aplicativo.
- Personalizar tokens descreve as informações que você pode receber nos tokens do Microsoft Entra. Esse artigo explica como personalizar tokens para melhorar a flexibilidade e o controle, aumentando a segurança de confiança zero do aplicativo com privilégios mínimos.
- Configurar declarações de grupo e funções de aplicativo em tokens mostra como configurar seus aplicativos com definições de função de aplicativo e atribuir grupos de segurança a funções de aplicativo. Esses métodos ajudam a melhorar a flexibilidade e o controle, ao mesmo tempo que aumentam a segurança de confiança zero do aplicativo com menos privilégios.
- 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.
- Adquirir autorização para acessar recursos ajuda você a entender a melhor forma de garantir Zero Trust ao adquirir permissões de acesso a recursos para seu aplicativo.