Teams Node Requiere Permiso Group.ReadWrite.All – Preocupación de Seguridad Empresarial

Hola,

mientras probaba el nodo de Microsoft Teams para un despliegue empresarial, noté que el nodo parece requerir el permiso de Microsoft Graph Group.ReadWrite.All incluso para simplemente enviar un mensaje a un canal de Teams.

Para las pruebas, ya configuré los siguientes ámbitos delegados para el registro de la aplicación:

  • User.Read

  • Team.ReadBasic.All

  • ChannelMessage.Read.All

  • ChannelMessage.ReadWrite

  • ChannelMessage.Send

  • Subscription.Read.All

  • Chat.Read

Incluso esto ya parece excesivamente permisivo para un caso de uso tan simple desde la perspectiva de seguridad empresarial.

Sin embargo, el nodo de Teams aún no funciona a menos que se otorgue Group.ReadWrite.All.

El error que se devuelve es:

Missing scope permissions on the request. API requires one of ‘ChannelMessage.Send, Group.ReadWrite.All’. Scopes on the request ‘ChannelMessage.Read.All, ChannelMessage.ReadWrite, Chat.Read, openid, Subscription.Read.All, Team.ReadBasic.All, User.Read, profile, email’

Lo que es especialmente preocupante es que ChannelMessage.Send ya está configurado en el registro de la aplicación, pero aparentemente no está incluido en los ámbitos de token efectivos utilizados por el nodo.

Según nuestras pruebas y revisión de la documentación de la API de Microsoft Graph, no parece que enviar un simple mensaje de canal deba requerir Group.ReadWrite.All.

En este momento, esto parece ser:

  • un error en la autenticación del nodo de Teams o en el manejo de ámbitos

  • o un requisito de permiso innecesariamente amplio impuesto por el nodo mismo

Desde la perspectiva de seguridad empresarial, esto es un problema grave porque Group.ReadWrite.All otorga acceso extremadamente amplio a nivel de inquilino e incumple los principios de privilegio mínimo para un flujo de trabajo de mensajería simple.

En su estado actual, esto hace que el nodo de Teams sea prácticamente inutilizable en muchos entornos empresariales debido a los requisitos de seguridad y cumplimiento normativo.

¿Podría aclarar por qué se requiere este permiso y si está previsto el soporte para permisos granulares como ChannelMessage.Send?

Gracias.

Ya revisé el nodo comunitario n8n-nodes-msteams-lite. Sin embargo, desde una perspectiva de seguridad y cumplimiento empresarial, no estoy seguro de si depender de paquetes npm comunitarios externos es una solución viable a largo plazo.

El repositorio actualmente parece no tener estrellas, observadores ni bifurcaciones

lo que dificulta evaluar la madurez, la calidad del mantenimiento, la adopción o la confiabilidad a largo plazo.

Además, introducir paquetes npm mantenidos externamente en una plataforma de automatización empresarial presenta sus propios riesgos de seguridad y cadena de suministro, especialmente cuando esos paquetes interactúan con sistemas altamente privilegiados como Microsoft Graph y Teams.

¡Hola @Daniel_Stahl, bienvenido a la comunidad de n8n!

Según mi revisión del comportamiento y del error de Graph API, esto parece estar relacionado con cómo el nodo Teams maneja los ámbitos OAuth delegados durante la generación del token, en lugar de ser un requisito intencional de Group.ReadWrite.All; específicamente, ChannelMessage.Send no parece estar incluido en el token de acceso efectivo a pesar de estar configurado en el registro de la aplicación, lo que explicaría por qué la verificación de permisos de respaldo de Microsoft Graph está solicitando el ámbito más amplio.