Aplicación de procedimientos recomendados a Microsoft Graph

Completado

En esta unidad, se describen los procedimientos recomendados que puede aplicar para sacar el máximo partido de Microsoft Graph y hacer que la aplicación sea más confiable para los usuarios finales.

Autenticación

Para acceder a los datos de Microsoft Graph, la aplicación debe adquirir un token de acceso de OAuth 2.0 y presentarlo a Microsoft Graph mediante uno de los métodos siguientes:

  • En el encabezado de la solicitud de autorización HTTP, como token portador.
  • En el constructor de cliente del grafo, cuando se usa una biblioteca cliente de Microsoft Graph.

Use la API de la Biblioteca de autenticación de Microsoft, MSAL, para adquirir el token de acceso para Microsoft Graph.

Aplique los siguientes procedimientos recomendados para obtener el consentimiento y la autorización en la aplicación:

  • Usar el privilegio mínimo. Solicite solo los permisos que sean necesarios y solo cuando los necesite. En el caso de las API, las llamadas a la aplicación comprueban la sección de permisos en los temas del método. Por ejemplo, consulte cómo crear un usuario y elija los permisos con privilegios mínimos.

  • Usar el tipo de permiso correcto en función de los escenarios. Si va a crear una aplicación interactiva en la que haya un usuario con sesión iniciada, la aplicación debe usar permisos delegados. Sin embargo, si la aplicación se ejecuta sin un usuario con sesión iniciada, como un servicio en segundo plano o un demonio, la aplicación debe usar los permisos de aplicación.

    Precaución

    El uso de permisos de aplicación en escenarios interactivos puede hacer peligrar el cumplimiento y la seguridad de la aplicación. Asegúrese de comprobar los privilegios del usuario para garantizar que no tiene acceso no deseado a la información o que está circunnavegando por las directivas configuradas por un administrador.

  • Considerar la experiencia del usuario final y del administrador. Afecta directamente a las experiencias de usuario final y administrador. Por ejemplo:

  • Considerar las aplicaciones multinquilino. Es de esperar clientes que tengan varios controles de aplicación y consentimiento en distintos estados. Por ejemplo:

    • Los administradores de inquilinos pueden deshabilitar la posibilidad de que los usuarios finales den su consentimiento a las aplicaciones. En este caso, un administrador tendría que dar su consentimiento en nombre de sus usuarios.

    • Los administradores de inquilinos pueden establecer directivas de autorización personalizadas, como impedir que los usuarios lean los perfiles de otros usuarios o limitar la creación de grupos de autoservicio a un conjunto limitado de usuarios. En este caso, la aplicación debería esperar controlar la respuesta de error 403 al actuar en nombre de un usuario.

Control eficaz de las respuestas

En función de las solicitudes que realice a Microsoft Graph, las aplicaciones deben estar preparadas para controlar distintos tipos de respuestas. Estos son algunos de los procedimientos más importantes que se deben seguir para asegurarse de que la aplicación se comporta de forma confiable y predecible para los usuarios finales. Por ejemplo:

  • Paginación: Al consultar colecciones de recursos, es de esperar que Microsoft Graph devuelve el conjunto de resultados en varias páginas, debido a los límites de tamaño de página del lado servidor. La aplicación siempre debe controlar la posibilidad de que las respuestas se paginen de forma natural y usar la propiedad @odata.nextLink para obtener el siguiente conjunto de resultados paginado, hasta que se hayan leído todas las páginas del conjunto de resultados. La página final no incluye una propiedad @odata.nextLink. Para más información, consulte paginación.

  • Enumeraciones evolucionables: la adición de miembros a enumeraciones existentes puede interrumpir las aplicaciones que ya usan estas enumeraciones. Las enumeraciones que evolucionan son un mecanismo que usa Microsoft Graph API para agregar nuevos miembros a enumeraciones existentes sin provocar un cambio importante en las aplicaciones. De forma predeterminada, una operación GET devuelve solo miembros conocidos para las propiedades de tipos de enumeración evolucionables y la aplicación solo debe controlar los miembros conocidos. Si diseña la aplicación para controlar también los miembros desconocidos, puede optar por recibir esos miembros mediante un encabezado de solicitud HTTP Prefer.

Almacenamiento local de datos

Lo más conveniente es que la aplicación realice llamadas a Microsoft Graph para recuperar datos en tiempo real según sea necesario. Solo debe almacenar en caché o almacenar datos localmente si es necesario para un escenario específico, y si ese caso de uso está cubierto por los términos de uso y por la directiva de privacidad y no infringe los Términos de uso de las API de Microsoft. La aplicación también debe implementar directivas adecuadas de retención y eliminación.