
ممیزی خودکار مجوزهای فایل Google Drive برای امنیت
9 دقیقه مطالعه · منتشر شده ۱۴۰۵/۵/۶
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 3549 · منبع: کاتالوگ Pixori
ممیزی مجوزهای فایل Google Drive برای مدیریت کنترل دسترسی
این گردش کار، ممیزی مجوزهای فایل Google Drive را برای شناسایی فایلهایی با دسترسی بیش از حد باز، مانند اشتراکگذاری عمومی (هر کسی با لینک) یا اشتراکگذاری با کاربران خارجی خارج از یک دامنه مورد اعتماد، خودکار میکند. این گردش کار برای سازمانها یا افرادی طراحی شده است که به دنبال بهبود وضعیت امنیتی خود با بررسی منظم و گزارشدهی در مورد تنظیمات اشتراکگذاری بالقوه پرخطر هستند.
گردش کار به طور منطقی به بخشهای زیر تقسیم میشود:
- محرک زمانبندی شده و مقداردهی اولیه گزارش: به طور خودکار ممیزی را روزانه راهاندازی کرده و یک برگه جدید Google Sheet برای ذخیره نتایج ممیزی ایجاد میکند.
- بازیابی و فیلتر کردن فایلهای Google Drive: اسناد Google Drive که اخیراً اصلاح شدهاند را بازیابی کرده و آنهایی را که دارای مجوزهای اشتراکگذاری پرخطر هستند، فیلتر میکند.
- تبدیل و تجمیع دادهها: دادههای مجوز را به یک فرمت جدولی استاندارد مناسب برای گزارشدهی پردازش میکند.
- ذخیرهسازی گزارش و اعلان: دادههای پردازش شده را به Google Sheet ایجاد شده اضافه کرده و یک گزارش ایمیلی خلاصه یافتههای ممیزی ارسال میکند.
شما میتوانید این گردش کار و موارد دیگر را در کاتالوگ Axeto پیدا کنید.
---
۱. محرک زمانبندی شده و مقداردهی اولیه گزارش
این بخش گردش کار را برای اجرا خودکار هر روز تنظیم کرده و یک Google Sheet جدید برای ذخیره نتایج ممیزی آن روز آماده میکند.
گرهها (Nodes)
- محرک زمانبندی (Schedule Trigger)
* نوع: scheduleTrigger
* نقش: گردش کار را روزانه در زمان مشخصی (مثلاً ۶ صبح) راهاندازی میکند.
* پیکربندی: برای راهاندازی یک بار در روز در ساعت مورد نظر تنظیم شده است.
* موارد استثنا (Edge Cases): اطمینان حاصل کنید که منطقه زمانی برای منطقه شما به درستی پیکربندی شده است.
- ایجاد برگه جدید (Create New Sheet)
* نوع: googleSheets.createSheet
* نقش: یک برگه جدید در یک سند Google Sheets از پیش تعریف شده ایجاد میکند. نام برگه با استفاده از تاریخ فعلی به صورت پویا تولید میشود (مثلاً audit-yyyyMMdd).
* پیکربندی: نیاز به شناسه سند Google Sheets از پیش تعریف شده دارد.
* اعتبارنامهها (Credentials): نیاز به اعتبارنامههای OAuth2 Google Sheets دارد.
* موارد استثنا: محدودیتهای سهمیه API، خطاهای مجوز، یا شناسه سند نامعتبر میتواند باعث شکست شود.
- یادداشت چسبان (Sticky Note)
* نوع: stickyNote
* نقش: مستنداتی را در مورد محرک زمانبندی شده و فرآیند ایجاد برگه ممیزی ارائه میدهد.
---
۲. بازیابی و فیلتر کردن فایلهای Google Drive
این بخش فایلهای Google Drive اصلاح شده در ۲۴ ساعت گذشته را بازیابی کرده و آنها را بر اساس مجوزهای اشتراکگذاری بالقوه پرخطر فیلتر میکند.
گرهها (Nodes)
- دریافت اسناد فعال اخیر (Get Recently Active Documents)
* نوع: googleDrive.query
* نقش: اسناد، صفحات گسترده و اسلایدهای Google را که در ۲۴ ساعت گذشته اصلاح شدهاند، از جمله اطلاعات مجوز و اشتراکگذاری آنها را بازیابی میکند.
* پیکربندی: از یک کوئری برای فیلتر کردن فایلهای اصلاح شده پس از زمان فعلی منهای ۱ روز استفاده میکند، فایلهای حذف شده را حذف میکند و انواع MIME مربوطه را مشخص میکند.
* اعتبارنامهها: نیاز به اعتبارنامههای OAuth2 Google Drive دارد.
* موارد استثنا: محدودیتهای نرخ API، خطاهای مجوز، یا عدم وجود فایلهای اخیر میتواند منجر به نتایج خالی شود.
- اشتراکگذاری شده با کاربران خارجی (Has Shared with External Users)
* نوع: filter
* نقش: فایلهایی را که به صورت عمومی ("هر کسی" permission) یا با کاربران خارجی خارج از یک دامنه مورد اعتماد مشخص (مثلاً example.com) به اشتراک گذاشته شدهاند، فیلتر میکند.
* پیکربندی: از عبارات (expressions) برای بررسی انواع مجوز "هر کسی" یا آدرسهای ایمیلی که با دامنه مورد اعتماد خاتمه نمییابند، استفاده میکند.
* موارد استثنا: خطاهای عبارت (expression errors) در صورت عدم وجود یا بدشکل بودن دادههای مجوز میتواند رخ دهد.
- برای هر فایل (For Each File)
* نوع: splitInBatches
* نقش: هر فایل را به صورت جداگانه در دستهها (batches) برای تجزیه و تحلیل دقیق بعدی پردازش میکند.
* موارد استثنا: اندازههای دسته بسیار بزرگ ممکن است بر عملکرد تأثیر بگذارد.
- ارجاع فایل (File Ref)
* نوع: noOp
* نقش: به عنوان یک نگهدارنده (placeholder) برای انتقال دادههای فایل به پایین دست بدون تغییر عمل میکند.
- مجوزها به موارد (Permissions To Items)
* نوع: splitOut
* نقش: آرایه permissions هر فایل را به ورودیهای مجوز جداگانه برای پردازش دانهای (granular) تقسیم میکند.
* پیکربندی: بر روی فیلد permissions تقسیم میکند.
* موارد استثنا: فایلهایی که فیلد permissions ندارند، خروجی خالی خواهند داشت.
- فیلتر کردن مالک سند (Filter Out Owner of Document)
* نوع: filter
* نقش: ورودیهای مجوز را که در آنها نقش "owner" است، حذف میکند تا بر مجوزهای اعطا شده به سایر کاربران تمرکز کند.
* پیکربندی: مواردی را که role برابر با "owner" است، فیلتر میکند.
* موارد استثنا: مجوزهایی که فیلد role ندارند ممکن است به اشتباه فیلتر شوند.
- یادداشت چسبان (Sticky Note)
* نوع: stickyNote
* نقش: هدف این بلوک را مستند میکند و پیوندی به مستندات گره Google Drive ارائه میدهد.
---
۳. تبدیل و تجمیع دادهها
این بخش دادههای مجوز استخراج شده را به یک فرمت سازگار نرمالسازی کرده و آن را برای گزارشدهی کارآمد تجمیع میکند.
گرهها (Nodes)
- نرمالسازی فیلدها (Normalise Fields)
* نوع: set
* نقش: فیلدهای کلیدی را از موارد مجوز و فراداده فایل مرتبط استخراج و تغییر نام میدهد تا در یک طرحواره استاندارد قرار گیرند.
* پیکربندی: فیلدهایی مانند file_id, file_name, type (نوع مجوز), user_id, user (ایمیل) و role را با استفاده از عباراتی که به خروجیهای گره بالادستی ارجاع میدهند، تعریف میکند.
* موارد استثنا: فیلدهای گمشده در JSON ورودی میتواند منجر به مقادیر خالی یا نادرست شود.
- تجمیع (Aggregate)
* نوع: aggregate
* نقش: تمام موارد مجوز نرمالسازی شده را در یک آرایه داده واحد تجمیع میکند و آنها را برای پردازش دستهای آماده میکند.
* پیکربندی: از گزینه aggregateAllItemData برای جمعآوری همه موارد در یک ساختار استفاده میکند.
* موارد استثنا: مجموعه دادههای بسیار بزرگ ممکن است حافظه قابل توجهی مصرف کنند یا بر عملکرد تأثیر بگذارند.
- تسطیح ردیفها (Flatten Rows)
* نوع: set
* نقش: آرایههای داده تجمیع شده را به یک آرایه واحد به نام rows تسطیح میکند و پردازش پایین دست را ساده میکند.
* پیکربندی: از یک عبارت برای تسطیح تمام آرایههای داده ورودی به یک آرایه واحد استفاده میکند.
* موارد استثنا: آرایههای ورودی خالی منجر به آرایه خروجی خالی میشود.
- ردیفها به موارد (Rows to Items)
* نوع: splitOut
* نقش: آرایه rows را به موارد جداگانه تقسیم میکند و آنها را برای اضافه شدن به Google Sheet آماده میکند.
* پیکربندی: بر روی فیلد rows تقسیم میکند.
* موارد استثنا: آرایه rows خالی هیچ مورد خروجی تولید نمیکند.
- یادداشت چسبان (Sticky Note)
* نوع: stickyNote
* نقش: مراحل تبدیل دادهها را توضیح میدهد و پیوندی به مستندات گره Split Out ارائه میدهد.
---
۴. ذخیرهسازی گزارش و اعلان
این بخش نهایی دادههای پردازش شده را به Google Sheet اضافه کرده و یک اعلان ایمیلی خلاصه یافتههای ممیزی ارسال میکند.
گرهها (Nodes)
- افزودن به برگه جدید (Append to New Sheet)
* نوع: googleSheets.append
* نقش: ردیفهای مجوز نرمالسازی شده را به برگه Google Sheet ایجاد شده در ابتدای گردش کار اضافه میکند.
* پیکربندی: از شناسههای پویا برگه و صفحه گسترده که از گره "Create New Sheet" به دست آمدهاند، استفاده میکند. ستونهای داده ورودی را به طور خودکار با ستونهای برگه نگاشت میکند.
* اعتبارنامهها: نیاز به اعتبارنامههای OAuth2 Google Sheets دارد.
* موارد استثنا: محدودیتهای API، خطاهای مجوز، یا شناسههای برگه نامعتبر میتواند باعث شکست شود.
- ارسال گزارش ایمیلی (اجرای یک بار) (Send Email Report (Execute Once))
* نوع: gmail.sendEmail
* نقش: یک ایمیل خلاصه ارسال میکند که یافتههای ممیزی را شرح میدهد، از جمله پیوند به گزارش Google Sheets و فایلهای خاص.
* پیکربندی:
* به (To): آدرس ایمیل گیرنده (مثلاً jim@example.com - این را سفارشی کنید).
* موضوع (Subject): شامل تاریخ فعلی برای شناسایی آسان است.
* پیام (Message): فایلها را بر اساس نوع اشتراکگذاری (عمومی، خارجی) به صورت پویا لیست کرده و پیوندهای مستقیمی به گزارش ممیزی و خود فایلها ارائه میدهد.
* شامل انتساب n8n است.
* اعتبارنامهها: نیاز به اعتبارنامههای OAuth2 Gmail دارد.
* موارد استثنا: ارسال ایمیل میتواند به دلیل خطاهای احراز هویت، محدودیتهای سهمیه، یا آدرس گیرنده نامعتبر با شکست مواجه شود.
- یادداشت چسبان (Sticky Note)
* نوع: stickyNote
* نقش: مراحل نهایی گزارشدهی و اعلان را توصیف میکند و پیوندی به مستندات گره Gmail ارائه میدهد.
---
جدول خلاصه
| نام گره (Node Name) | نوع گره (Node Type) | نقش عملکردی (Functional Role) | گره(های) ورودی (Input Node(s)) | گره(های) خروجی (Output Node(s)) |
|---|---|---|---|---|
| Schedule Trigger | scheduleTrigger | گردش کار را روزانه در زمان مشخص راهاندازی میکند | - | Create New Sheet |
| Create New Sheet | googleSheets.createSheet | یک برگه جدید برای ممیزی روزانه ایجاد میکند | Schedule Trigger | Get Recently Active Documents |
| Get Recently Active Documents | googleDrive.query | فایلهای Google Drive اصلاح شده اخیر را بازیابی میکند | Create New Sheet | Has Shared with External Users |
| Has Shared with External Users | filter | فایلهای به اشتراک گذاشته شده عمومی یا خارجی را فیلتر میکند | Get Recently Active Documents | For Each File |
| For Each File | splitInBatches | هر فایل را به صورت جداگانه پردازش میکند | Has Shared with External Users | Flatten Rows, File Ref |
| File Ref | noOp | دادههای فایل را به پایین دست منتقل میکند | For Each File | Permissions To Items |
| Permissions To Items | splitOut | مجوزهای فایل را به موارد جداگانه تقسیم میکند | File Ref | Filter Out Owner of Document |
| Filter Out Owner of Document | filter | مجوزهای نقش "owner" را حذف میکند | Permissions To Items | Normalise Fields |
| Normalise Fields | set | دادههای مجوز و فایل را استاندارد میکند | Filter Out Owner of Document | Aggregate |
| Aggregate | aggregate | دادههای نرمالسازی شده را در یک آرایه ترکیب میکند | Normalise Fields | Flatten Rows |
| Flatten Rows | set | دادههای تجمیع شده را به یک آرایه 'rows' تسطیح میکند | Aggregate | Rows to Items |
| Rows to Items | splitOut | آرایه 'rows' را به موارد جداگانه تقسیم میکند | Flatten Rows | Append to New Sheet |
| Append to New Sheet | googleSheets.append | دادههای ممیزی را به Google Sheet اضافه میکند | Rows to Items | Send Email Report (Execute Once) |
| Send Email Report (Execute Once) | gmail.sendEmail | گزارش خلاصه ایمیلی ارسال میکند | Append to New Sheet | - |
Nodeهای استفادهشده
سوالات متداول
این گردش کار چه نوع دسترسیهای پرخطر در گوگل درایو را شناسایی میکند؟▾
این گردش کار فایلهایی را که به صورت عمومی (هر کسی با لینک) یا با کاربران خارجی خارج از دامنه مشخص سازمان شما به اشتراک گذاشته شدهاند، شناسایی میکند.
چگونه این گردش کار امنیت فایلهای گوگل درایو را بهبود میبخشد؟▾
با خودکارسازی فرآیند بررسی منظم مجوزهای اشتراکگذاری، این گردش کار به شما کمک میکند تا دسترسیهای ناخواسته یا بیش از حد باز را به سرعت شناسایی کرده و اقدامات اصلاحی را انجام دهید، که منجر به افزایش امنیت دادهها میشود.
آیا این گردش کار میتواند گزارشها را به صورت خودکار ارسال کند؟▾
بله، این گردش کار میتواند نتایج ممیزی را در یک برگه گوگل شیت ذخیره کرده و یک گزارش خلاصه از یافتهها را از طریق ایمیل ارسال کند.
workflowهای مرتبط
- طبقهبندی خودکار حوادث امنیتی با GPT-4 و Google SheetsSecOps
- خودکارسازی اصلاح نقطه پایانی با Wazuh، ClamAV و GPT-4SecOps
- اتوماسیون خلاصهسازی جلسات با Google Drive و OpenAIAI
- احراز هویت کاربران با OpenID Connect در n8nBuilding Blocks
- حسابرسی خودکار یکپارچگی IP و اثر انگشت با هوش مصنوعیSecOps
- ممیزی خودکار هدرهای امنیتی وب با هوش مصنوعی و گزارشدهیSecOps
