Share via


Práticas recomendadas de autorização

À medida que você aprende a desenvolver usando os princípios Zero Trust, este artigo continua em Adquirir autorização para acessar recursos, Desenvolver estratégia de permissões delegadas e Desenvolver estratégia de permissões de aplicativo. Ele ajuda você, como desenvolvedor, a implementar os melhores modelos de autorização, permissão e consentimento para seus aplicativos.

Você pode implementar a lógica de autorização em aplicativos ou soluções que exigem controle de acesso. Quando as abordagens de autorização dependem de informações sobre uma entidade autenticada, um aplicativo pode avaliar as informações que são trocadas durante a autenticação (por exemplo, informações fornecidas dentro de 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 em seu aplicativo. Você pode usar serviços de autorização dedicados para centralizar a implementação e o gerenciamento de autorizações.

Práticas recomendadas para permissões

Os aplicativos mais amplamente adotados no Microsoft Entra ID seguem as práticas recomendadas de consentimento e autorização. Consulte as práticas recomendadas para trabalhar com o Microsoft Graph e a referência de permissões do Microsoft Graph para saber como ser cuidadoso com suas solicitações de permissão.

  • Aplique o privilégio mínimo. Solicite apenas as permissões necessárias. Use o consentimento incremental para solicitar permissões granulares na hora certa. Limite o acesso do usuário com Just-In-Time e Just-Enough-Access (JIT/JEA), políticas adaptativas baseadas em risco e proteção de dados.

  • Use o tipo de permissão correto com base em cenários. Evite usar permissões de aplicativo e delegadas no mesmo aplicativo. Se você estiver criando um aplicativo interativo onde um usuário conectado está presente, seu aplicativo deve usar permissões delegadas. Se, no entanto, seu aplicativo for executado sem um usuário conectado, como um serviço em segundo plano ou daemon, seu aplicativo deverá usar permissões de aplicativo.

  • Fornecer termos de serviço e declarações 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 em 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 conceda consentimento dentro de um locatário. Eles podem usar o ponto de extremidade de consentimento de 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 no login ou na solicitação de token de primeiro acesso. O consentimento dinâmico do usuário não requer nada no registro do aplicativo. Você pode 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 consentimento, você não precisará solicitar permissão. No entanto, se você não receber o consentimento dinâmico do usuário no login 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, em seguida, à medida que o usuário se move 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 incrementais ao seu aplicativo. Por exemplo, se o seu aplicativo solicitar acesso ao OneDrive, isso poderá levantar suspeitas se você também estiver solicitando acesso ao Calendário. Em vez disso, peça mais tarde ao usuário para adicionar lembretes do Calendário no OneDrive.

  • Use o /.default escopo. O /.default escopo efetivamente imita a antiga experiência padrão que analisava o que você colocava no registro do aplicativo, descobria quais consentimentos você precisava e, em seguida, pedia todos os consentimentos ainda não concedidos. Ele não exige que você inclua as permissões necessárias em 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 do Zero Trust, eles querem:

  • Maior visibilidade e controlo.
  • Decisões reativas mais proativas e 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 a aplicativos com permissões de baixo risco que são verificados 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 Microsoft Verified Publisher ajuda você a oferecer aos seus clientes uma experiência mais fácil de aceitar suas solicitações de aplicativo. Quando um aplicativo vem de um editor verificado, os usuários, profissionais de TI e 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 editor (componente #5 no exemplo de prompt 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.

A captura de tela da caixa de diálogo Permissões solicitadas mostra os blocos de construção do componente conforme descrito no artigo de experiência de consentimento do aplicativo Microsoft Entra vinculado.

Quando você é um editor verificado, os usuários e profissionais de TI ganham confiança em seu aplicativo porque você é uma entidade verificada. A verificação do editor fornece uma identidade visual aprimorada para seu aplicativo e maior transparência, riscos reduzidos e adoção empresarial mais suave para seus clientes.

Próximos passos

  • Desenvolver a estratégia de permissões delegadas ajuda você a implementar a melhor abordagem para gerenciar permissões em seu aplicativo e desenvolver usando os princípios Zero Trust.
  • Desenvolver a estratégia de permissões de aplicativo ajuda você a decidir sobre a abordagem de permissões de aplicativo para o gerenciamento de credenciais.
  • Use as práticas recomendadas de desenvolvimento de gerenciamento de acesso e identidade Zero Trust em seu ciclo de vida de desenvolvimento de aplicativos para criar aplicativos seguros.
  • As práticas recomendadas de segurança para propriedades de aplicativos descrevem URI de redirecionamento, tokens de acesso, certificados e segredos, URI de ID de aplicativo e propriedade do aplicativo.
  • Personalizar tokens descreve as informações que você pode receber nos tokens do Microsoft Entra. Ele explica como personalizar tokens para melhorar a flexibilidade e o controle e, ao mesmo tempo, aumentar a segurança de confiança zero do aplicativo com o menor privilégio.
  • 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 e, ao mesmo tempo, aumentam a segurança de confiança zero do aplicativo com o menor privilégio.
  • 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.
  • Adquirir autorização para acessar recursos ajuda você a entender a melhor forma de garantir o Zero Trust ao adquirir permissões de acesso a recursos para seu aplicativo.