Aplicar práticas recomendadas ao Microsoft Graph

Concluído

Esta unidade descreve as práticas recomendadas que você pode aplicar para aproveitar ao máximo o Microsoft Graph e tornar seu aplicativo mais confiável para os usuários finais.

Autenticação

Para acessar os dados no Microsoft Graph, seu aplicativo precisa adquirir um token de acesso OAuth 2.0 e apresentá-lo ao Microsoft Graph em um dos seguintes métodos:

  • O cabeçalho da solicitação de autorização HTTP, como um token de portador
  • O construtor do cliente gráfico, ao usar uma biblioteca de cliente do Microsoft Graph

Use a API da Biblioteca de Autenticação da Microsoft, MSAL para adquirir o token de acesso ao Microsoft Graph.

Aplique as seguintes práticas recomendadas para consentimento e autorização em seu aplicativo:

  • Use o privilégio mínimo. Solicite apenas as permissões necessárias e somente quando precisar delas. Para as APIs, suas chamadas de aplicativo verificam a seção de permissões nos tópicos do método. Por exemplo, consulte a criação de um usuário e escolha as permissões menos privilegiadas.

  • Use o tipo de permissão correto com base em cenários. 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.

    Atenção

    O uso de permissões de aplicativo para cenários interativos pode colocar seu aplicativo em risco de conformidade e segurança. Certifique-se de verificar os privilégios do usuário para garantir que ele não tenha acesso indesejado às informações ou esteja contornando as políticas configuradas por um administrador.

  • Considere a experiência do usuário final e do administrador. Afeta diretamente as experiências do usuário final e do administrador. Por exemplo:

    • Considere quem está consentindo com seu aplicativo, usuários finais ou administradores, e configure seu aplicativo para solicitar permissões apropriadamente.

    • Certifique-se de entender a diferença entre consentimento estático, dinâmico e incremental.

  • Considere aplicativos multilocatário. Espere que os clientes tenham vários controles de aplicativo e consentimento em diferentes estados. Por exemplo:

    • Os administradores de locatários podem desabilitar a capacidade de os usuários finais consentirem com aplicativos. Neste caso, um administrador teria de dar o seu consentimento em nome dos seus utilizadores.

    • Os administradores de locatários podem definir políticas de autorização personalizadas, como impedir que os usuários leiam os perfis de outros usuários ou limitar a criação de grupos de autoatendimento a um conjunto limitado de usuários. Nesse caso, seu aplicativo deve esperar lidar com a resposta de erro 403 ao agir em nome de um usuário.

Lide com as respostas de forma eficaz

Dependendo das solicitações feitas ao Microsoft Graph, seus aplicativos devem estar preparados para lidar com diferentes tipos de respostas. A seguir estão algumas das práticas mais importantes a serem seguidas para garantir que seu aplicativo se comporte de forma confiável e previsível para seus usuários finais. Por exemplo:

  • Paginação: Ao consultar coleções de recursos, você deve esperar que o Microsoft Graph retorne o conjunto de resultados em várias páginas, devido aos limites de tamanho de página do lado do servidor. Seu aplicativo deve sempre lidar com a possibilidade de que as respostas sejam paginadas por natureza e usar a @odata.nextLink propriedade para obter o próximo conjunto paginado de resultados, até que todas as páginas do conjunto de resultados sejam lidas. A página final não inclui uma @odata.nextLink propriedade. Para obter mais informações, visite paginação.

  • Enumerações evolutivas: Adicionar membros a enumerações existentes pode quebrar aplicativos que já usam esses enums. Enums evolutivos são um mecanismo que a API do Microsoft Graph usa para adicionar novos membros a enumerações existentes sem causar uma alteração de quebra para aplicativos. Por padrão, uma operação GET retorna apenas membros conhecidos para propriedades de tipos de enum evolutivos e seu aplicativo precisa lidar apenas com os membros conhecidos. Se você projetar seu aplicativo para lidar com membros desconhecidos também, poderá optar por receber esses membros usando um cabeçalho de solicitação HTTP Prefer .

Armazenamento de dados localmente

O ideal é que seu aplicativo faça chamadas para o Microsoft Graph para recuperar dados em tempo real, conforme necessário. Você só deve armazenar em cache ou armazenar dados localmente necessários para um cenário específico. Se esse caso de uso for coberto por seus termos de uso e política de privacidade e não violar os Termos de Uso das APIs da Microsoft, seu aplicativo também deverá implementar políticas de retenção e exclusão adequadas.