M365Con 2027 – conferencia online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Dominar los permisos de Microsoft Graph: evitar la trampa del privilegio mínimo

By ·

Cuando empiezas a crear aplicaciones, a escribir scripts de automatización o a integrar herramientas de terceros en tu entorno de Microsoft 365, Microsoft Graph pronto se convierte en…

Automatically translated with AI from the original post. Read the English original

Cover: How Microsoft Graph Connects Microsoft 365 Data and Context

Cuando empiezas a crear aplicaciones, scripts de automatización o a integrar herramientas de terceros en tu entorno de Microsoft 365, Microsoft Graph rápidamente se convierte en tu sistema nervioso central. Conecta los puntos entre Teams, SharePoint, Exchange y Azure Active Directory, ofreciéndote una vista unificada de los datos de tu organización. Sin embargo, un gran poder conlleva una gran responsabilidad arquitectónica. Con demasiada frecuencia, los equipos caen en la trampa de la comodidad y conceden permisos amplios solo para que una aplicación funcione rápidamente. Este atajo puede exponer todo tu inquilino a riesgos de seguridad catastróficos. Hoy vamos a desglosar cómo gestionar los permisos de Microsoft Graph de forma segura, equilibrando la funcionalidad de las aplicaciones con el principio absoluto de privilegio mínimo.

El poder oculto y el riesgo de los permisos de Microsoft Graph

Microsoft Graph actúa como el plano operativo unificado de tu entorno en la nube, sustituyendo un laberinto fragmentado de API heredadas por un único endpoint REST simplificado. Aunque esto facilita enormemente el desarrollo, también concentra el riesgo. Cada identidad de aplicación o entidad de servicio que creas necesita claves específicas para acceder a los datos con los que interactúa. Si esas claves se gestionan mal, todo tu perímetro de seguridad queda comprometido.

El peligro principal está en que la comodidad administrativa suele imponerse a las buenas prácticas de seguridad. Los desarrolladores quieren evitar bloqueos por errores de permisos durante un sprint, así que solicitan ámbitos de alto nivel como Sites.ReadWrite.All o Directory.ReadWrite.All. Aunque esto elimina los obstáculos inmediatos, otorga a la aplicación las llaves del reino. Si esa única aplicación se ve comprometida, un atacante hereda la capacidad de leer o modificar grandes volúmenes de datos corporativos. Entender el delicado equilibrio entre habilitar la innovación y mantener límites de seguridad estrictos es el primer paso hacia una madurez real en la nube.

Entender la diferencia entre acceso delegado y acceso solo de aplicación

Para proteger tu inquilino de Microsoft 365, primero debes dominar los dos modelos de autorización principales que utiliza Microsoft Graph: el acceso delegado y el acceso solo de aplicación (aplicación).

El acceso delegado está diseñado para aplicaciones que se ejecutan en nombre de un usuario que ha iniciado sesión. En este modelo, la aplicación solo puede acceder a lo que el usuario autenticado tiene permiso para ver. Si un usuario no puede ver un sitio concreto de SharePoint, una aplicación que use permisos delegados tampoco podrá verlo en nombre de ese usuario. Este modelo se basa en ámbitos de permisos y requiere que tanto el usuario como la aplicación tengan concedida la autorización.

Por el contrario, el acceso solo de aplicación funciona de forma independiente de cualquier usuario. La aplicación se ejecuta como un demonio en segundo plano, un script programado o un servicio automatizado. Como no hay un contexto de usuario con sesión iniciada que limite los datos, el acceso solo de aplicación se basa en permisos de aplicación (roles de aplicación). Estos roles suelen tener privilegios enormes en todo el inquilino. Proteger los escenarios solo de aplicación requiere una gobernanza rigurosa, revisiones periódicas del uso de las entidades de servicio y un cumplimiento estricto del principio de privilegio mínimo.

La trampa del privilegio mínimo: errores habituales con los permisos

El principio de privilegio mínimo dicta que una aplicación solo debe tener los permisos imprescindibles para completar su tarea específica. Por desgracia, muchas organizaciones incumplen esta regla a diario debido a trampas arquitectónicas comunes.

