Skip to content

کنترل سطح دسترسی

ماژول اصلیتعریف ماژولتوضیحات
Role-Based Access Controlسامانه کنترل سطح دسترسیتعریف نقش‌ها، سطح دسترسی و مجوزهای امنیتی برای کاربران با هدف مدیریت دقیق و منعطف منابع سیستم.

فیچرلیست:

ردیفدسته بندیعنوانمسیر پیشنهادیداستان کاربر (User Story)
1مدیریت گروه‌هاایجاد گروه جدیدPOST /groupsبه عنوان مدیر سیستم، می‌خواهم بتوانم گروه‌هایی مانند «کارمندان مالی» یا «توسعه‌دهندگان» ایجاد کنم تا مدیریت دسترسی‌ها ساده‌تر شود.
2افزودن عضو به گروهPOST /groups/{groupId}/membersبه عنوان مدیر یک گروه، می‌خواهم بتوانم کاربران جدید را به گروه خود اضافه کنم تا دسترسی‌های آن گروه را دریافت کنند.
3به‌روزرسانی اطلاعات گروهPUT /groups/به عنوان مدیر سیستم، می‌خواهم بتوانم نام یا توضیحات یک گروه را ویرایش کنم.
4دریافت اطلاعات یک گروهGET /groups/به عنوان یک سرویس، می‌خواهم اطلاعات یک گروه خاص مانند نام و اعضای آن را دریافت کنم.
5جستجوی کاربران یک گروهGET /groups/{groupId}/membersبه عنوان مدیر یک گروه، می‌خواهم لیستی از تمام اعضای گروه خودم را مشاهده کنم.
6دریافت لیست گروه‌های یک کاربرGET /users/{userId}/groupsبه عنوان مدیر سیستم، می‌خواهم ببینم یک کاربر خاص در چه گروه‌هایی عضو است.
7دریافت لیست گروه‌ها (با فیلتر)GET /groupsبه عنوان مدیر سیستم، می‌خواهم بتوانم لیستی از گروه‌ها را بر اساس یک معیار خاص جستجو کنم.
8حذف عضو از گروهDELETE /groups/{groupId}/members/به عنوان مدیر یک گروه، می‌خواهم بتوانم کاربری که دیگر در تیم من نیست را از گروه حذف کنم.
9فعال/غیرفعال کردن گروهPOST /groups/{groupId}/statusبه عنوان مدیر سیستم، می‌خواهم یک گروه را به صورت موقت غیرفعال کنم تا دسترسی تمام اعضای آن معلق شود.
10مدیریت منابع (Resources)ایجاد منبع جدید (به صورت تکی یا درختی)POST /resourcesبه عنوان مدیر سیستم، می‌خواهم منابعی مانند «پروژه آلفا» یا «داشبورد فروش» را تعریف کنم و بتوانم آن‌ها را به صورت سلسله‌مراتبی (والد و فرزندی) بچینم.
11دریافت اطلاعات یک منبعGET /resources/به عنوان یک سرویس، می‌خواهم اطلاعات یک منبع خاص را دریافت کنم.
12به‌روزرسانی اطلاعات منبعPUT /resources/به عنوان مدیر سیستم، می‌خواهم نام یا والد یک منبع را ویرایش کنم.
13حذف یک منبعDELETE /resources/به عنوان مدیر سیستم، می‌خواهم یک منبع که دیگر استفاده نمی‌شود را حذف کنم.
14دریافت منابع فرزند (برای ساختار درختی)GET /resources/{resourceId}/childrenبه عنوان یک سرویس، می‌خواهم تمام زیرمجموعه‌های یک منبع خاص را مشاهده کنم.
15دریافت تمام والدین یک منبعGET /resources/{resourceId}/parentsبه عنوان یک سرویس، می‌خواهم مسیر کامل یک منبع تا ریشه را مشاهده کنم.
16جستجوی منابعGET /resources/searchبه عنوان مدیر سیستم، می‌خواهم بتوانم در میان تمام منابع ثبت شده جستجو کنم.
17مدیریت مجوزها و دسترسی‌هاتخصیص دسترسی مستقیم به منبعPOST /access-recordsبه عنوان مدیر سیستم، می‌خواهم به یک کاربر یا گروه، دسترسی مشخصی (مثلاً "خواندن") را روی یک منبع خاص بدهم.
18ویرایش دسترسی مستقیم به منبعPUT /access-records/به عنوان مدیر سیستم، می‌خواهم سطح دسترسی اعطا شده به یک کاربر روی یک منبع را تغییر دهم (مثلاً از "خواندن" به "نوشتن").
19مشاهده دسترسی‌های یک منبعGET /resources/{resourceId}/permissionsبه عنوان مدیر یک منبع، می‌خواهم ببینم چه کاربران و گروه‌هایی به این منبع دسترسی دارند.
20حذف یک رکورد دسترسیDELETE /access-records/به عنوان مدیر سیستم، می‌خواهم یک دسترسی خاص که به یک کاربر داده شده را لغو کنم.
21مشاهده دسترسی‌های یک کاربرGET /users/{userId}/permissionsبه عنوان مدیر سیستم، می‌خواهم لیستی از تمام دسترسی‌هایی که یک کاربر خاص به منابع مختلف دارد را ببینم.
22مشاهده دسترسی‌های یک گروهGET /groups/{groupId}/permissionsبه عنوان مدیر سیستم، می‌خواهم ببینم یک گروه خاص به چه منابعی دسترسی دارد.
23انتشار دسترسی (Inheritance)POST /resources/{resourceId}/propagate-permissionsبه عنوان مدیر سیستم، می‌خواهم دسترسی‌های تعریف شده روی یک منبع والد، به تمام منابع فرزند آن نیز اعمال شود.
24مدیریت نقش‌ها (Roles)تعریف نقش جدید (Role)POST /rolesبه عنوان مدیر سیستم، می‌خواهم نقشی مانند «مدیر محتوا» با مجموعه‌ای از دسترسی‌های مشخص (مثلاً خواندن، نوشتن، انتشار) تعریف کنم.
25به‌روزرسانی یک نقشPUT /roles/به عنوان مدیر سیستم، می‌خواهم نام یا توضیحات یک نقش را ویرایش کنم.
26دریافت اطلاعات یک نقشGET /roles/به عنوان یک سرویس، می‌خواهم جزئیات یک نقش و دسترسی‌های آن را مشاهده کنم.
27دریافت لیست تمام نقش‌هاGET /rolesبه عنوان مدیر سیستم، می‌خواهم لیستی از تمام نقش‌های تعریف شده در سیستم را ببینم.
28حذف یک نقشDELETE /roles/به عنوان مدیر سیستم، می‌خواهم یک نقش که دیگر استفاده نمی‌شود را حذف کنم.
29افزودن/کاهش دسترسی‌های یک نقشPOST /roles/{roleId}/permissions<br>DELETE /roles/{roleId}/permissions/به عنوان مدیر سیستم، می‌خواهم دسترسی‌های موجود در یک نقش را کم یا زیاد کنم (مثلاً به نقش "کاربر ساده" دسترسی "کامنت گذاشتن" را اضافه کنم).
30تخصیص نقش به کاربر/گروه روی یک منبعPOST /access-records/rolesبه عنوان مدیر سیستم، می‌خواهم «نقش ویرایشگر» را به «گروه نویسندگان» بر روی «منبع وبلاگ» تخصیص دهم.
31لغو نقش تخصیص داده شدهDELETE /access-records/roles/به عنوان مدیر سیستم، می‌خواهم نقش تخصیص داده شده به یک کاربر یا گروه را لغو کنم.
32مدیریت لیست کنترل دسترسی (ACL)تعریف قانون دسترسی (ACL)POST /aclsبه عنوان مدیر امنیت، می‌خواهم یک قانون دسترسی کلی و قابل استفاده مجدد تعریف کنم.
33دریافت و ویرایش قانون دسترسی (ACL)GET /acls/{aclId}<br>PUT /acls/به عنوان مدیر امنیت، می‌خواهم یک قانون دسترسی را مشاهده یا ویرایش کنم.
34حذف قانون دسترسی (ACL)DELETE /acls/به عنوان مدیر امنیت، می‌خواهم یک قانون دسترسی که دیگر لازم نیست را حذف کنم.
35عملیات دسته‌ای (Bulk Operations)ایجاد درخواست دسته‌ایPOST /bulk-requestsبه عنوان مدیر سیستم، می‌خواهم به جای اضافه کردن تک‌تک کاربران به یک گروه، لیستی از ۱۰۰ کاربر را به صورت یکجا به آن گروه اضافه کنم.
36دریافت وضعیت و ارسال مجدد درخواست دسته‌ایGET /bulk-requests/{trackerId}<br>POST /bulk-requests/{trackerId}/retryبه عنوان مدیر سیستم، می‌خواهم وضعیت یک عملیات دسته‌ای بزرگ را پیگیری کنم و در صورت نیاز آن را مجدداً اجرا کنم.
37گزارش‌گیری و بازرسی (Reporting & Audit)دریافت لاگ تغییرات دسترسی‌ها (Audit Log)GET /audit-logsبه عنوان مدیر امنیت، می‌خواهم گزارشی کامل از اینکه "چه کسی"، "چه زمانی"، "چه دسترسی‌ای" را به "چه کسی" داده یا از او گرفته است، مشاهده کنم.
38قابلیت‌های پیشرفته و سازمانیتخصیص دسترسی موقت (زمان‌دار)POST /access-records (با فیلد expires_at)به عنوان مدیر پروژه، می‌خواهم به یک پیمانکار دسترسی «ویرایشگر» بدهم، اما می‌خواهم این دسترسی به صورت خودکار پس از ۳۰ روز منقضی شود.
39ایجاد کمپین بازبینی دوره‌ای دسترسی‌هاPOST /access-reviews/campaignsبه عنوان مدیر امنیت، می‌خواهم یک فرآیند بازبینی فصلی ایجاد کنم که در آن، مدیران منابع موظف شوند لیست دسترسی کاربران به منابع خود را مجدداً تایید کنند.
40شبیه‌سازی و پیش‌بینی تاثیر یک تغییر در دسترسیPOST /access-policies/simulateبه عنوان مدیر سیستم، قبل از اعمال یک نقش جدید، می‌خواهم گزارشی شبیه‌سازی شده ببینم که دقیقاً نشان دهد چه کسانی دسترسی جدید پیدا می‌کنند.
41ایجاد درخواست دسترسی در لحظه (Just-in-Time)POST /access-requestsبه عنوان توسعه‌دهنده، می‌خواهم برای ۲ ساعت و با دلیل مشخص، درخواست دسترسی «فقط خواندنی» به دیتابیس بدهم تا دسترسی موقت و قابل حسابرسی به من اعطا شود.