Você pode restringir quais arquivos uma conexão do OneDrive pode acessar? Não preciso que a conexão tenha acesso total a todos os arquivos no meu OneDrive, apenas pastas selecionadas

Eu estava pensando sobre a viabilidade de criar uma conexão OneDrive que não conceda acesso total a todos os arquivos do meu OneDrive. Há alguns arquivos com conteúdo sensível e eu não quero que o n8n acesse eles. Existe uma forma de criar uma conexão que não dê acesso total às minhas pastas do OneDrive e permita apenas acesso a uma seleção delas?

Informações sobre sua configuração n8n

  • Versão n8n: 1.123.48
  • Sistema operacional: Windows 11

Se você está usando uma conta Microsoft pessoal, o OneDrive oferece suporte a um escopo de permissão especial Files.ReadWrite.AppFolder. Isso cria uma pasta dedicada e isolada dentro do seu OneDrive (geralmente localizada em OneDrive/Apps/n8n). O n8n poderá ver e interagir apenas com arquivos dentro dessa pasta específica. Qualquer coisa fora dela permanece completamente invisível para a integração.

Para configurar isso, você não pode usar a autenticação padrão com um clique do n8n. Você deve criar seu próprio Registro de Aplicativo Personalizado:

Acesse o centro de administração do Microsoft Entra (ou Portal do Azure) e registre um novo aplicativo.

Em Permissões de API → Microsoft Graph → Permissões Delegadas, procure por Files.ReadWrite.AppFolder e marque-a.

Certifique-se de que permissões mais amplas como Files.ReadWrite ou Files.ReadWrite.All não estão selecionadas.

Copie seu ID do Cliente e Segredo do Cliente.

No n8n, crie uma nova credencial OAuth2 da API Microsoft OneDrive, mude o Tipo de Autenticação para próprio/personalizado e insira seu ID do Cliente e Segredo.

Quando você autorizar, a Microsoft concederá acesso apenas àquela pasta de aplicativo único em sandbox.

Espero que tenha ajudado.

@pnanos
Não diretamente com a credencial padrão do OneDrive no n8n; ela recebe as permissões concedidas ao aplicativo no Microsoft Graph, então para restringir o acesso a pastas específicas você normalmente precisará usar uma conta dedicada, um drive compartilhado separado ou registrar seu próprio aplicativo Azure com permissões mais restritas.

Oi @pnanos

A forma mais fácil de resolver isso é criar uma segunda conta Microsoft separada apenas para o n8n. Em vez de conectar o n8n à sua conta principal, você a conecta a essa nova. Depois, você acessa sua conta principal e “compartilha” apenas as pastas específicas que deseja que o n8n use com essa segunda conta. Isso cria uma barreira digital que mantém seus arquivos sensíveis completamente invisíveis para o n8n.

Uma coisa importante a notar: Files.ReadWrite.AppFolder funciona apenas com contas pessoais da Microsoft (Outlook.com/Hotmail). Se você tem uma conta Microsoft 365 corporativa ou educacional, esse escopo de permissão não está disponível. Para contas comerciais, sua melhor opção é usar a abordagem de site dedicado do SharePoint - crie um site separado, restrinja o Registro de Aplicativo apenas ao recurso desse site e aponte o n8n para essa URL do SharePoint em vez de seu OneDrive principal. Isso oferece o mesmo efeito de isolamento de pasta.

Obrigado, vou tentar isso!