Una de las trampas más peligrosas es utilizar permisos comodín o de alcance a todo el inquilino por comodidad. Por ejemplo, asignar User.Read.All cuando una aplicación solo necesita leer el perfil del usuario actual introduce una exposición innecesaria. Otro error frecuente es filtrar los resultados en la capa de la aplicación después de recuperar un conjunto de datos completo, en lugar de usar filtros de consulta OData en el servidor. Si tu aplicación solicita todas las colecciones de sitios solo para filtrarlas localmente, los datos que nunca debería ver ya han cruzado el límite de la red y han llegado a la capa de la aplicación.

Además, depender de identificadores mutables, como los nombres para mostrar o las direcciones de correo, en lugar de GUID inmutables puede generar con el tiempo lagunas de autorización. Pasar por alto la expansión de grupos o dar por hecho que los permisos se sincronizan al instante en todo el inquilino también puede provocar una sobreexposición silenciosa. Los permisos materializados pueden quedar obsoletos, lo que significa que una cuenta o aplicación puede conservar el acceso mucho después de que haya caducado su justificación de negocio.

Cómo proteger tu inquilino sin romper la funcionalidad de las aplicaciones

Las medidas de seguridad que anulan por completo la funcionalidad de una aplicación acaban siendo eludidas por desarrolladores frustrados. Por eso, reforzar los permisos de Microsoft Graph requiere un enfoque estratégico que proteja los datos sin ralentizar los flujos de trabajo legítimos de la empresa.

Empieza por auditar tus registros de aplicaciones y entidades de servicio existentes en Azure AD. Identifica cada permiso asignado a tus aplicaciones personalizadas y compáralo con sus registros de uso reales. Si una aplicación tiene permisos de aplicación que no ha utilizado en meses, revócalos de inmediato. Aprovecha herramientas como los registros de auditoría de Microsoft Entra y las funciones de protección de identidades para supervisar el comportamiento de los inicios de sesión y detectar el uso anómalo de la API.

Otra práctica fundamental es implementar ámbitos granulares. En lugar de solicitar acceso amplio a todos los buzones o a todos los sitios, busca las opciones de consentimiento específico de recursos cuando estén disponibles. Por ejemplo, las integraciones modernas de Microsoft Teams y SharePoint permiten conceder permisos a equipos o sitios concretos en lugar de a todo el inquilino. Esto aísla tu perfil de riesgo: si una aplicación se ve comprometida, el radio de impacto queda limitado a un único espacio de colaboración y no a toda la empresa.

Estrategias prácticas para gestionar la seguridad de Microsoft 365

Pasar de una postura reactiva a un marco de seguridad proactivo requiere procesos repetibles y gobernanza automatizada. Estas son las estrategias prácticas que puedes implementar hoy mismo para dominar los permisos de Microsoft Graph:

  • Aplica un proceso de revisión estricto a todos los nuevos registros de aplicaciones en Azure AD antes de que lleguen a los entornos de producción.
  • Implementa una gestión automatizada del ciclo de vida de las identidades para revocar automáticamente el acceso de las aplicaciones y las entidades de servicio cuando terminen los proyectos o cuando sus propietarios abandonen la organización.
  • Utiliza consultas a la API de Microsoft Graph para supervisar mediante programación los permisos de todo el inquilino con una frecuencia regular.
  • Forma a tus equipos de desarrollo sobre las implicaciones de seguridad de los ámbitos con privilegios excesivos y sobre alternativas como el consentimiento específico de recursos.
  • Incorpora el análisis de seguridad y la validación de permisos en tus canalizaciones de CI/CD para detectar los roles de aplicación excesivamente permisivos antes del despliegue.

Si tratas los permisos como código y aplicas estándares de validación rigurosos, garantizarás que tus aplicaciones en la nube sigan siendo seguras, conformes y eficientes.


Dominar los permisos de Microsoft Graph es un requisito fundamental para cualquier arquitectura de Microsoft 365 segura y escalable. Al entender la lógica central del acceso delegado frente al acceso solo de aplicación, evitar las trampas habituales del privilegio mínimo e implementar estrategias de gobernanza proactivas, podrás proteger los datos sensibles de tu organización y aprovechar al mismo tiempo todo el potencial de automatización de la nube. Para profundizar en cómo encajan estos conceptos en la práctica, no dejes de escuchar el episodio relacionado: How Microsoft Graph Connects Microsoft 365 Data and Context.

Entities in this article

Microsoft Graph permissions Least privilege Microsoft Graph SharePoint Microsoft Entra ID Exchange Online Service principal Microsoft 365

Related articles

RSS