Office 365

Microsoft Graph como centro de datos de Microsoft 365

¿Cómo puedo acceder a los datos que tenemos en Microsoft 365? ¿Cómo puedo extender la plataforma para crear o integrar con mis procesos de negocio? Microsoft Graph es la respuesta como API unificada de acceso a las diferentes cargas de trabajo de Microsoft 365.

¿Qué es Microsoft Graph?

Microsoft Graph es la puerta de entrada a la información que existe en los tenants de Microsoft 365.

Expone diferentes APIs, distribuidas en diferentes endpoints, que nos dan acceso a los diferentes aspectos y datos de la plataforma.

Estas APIs, implementan una interfaz OData, lo que permite hacer llamadas usando REST a cualquiera de los espacios de nombres que la componen.

Podemos añadir nuestros datos a la plataforma, usando los conectores, para poder usar las capacidades de búsqueda de Microsoft Search.

Con Data Connect podemos descargar los datos de nuestro tenant para realizar análisis o aplicar algoritmos de inteligencia artificial.

¿Qué datos tienen los endpoint de Graph?

En realidad, todos (o casi todos) los datos de Microsoft 365 tienen un espacio de nombre en Microsoft Graph.

Desde Graph, podemos interactuar con los siguientes servicios:

  • Servicios base de Microsoft 365: Bookings, Calendario, Delve, Excel, eDiscovery, Microsoft Search, OneDrive, OneNote, Outlook, Personas o contactos de Outlook, Planner, SharePoint, Teams, To Do, Workplace Analytics, etc.
  • Servicios de Seguridad, Azure Active Directory, Identity Manager, Intune, etc.
  • Servicios de Windows 10 como actividades, dispositivos, notificaciones, Universal Print, etc.
  • Dynamics 365 Business Central

Estos servicios están agrupados en los siguientes espacios de nombres:

  • Usuarios y Grupos, como core de Microsoft Graph.
  • Gestión de identidades y accesos.
  • Productividad basada en Outlook, OneDrive, SharePoint, OneNote, Excel, To Do.
  • Colaboración en base a Microsoft Teams, SharePoint, Planner.
  • Personas e inteligencia en el lugar de trabajo de Azure AD, Outlook, SharePoint, Perfil del usuario, Delve, OneDrive, MyAnalytics.
  • Gestión de dispositivos de Universal Print, Intune y Windows Update para Empresas.
  • Seguridad de Azure AD, Windows Defender, …
  • Experiencias entre dispositivos
  • Notificaciones de usuario
  • Informes de uso de Microsoft Teams, OneDrive, Outlook, SharePoint, Yammer.
  • Educación que da soporte a los tenants educativos y sus escenarios particulares.
  • Aplicaciones de negocio con Booking y Dynamics 365 Business Central.

¿Qué pasa con el resto de las aplicaciones o servicios de Microsoft 365 que no están en este listado? El equipo de Graph está trabajando para incorporar más funcionalidades y servicios, de hecho, os recomiendo echar un vistazo al roadmap para conocer sus planes.

Casos de uso

Microsoft Graph nos permite implementar diferentes escenarios de uso para añadir o extender nuestros procesos de negocio a la plataforma.

  • Asistentes de calendarios para mejorar la experiencia cuando queremos generar una reunión.
  • Añadir tareas a To Do o Planner a partir de datos o aplicaciones de negocio
  • Enviar una notificación a un usuario
  • Crear o subir documentos a OneDrive o SharePoint
  • Analizar el comportamiento del uso de Office 365 para ayudar en la adopción, como hemos implementado en TeamsChamp.
  • Digitalizar nuestro proceso de Onboarding integrado con nuestro sistema de RRHH, creando actividades para el nuevo empleado y conectándolo a la información relevante del proceso.

Podría seguir detallando casos de uso, pero, casi mejor , os recomiendo una lectura rápida a los diferentes endpoints y pensar cómo se puede mejorar o automatizar los procesos de vuestra empresa usando Graph.

Seguridad

En una API como Microsoft Graph la seguridad es muy relevante y Microsoft lo está teniendo en cuenta con la versión actual y con los cambios que van a venir y que podemos ver en el roadmap.

El modelo de autenticación y autorización está basado en tokens de acceso que se obtienen en el servicio de identidades de Azure AD de nuestro tenant.

Normalmente, un administrador tiene que crear la aplicación en el Azure AD del tenant y darle permisos a los diferentes endpoints de Microsoft Graph que queremos usar, aunque tenemos escenarios multi-tenant que conllevan un consentimiento de autorización de usuario y/o de administrador.

Tipos de permisos

Los permisos pueden ser de tipo Delegado o de Aplicación. Un permiso delegado requiere que un usuario se autentique de forma interactiva, mientras que el permiso de aplicación no requiere de un usuario presente en el proceso de autenticación.

Hay que tener en cuenta que no todos los endpoint de Microsoft Graph soportan ambos permisos, por ejemplo, la API de presencia sólo tiene permisos de tipo Delegado por lo que no podemos tener un proceso en background, autenticándose con permisos de aplicación, para obtener la presencia de los usuarios.

Permisos Efectivos

Importante tener en cuenta los permisos efectivos de cada tipo de permiso. En el caso de delegado, las llamadas a las API tendrán los permisos de acceso de la aplicación más los permisos del usuario que se ha autenticado, una intersección de permisos.

Sin embargo, con los permisos de Aplicación tenemos acceso a todos los recursos sin restricción, un tema bastante delicado ya que, si concedemos permisos de aplicación, por ejemplo, para leer los datos de SharePoint tendremos acceso a todas las colecciones de sitio de SharePoint.

Microsoft ya está trabajando para tener en próximas versiones permisos más específicos basados en «Resource-specific consent» y así, poder segmentar el área de acceso de las aplicaciones y los recursos.

Cada endpoint de Graph tiene un conjunto de permisos diferentes de tipo Delegado y de tipo Aplicación. Por ejemplo, podemos dar un permiso delegado de para leer el Calendario del usuario (Calendars.Read) o podemos dar un permiso de aplicación para leer y escribir en cualquier Calendario del Tenant (Calendars.ReadWrite).

¿Cómo empezar?

Son muchos los casos de uso donde Microsoft Graph aporta valor y ayuda en la implementación. Un buen inicio para Microsoft Graph es probar los diferentes endpoints en Graph Explorer, una herramienta de exploración y pruebas.

El siguiente paso es revisar la seguridad y asegurarnos que podemos usar permisos delegados o que tenemos los permisos de aplicación adecuados para nuestro caso de uso.

A partir de ese momento: imaginación al poder para transformar nuestra organización con la ayuda de Microsoft Graph. Nosotros la usamos en todos los proyectos de Microsoft 365 🙂

Compartir
Publicado por
Alberto Diaz Martin

Este sitio web utiliza cookies para que tengas la mejor experiencia de usuario. Si continuas navegando, estás dando tu consentimiento para aceptar las cookies y también nuestra política de cookies (esperemos que no te empaches con tanta cookie 😊)