¿Puedes restringir a qué archivos tiene acceso una conexión de OneDrive? No necesito que la conexión tenga acceso completo a todos los archivos en mi OneDrive, solo a carpetas seleccionadas

Me preguntaba sobre la viabilidad de crear una conexión a OneDrive que no otorgue acceso completo a todos los archivos en mi OneDrive. Hay algunos archivos que contienen contenido sensible y no quiero que n8n acceda a ellos. ¿Hay una forma de crear una conexión que no le dé acceso completo a mis carpetas de OneDrive y solo acceda a una selección de ellas?

Información sobre tu configuración de n8n

  • Versión de n8n: 1.123.48
  • Sistema operativo: Windows 11

Si está utilizando una cuenta personal de Microsoft, OneDrive admite un ámbito de permiso especial Files.ReadWrite.AppFolder. Esto crea una carpeta dedicada e aislada dentro de su OneDrive (generalmente ubicada en OneDrive/Apps/n8n). n8n solo podrá ver e interactuar con archivos dentro de esa carpeta específica. Cualquier cosa fuera de ella permanece completamente invisible para la integración.

Para configurar esto, no puede usar la autenticación de un clic predeterminada de n8n. Debe crear su propio registro de aplicación personalizado:

Vaya al centro de administración de Microsoft Entra (o Azure Portal) y registre una nueva aplicación.

En Permisos de API → Microsoft Graph → Permisos delegados, busque Files.ReadWrite.AppFolder y márquelo.

Asegúrese de que los permisos más amplios como Files.ReadWrite o Files.ReadWrite.All no estén seleccionados.

Copie su ID de cliente y secreto de cliente.

En n8n, cree una nueva credencial OAuth2 de Microsoft OneDrive, cambie el tipo de autenticación a own/custom e ingrese su ID de cliente y secreto.

Cuando autorice, Microsoft solo otorgará acceso a esa singular carpeta de aplicación aislada.

Espero que esto le sea de ayuda.

@pnanos
No directamente con la credencial estándar de OneDrive en n8n; recibe los permisos otorgados a la aplicación en Microsoft Graph, así que para restringir el acceso a carpetas específicas normalmente necesitarás usar una cuenta dedicada, una unidad compartida separada o registrar tu propia aplicación de Azure con permisos más restrictivos.

Hola @pnanos

La forma más sencilla de solucionarlo es crear una segunda cuenta de Microsoft separada solo para n8n. En lugar de conectar n8n a tu cuenta principal, la conectas a esta nueva. Luego accedes a tu cuenta principal y “compartes” solo las carpetas específicas que quieres que n8n use con esa segunda cuenta. Esto crea un muro digital que mantiene tus archivos sensibles completamente invisibles para n8n.

Vale la pena destacar: Files.ReadWrite.AppFolder solo funciona con cuentas personales de Microsoft (Outlook.com/Hotmail). Si tienes una cuenta de Microsoft 365 de trabajo o educativa, ese ámbito de permiso no está disponible. Para cuentas empresariales, tu mejor opción es el enfoque de sitio de SharePoint dedicado: crea un sitio separado, limita el registro de la aplicación solo al recurso de ese sitio y apunta n8n a esa URL de SharePoint en lugar de tu OneDrive principal. Te proporciona el mismo efecto de aislamiento de carpetas.

¡Gracias, lo probaré!