هل يمكنك تقييد الملفات التي يمكن لاتصال OneDrive الوصول إليها؟ أنا لا أحتاج الاتصال للوصول الكامل لجميع الملفات في OneDrive الخاص بي، فقط المجلدات المختارة

كنت أتساءل عن جدوى إنشاء اتصال OneDrive لا يمنح حق الوصول الكامل إلى جميع الملفات الموجودة على OneDrive الخاص بي. هناك بعض الملفات التي تحتوي على محتوى حساس ولا أريد لـ n8n أن يصل إليها. هل هناك طريقة لإنشاء اتصال لا يعطيه حق الوصول الكامل إلى مجلدات OneDrive الخاصة بي والوصول فقط إلى مجموعة محددة منها؟

معلومات حول إعداد n8n الخاص بك

  • إصدار n8n: 1.123.48
  • نظام التشغيل: Windows 11

إذا كنت تستخدم حساب Microsoft شخصيًا، فإن OneDrive يدعم نطاق إذن خاص بـ Files.ReadWrite.AppFolder. وهذا يُنشئ مجلدًا مخصصًا ومعزولًا داخل OneDrive الخاص بك (عادةً يقع في OneDrive/Apps/n8n). لن يتمكن n8n من رؤية والتفاعل مع الملفات إلا داخل هذا المجلد المحدد. كل شيء خارجه يبقى غير مرئي تمامًا للتكامل.

لإعداد هذا، لا يمكنك استخدام المصادقة بنقرة واحدة الافتراضية من n8n. يجب عليك إنشاء تسجيل تطبيق مخصص خاص بك:

انتقل إلى مركز إدارة Microsoft Entra (أو Azure Portal) وسجّل تطبيقًا جديدًا.

ضمن API Permissions → Microsoft Graph → Delegated Permissions، ابحث عن Files.ReadWrite.AppFolder وحدده.

تأكد من عدم تحديد أذونات أوسع مثل Files.ReadWrite أو Files.ReadWrite.All.

انسخ معرّف العميل (Client ID) والسر الخاص (Client Secret).

في n8n، أنشئ بيانات اعتماد OAuth2 جديدة لـ Microsoft OneDrive، وغيّر نوع المصادقة (Auth Type) إلى own/custom، وأدخل معرّف العميل والسر الخاص بك.

عند المصادقة، سيمنح Microsoft الوصول فقط إلى مجلد التطبيق المعزول الفردي ذلك.

آمل أن يساعدك هذا.

@pnanos
ليس مباشرة باستخدام بيانات اعتماد OneDrive الافتراضية في n8n؛ فهي تتلقى الأذونات الممنوحة للتطبيق على Microsoft Graph، لذا لتقييد الوصول إلى مجلدات محددة ستحتاج عادة إلى استخدام حساب مخصص أو محرك أقراص مشترك منفصل أو تسجيل تطبيق Azure خاص بك مع أذونات أكثر تقييدا.

مرحباً @pnanos

الطريقة الأسهل لحل هذه المشكلة هي إنشاء حساب Microsoft منفصل وثانٍ فقط لـ n8n. بدلاً من توصيل n8n بحسابك الرئيسي، تقوم بتوصيله بهذا الحساب الجديد. بعد ذلك، تذهب إلى حسابك الرئيسي و"تشارك" فقط المجلدات المحددة التي تريد أن يستخدمها n8n مع ذلك الحساب الثاني. يؤدي هذا إلى إنشاء جدار رقمي يحافظ على عدم ظهور ملفاتك الحساسة أمام n8n.

شيء جدير بالملاحظة: Files.ReadWrite.AppFolder يعمل فقط مع حسابات Microsoft الشخصية (Outlook.com/Hotmail). إذا كان لديك حساب Microsoft 365 للعمل أو المؤسسة التعليمية، فإن نطاق الإذن هذا غير متوفر. بالنسبة للحسابات التجارية، أفضل خيار لك هو نهج موقع SharePoint المخصص - إنشاء موقع منفصل، تحديد نطاق App Registration لمورد هذا الموقع فقط، وتوجيه n8n إلى عنوان URL لـ SharePoint هذا بدلاً من OneDrive الرئيسي الخاص بك. يعطيك التأثير نفسه لعزل المجلدات.

شكراً، سأجرب ذلك!