Je me demandais s’il était possible de créer une connexion OneDrive qui ne donne pas un accès complet à tous les fichiers de mon OneDrive. Certains fichiers contiennent des informations sensibles et je ne veux pas que n8n y accède. Existe-t-il un moyen de créer une connexion qui ne donne pas un accès complet à mes dossiers OneDrive et qui n’accède qu’à une sélection d’entre eux ?
Informations sur votre configuration n8n
- Version de n8n : 1.123.48
- Système d’exploitation : Windows 11
Si vous utilisez un compte Microsoft personnel, OneDrive prend en charge une portée d’autorisation spéciale Files.ReadWrite.AppFolder. Cela crée un dossier dédié et isolé dans votre OneDrive (généralement situé à OneDrive/Apps/n8n). n8n ne pourra voir et interagir qu’avec les fichiers se trouvant dans ce dossier spécifique. Tout ce qui se trouve en dehors reste entièrement invisible pour l’intégration.
Pour configurer cela, vous ne pouvez pas utiliser l’authentification en un clic par défaut de n8n. Vous devez créer votre propre enregistrement d’application personnalisée :
Accédez au centre d’administration Microsoft Entra (ou au portail Azure) et enregistrez une nouvelle application.
Sous Autorisations API → Microsoft Graph → Autorisations déléguées, recherchez Files.ReadWrite.AppFolder et cochez-la.
Assurez-vous que des autorisations plus larges comme Files.ReadWrite ou Files.ReadWrite.All ne sont pas sélectionnées.
Copiez votre ID client et votre Secret client.
Dans n8n, créez une nouvelle information d’identification OAuth2 Microsoft OneDrive, changez le type d’authentification en personnalisé/custom, et entrez votre ID client et votre Secret.
Lorsque vous autorisez, Microsoft n’accordera l’accès qu’à ce dossier d’application en bac à sable unique.
J’espère que cela vous aidera.
@pnanos
Pas directement avec les identifiants OneDrive standard dans n8n ; il reçoit les permissions accordées à l’application dans Microsoft Graph, donc pour restreindre l’accès à des dossiers spécifiques, vous devrez généralement utiliser un compte dédié, un lecteur partagé séparé ou enregistrer votre propre application Azure avec des permissions plus restrictives.
Bonjour @pnanos
Le moyen le plus facile de résoudre ce problème est de créer un deuxième compte Microsoft séparé juste pour n8n. Au lieu de connecter n8n à votre compte principal, vous le connectez à ce nouveau compte. Vous allez ensuite dans votre compte principal et vous « partagez » uniquement les dossiers spécifiques que vous voulez que n8n utilise avec ce deuxième compte. Cela crée une barrière numérique qui garde vos fichiers sensibles complètement invisibles à n8n.
Une chose à noter : Files.ReadWrite.AppFolder ne fonctionne qu’avec les comptes Microsoft personnels (Outlook.com/Hotmail). Si vous avez un compte Microsoft 365 professionnel ou scolaire, cette portée d’autorisation n’est pas disponible. Pour les comptes professionnels, votre meilleure option est l’approche du site SharePoint dédié - créez un site séparé, limitez l’enregistrement de l’application au seul site de ce site, et pointez n8n vers cette URL SharePoint au lieu de votre OneDrive principal. Cela vous donne le même effet d’isolement des dossiers.