کنترل دسترسی مبتنی بر نقش (RBAC) چیست؟

Role-based Access Control (RBAC) یک الگوی امنیتی است که به موجب آن کاربران براساس نقش خود در شرکت به منابع دسترسی پیدا می کنند. RBAC ، اگر به درستی اجرا شود ، می تواند روشی مؤثر برای اجرای اصل حداقل امتیاز باشد.

اصل اساسی کنترل دستیابی به نقش ساده است: وزارت دارایی نمی تواند داده های HR را ببیند و برعکس.

دریافت محیط آزمایشگاه فعال Active Directory Test EBook

"این واقعاً چشمانم را به امنیت AD باز کرد به روشی که کار دفاعی هرگز انجام نداد."

هنگام اجرای صحیح ، RBAC برای کاربران شفاف خواهد بود. تعیین تکلیف نقش در پشت صحنه اتفاق می افتد ، و هر کاربر به برنامه ها و داده هایی که برای انجام کار خود نیاز دارند دسترسی دارد. می تواند از این الگوی استفاده کند.

Role-based Access Access Control: The Basics

 تصویر از کاربران مختلف که مجوزهای مختلفی به آنها اختصاص داده شده است

بیشتر سیستم های RBAC مبتنی بر استفاده از سه اصل اساسی است. چگونگی کاربرد این موارد در سازمانهای مختلف می تواند متفاوت باشد ، اما این اصول غیرقابل تغییر هستند:

  1. تعیین نقش: یک موضوع فقط در صورتی می تواند از مجوز استفاده کند که موضوع مورد نظر را انتخاب کرده یا به او اختصاص داده شده باشد.
  2. مجوز نقش: نقش فعال یک موضوع باید مجاز باشد. یعنی نمی توانم فقط خودم را به نقشی اختصاص دهم. من به مجوز احتیاج دارم.
  3. مجوز مجوز: فقط اگر مجوز برای نقش فعال سوژه مجاز باشد ، یک سوژه می تواند از مجوز استفاده کند. با قوانین شماره 1 و 2 ، این قانون تضمین می كند كه كاربران فقط می توانند مجوزهایی را كه مجاز به استفاده از آنها هستند استفاده كنند.

RBAC برای امنیت سایبری مهم است زیرا آمار مربوط به نقض داده ها نشان می دهد كه اعطای سطح نامناسب دسترسی به كاركنان علت اصلی داده ها است. از دست دادن و سرقت داده ها بدون وجود سیستمی برای تصمیم گیری درباره اینکه چه کسی می تواند به داده ها دسترسی پیدا کند ، می توان برخی از داده ها را در معرض دید قرار داد.

در اکتبر 2019 ، محققان امنیت سایبری ، دیاچنکو و ترویا تعداد زیادی داده را در سرور ناامن در معرض دید عموم قرار دادند که حاوی 4 ترابایت بود. از PII ، یا حدود 4 میلیارد رکورد. تعداد کل افراد منحصر به فرد در کل مجموعه داده ها به بیش از 1.2 میلیارد نفر رسیده است ، و این یکی از بزرگترین نشت داده ها از یک سازمان واحد در طول تاریخ است.

اطلاعات فاش شده حاوی نام ، آدرس ایمیل ، شماره تلفن ، LinkedIn و اطلاعات پروفایل فیس بوک. سرور کشف شده ElasticSearch که شامل همه اطلاعات است از طریق یک مرورگر وب محافظت نشده و در دسترس بوده است. برای دسترسی یا بارگیری همه داده ها ، هیچ نوع رمز عبور یا تأیید اعتبار لازم نبود زیرا سازمان هایی که داده ها را در اختیار داشتند (دو شرکت متمایز و غنی سازی داده بدون نام) اقدامی برای محدود کردن دسترسی به آنها انجام نداده بودند.

یک مثال افراطی: داده های مورد نظر اصلاً کنترل دسترسی ندارند که تحمیل شده اند. به نظر می رسد سازمان شما هرگز چنین اشتباهی مرتکب نمی شود. با این حال ، در عمل ، اشتباه کردن بسیار آسان است – به ویژه هنگامی که اطلاعات حیاتی در بسیاری از مکان ها با سیستم های مختلف کنترل دسترسی و ویژگی های آسان اشتراک گذاری کاربر نهایی ذخیره می شود. – با جزئیات – تمام نقشهای موجود در سازمان خود را تعریف کنید ، و تصمیم بگیرید که کارمندان منابع در آن نقش به چه کسانی اعطا می شوند. در سازمانهای بزرگ که دارای قطعات متحرک زیادی هستند و تیمهای در هم پیوسته ، حتی ترسیم نقشه سازمانی از این دست ، می تواند یک کار مهم باشد.

در برخی موارد ، این بدان معناست که تصمیماتی که پایه آن RBAC باشد می تواند تقریباً به سؤالات "فلسفی" تبدیل شود. [19659019] آیا دستیاران ، به نمایندگی از مدیران خود ، به همان سطح دسترسی احتیاج دارند؟

  • آیا یک عضو تیم حقوقی باید بخشی از نقش مالی را برای دسترسی موقت به زیرمجموعه پرونده ها ایجاد کند؟
  • آیا کارمندان امنیتی نیاز به دسترسی دارند؟
  • اگر یک کارمند ارتقا یابد ، آیا مجوزهای دسترسی را از نقش قبلی به ارث می برند؟
  • یا آیا کارمندان جوان به مدیرانی که گزارش می دهند ، نیاز به دسترسی بیشتری دارند؟
  • پاسخ به این سؤالات می تواند بسیار پیچیده باشد زیرا به روش اساسی کار سازمان شما مربوط می شود. و بعنوان یک معمار امنیتی ، بعید به نظر می رسد که بتوانید چنین نظارت نظارتی سازمانی داشته باشید.

    به همین دلیل ، در اینجا در وارونیس ، توصیه می کنیم که برای اجرای یک سیستم RBAC "خالص" تلاش نکنید. در عوض ، ما پیشنهاد می کنیم از رویکرد ترکیبی استفاده کنید که اصول RBAC را شامل می شود ، اما به اینها کاملاً اتکا نمی کند.

    مزایای کنترل دسترسی مبتنی بر نقش [تصاویر

     تصویرهای یک بانک Piggy ، چک لیست ، قفل شکسته و ابزارکها

    در گسترده ترین سطح ، RBAC به حداکثر رساندن بهره وری عملیاتی کمک می کند ، از اطلاعات شما در برابر نشت یا سرقت محافظت می کند ، کار مدیریت و فناوری اطلاعات را کاهش می دهد و پاسخگویی به نیازهای حسابرسی را آسان تر می کند.

    در حالی که RBAC عالی نیست ، این یک مدل بسیار بهتر از تصمیم گیری خودسرانه است که چه کسی باید به کدام منابع دسترسی پیدا کند. اگر RBAC خوب اجرا کنید ، هکرها به محض تلاش برای خارج کردن از حباب نقش کاربر هک شده خود ، سنگفرش می شوند. این می تواند به شدت اثر سازش حساب را کاهش دهد – به خصوص در مورد باج افزار.

    حتی اگر کاربر آسیب دیده در HR باشد و به اطلاعات شخصی شناسایی شده (PII) دسترسی داشته باشد ، هکر قادر به رمزگذاری یا اطلاعات تیم مالی یا تیم اجرایی را سرقت کنید.

    RBAC همچنین IT و بار اداری را در سازمان کاهش می دهد و بهره وری کاربران را افزایش می دهد. IT لازم نیست که مجوزهای شخصی را برای هر کاربر مدیریت کند ، و دسترسی مناسب به داده های مناسب برای کاربران مناسب آسان تر است.

    مدیریت کاربران جدید یا کاربران مهمان می تواند بسیار وقت گیر و مشکل باشد ، اما اگر RBAC دارید این نقش ها را قبل از اینکه کاربر به شبکه بپیوندد تعریف می کند ، وضعیت آتش و فراموش کردن است. میهمانان و کاربران جدید به شبکه می پیوندند و دسترسی آنها از پیش تعریف شده است.

    اجرای RBAC به اثبات رسیده است که برای شرکت شما دلار زیادی صرفه جویی می کند. RTI گزارشی را در سال 2010 با عنوان "تأثیر اقتصادی کنترل دسترسی مبتنی بر نقش" منتشر کرد که نشان می دهد بازده قابل توجهی از سرمایه گذاری در یک سیستم RBAC وجود دارد. برای یک شرکت خدمات مالی فرضی از 10،000 کارمند ، RTI تخمین می زند که RBAC 24000 دلار IT را در نیروی کار صرفه جویی می کند ، و خرابی کارمندان 300000 دلار در سال را برای شرکت صرفه جویی می کند. اتوماسیون فرایند دسترسی کاربر حتی بیشتر در کاهش IT کار شما را صرفه جویی می کند.

    سرانجام ، شرکت ها می توانند سیستم های RBAC را برای تأمین نیازهای نظارتی و قانونی برای محرمانه بودن و حفظ حریم شخصی پیاده سازی کنند ، زیرا مدیران و ادارات IT می توانند به طور مؤثرتر نحوه مدیریت داده ها قابل دسترسی و استفاده هستند. این امر به ویژه برای مؤسسات مالی و شرکتهای مراقبت های بهداشتی که داده های حساس را مدیریت می کنند و نیاز به رعایت طراحی حریم خصوصی دارند ، بسیار مهم است.

    در پایان اجرای ، شبکه شما بسیار امن تر از آن خواهد بود ، و داده های شما از سرقت بسیار ایمن تر باشید. و شما مزایای دیگر افزایش بهره وری را برای کاربران و کارکنان IT خود دریافت می کنید. اگر از ما بخواهید منفی نیست.

    5 مرحله برای اجرای کنترل دسترسی مبتنی بر نقش

     لیست مراحل اجرای RBAC

    مراحل زیر برای اجرای RBAC لازم است:

    1. تعریف منابع و خدمات شما به کاربران خود ارائه می دهید (به عنوان مثال ، ایمیل ، CRM ، اشتراک گذاری پرونده ها ، برنامه های ابری).
    2. نقشه برداری از نقش ها به منابع ایجاد کنید از مرحله 1 به گونه ای که هر عملکرد می تواند به منابع مورد نیاز دسترسی پیدا کند.
    3. ایجاد گروه های امنیتی که هر نقش را نمایندگی می کنند.
    4. کاربران را با اضافه کردن آنها به گروه های مربوط به نقش مبتنی بر ، نقش های تعریف شده اختصاص دهید.
    5. گروه ها را برای دسترسی به لیست های کنترل استفاده کنید. در مورد منابع (به عنوان مثال ، پوشه ها ، صندوق های پستی ، سایت ها) حاوی داده ها

    خبر خوب این است که شما می توانید حدس و گمان ها را تا حد زیادی از این روند خارج کنید. Varonis DatAdvantage بینش می دهد که چه کسی به طور مرتب از داده ها بطور فعال استفاده می کند ، و چه کسی این کار را نمی کند ، که می تواند در ایجاد نقش و تعیین تکلیف کمک کند همچنین می توانید یک مالک داده برای هر گروه امنیتی (به عنوان مثال نقش) یا مجموعه داده تعیین کنید تا بار IT را کاهش دهد.

    این مالک داده ، که اطلاعات بیشتری نسبت به اطلاعات خود در زمینه داده دارد ، این است مسئول دسترسی به داده های آنها در دراز مدت است و می تواند به راحتی درخواست های دسترسی رابط کاربری Varonis DataPrivilege را تأیید یا رد کند. Varonis همچنین هنگام تعیین نقش ، قابلیت های مدل سازی را فراهم می کند ، بنابراین قبل از ارتکاب می توانید در صورت لغو دسترسی به پوشه ای از این نقش ، چه اتفاقی می افتد.

    تمیز نگه داشتن سیستم ضروری است. به هیچ یک از کاربران نباید امتیازات خارج از نقش خود را به طور دائم اختصاص داد. DataPrivilege امکان دسترسی موقت به اشتراک پرونده را بر اساس درخواست فراهم می کند ، که این قانون اول را نقض نمی کند. با این وجود ضروری است که یک فرآیند تغییر ایجاد شود تا نقش ها در صورت نیاز تنظیم شود.

    و البته ، شما می خواهید به طور منظم ممیزی و نظارت بر همه این منابع مهم داشته باشید. شما باید بدانید که آیا کاربر سعی دارد به داده های خارج از صندلی اختصاص داده شده خود دسترسی داشته باشد یا اینکه اجازه ای به خارج از نقش خود به کاربر اضافه شود.

    بهترین اقدامات و مواردی که هنگام اجرای RBAC

     لیست 5 مرحله باید در نظر بگیرد. برای اجرای RBAC

    در این بخش برخی از اشتباهات معمول را که اغلب هنگام حرکت به سیستم RBAC ظاهر می شوند ، مرتکب می شویم و به شما نشان می دهیم که چگونه از آنها جلوگیری کنید.

    1. ایجاد یک استراتژی RBAC

    ایجاد یک استراتژی با ارزیابی از مکان شما (داده ها ، فرآیند ، سیاست ، سیستم ها) آغاز می شود ، وضعیت آینده دلخواه خود را تعریف می کند (تهیه خودکار دسترسی از طریق RBAC برای مجموعه ای از برنامه ها و سیستم ها ) ، و شکاف های شما را که باید به آنها توجه شود (کیفیت داده ها ، مسائل مربوط به فرآیند ، مدل های مختلف تأیید اعتبار / مجوز در سیستم ها) شناسایی می کند. شناسایی مسائل پیش روی این امکان را می دهد تا قبل از شروع اجرای برنامه ، به آنها بپردازیم. "دو بار اندازه بگیرید ، یک بار نقش ها را اختصاص دهید!"

    2. ایجاد ساختار حکومتی

    سازمان هایی که در حال آماده شدن برای RBAC هستند باید تصمیم بگیرند درباره اولویت های پروژه ، ایجاد استانداردها ، مدیریت و پشتیبانی از اجرای ، اقدامات مؤثر عملکرد و مدیریت ریسک. هیئت حاکمیت باید به عملکرد HR گره بخورد تا مسائل را با داده و فرآیند مشخص کند و تلاشهای ترمیم را در اولویت قرار دهد.

    3. اختصاص یک مالک چرخه عمر کاربر

    وقتی اولویت های HR با اولویت های IT مطابقت نداشته باشد ، سازمان ها می توانند خود را با هم اختلاف داشته باشند. وقتی این ناهماهنگی ها اتفاق می افتد ، باید شخصی (یا اشخاص) وجود داشته باشد که بتواند به عنوان نقطه تشدید برای تصمیم گیری تصمیم گیری کند که به نفع کل سازمان باشد. توجه داشته باشید که صاحب چرخه عمر کاربر باید در هیئت های مدیریت HR و RBAC شرکت کند.

    4. مدیریت نقش

    تعیین کنید چه کسی صاحب مشاغل (به عنوان مثال مالک برنامه) و نقش های فنی خواهد بود. باید مجموعه ای از روندها و خط مشی های مربوط به اینکه چند بار نقش ها مجدداً ارزیابی می شوند ، در صورت انقضا و زمان انقضا ، و اینکه چه کسی آنها را حفظ می کند ، وجود داشته باشد.

    5. با تجزیه و تحلیل نقش از بالا به پایین

    در مرحله طراحی RBAC ، بحث و گفتگو با مدیران کسب و کار باید پیش از ساخت نقش های فنی انجام شود تا دسترسی کارکرد کارگران را مستند سازد و اعتبار دهد که هر کاربر در نقش یکسان است. دسترسی اصلی در این مرحله ، باید استثنائات غیر ضروری پاک شود که به ابزار معدنکاری امکان دستیابی به شناسایی نقشهای نامزد را می دهد.

    6. انجام تجزیه و تحلیل نقش پایین دستی

    نقشهای فنی از طریق استخراج نقش و تجزیه و تحلیل توسعه می یابند و یک فرآیند "از پایین به بالا" است ، به این معنی که ابزار جمع آوری و ارزیابی داده های موجود برای تعیین نقش های فنی برای مجموعه ای از کاربران. نقش های فنی مجموعه مجوزهایی است که اجازه می دهد عملکرد یک کار خاص تجاری به شما ارزش تجاری دهد.

    در نهایت ، بهترین نتایج حاصل از همکاری با ذینفعان تجاری برای طراحی مجموعه ای از نقش های تجاری (بالا پایین) و سپس آشتی دادن آنها با واقعیت دسترسی کشف شده توسط نقش معدن (پایین پایین) به منظور درک آنچه دسترسی فراموش نشده یا ضروری نیست.

    7. شروع با یک خلبان

    ما توصیه می کنیم یک بخش کوچک یا عملکرد تجاری را به عنوان یک پروژه بتا انتخاب کنید تا ریسک اجرای آن را به حداقل برسانید ، یک پیروزی سریع داشته باشید و اثربخشی مدل RBAC را نشان دهید.

    نمونه هایی از نقش محور کنترل دسترسی

    وقتی به دنبال پیاده سازی سیستم RBAC هستید ، داشتن یک مثال اساسی برای راهنمایی شما مفید است. اگرچه ممکن است RBAC مانند یک رویکرد پیچیده به نظر برسد ، اما در واقعیت ، شما در بسیاری از سیستمهای متداول با RBAC روبرو می شوید.

    شاید بارزترین نمونه این سلسله مراتب از یک مجموعه وردپرس CMS از نقش های کاربر است. در سیستم های پیش فرض وردپرس ، نقش های اصلی کاربر به شرح زیر است:

    • Super Admin – شخصی که به ویژگی های مدیریت شبکه سایت و سایر ویژگی های دیگر دسترسی دارد. به مقاله ایجاد شبکه مراجعه کنید.
    • Administrator – شخصی که به کلیه ویژگی های مدیریت در یک سایت واحد دسترسی دارد.
    • ویراستار – شخصی که می تواند پست ها از جمله پست سایر کاربران را منتشر و مدیریت کند. .
    • نویسنده – کسی که می تواند پست های خود را منتشر و مدیریت کند.
    • مشارکت کننده – کسی که می تواند پست های خود را بنویسد و مدیریت کند اما نمی تواند آنها را منتشر کند.
    • مشترک – کسی کسانی که فقط می توانند نمایه خود را مدیریت کنند.

    وقتی کاربر در WordPress تأیید اعتبار کرد ، پایگاه داده SQL که نقش کاربر در آن ذخیره می شود ، تعیین می کند که کاربر هنگام ورود به سیستم چه حقوقی خواهد داشت.

    ممکن است کاربر سرپرست مسئولیت نگهداری از افزونه های وب سایت. مدیر می خواهد از کاربرانی که بخشی از برنامه تعمیر و نگهداری وب سایت نیستند ، اجازه نصب ، حذف یا اصلاح هر یک از افزونه ها را بگیرد. در این حالت ، نقش مشارکت کننده برای شخصی که می تواند فقط در حال ارسال به روزرسانی های جدید باشد ، ممکن است به دلیل مجموعه ای از نقش های خاص که کاربر مجاز به انجام آن است ، منطقی باشد.

    به عبارت دیگر ، سیستم کاربر WordPress تضمین می کند که همه کاربران دارند. نقشی که به آنها حقوق بیش از حد اعطا نمی کند ، و از دسترسی کاربرانی که برای نقش خود به این کار احتیاج ندارند ، محافظت می کند. گرچه وردپرس از این سیستم به عنوان یک سیستم "RBAC" یاد نمی کند ، اما دقیقاً چنین است.

    Azure RBAC

    کنترل دسترسی مبتنی بر نقش لاجورد (Azure RBAC) یک اجرای RBAC برای لاجورد است. این کمک می کند تا شما را مدیریت کنید که چه کسی به منابع لاجورد دسترسی داشته باشد ، چه کاری می تواند با این منابع انجام دهد و به چه مناطقی دسترسی داشته باشد. Azure RBAC یک سیستم مجوز است که در مدیریت منابع لاجورد ساخته شده است و مدیریت دسترسی ریز دانه ای از منابع لاجوردی را فراهم می کند.

    در اینجا چند نمونه از کارهایی که می توانید با Azure RBAC انجام دهید ، آورده شده است:

    • به یک کاربر اجازه دهید ماشین های مجازی را در یک مدیریت کند. اشتراک و یک کاربر دیگر برای مدیریت شبکه های مجازی
    • به یک گروه DBA اجازه دهید پایگاه های داده SQL را به صورت مشترک مدیریت کند
    • به کاربر اجازه دهید همه منابع را در یک گروه منابع ، مانند دستگاه های مجازی ، وب سایت ها و زیر شبکه ها مدیریت کند
    • برنامه ای برای دسترسی به کلیه منابع در یک گروه منابع

    شما می توانید با ایجاد تکالیف نقش ، دسترسی به منابع را با استفاده از Azure RBAC کنترل کنید. این یک مفهوم اصلی برای درک است – چگونگی اجرای مجوزها. انتساب نقش از سه عنصر تشکیل شده است: اصل امنیت ، تعریف نقش و دامنه.

    اصل امنیت شی object است که نماینده یک کاربر ، گروه ، سرویس دهنده اصلی یا هویت مدیریت شده است که درخواست دسترسی به منابع لاجورد را دارد. از چهار ویژگی تشکیل شده است:

    • کاربر – شخصی که دارای مشخصات در دایرکتوری فعال لاجورد است. همچنین می توانید در سایر مستاجران به کاربران نقش اختصاص دهید. برای اطلاعات در مورد کاربران در سازمان های دیگر ، به مستندات مایکروسافت در Azure Active Directory B2B مراجعه کنید.
    • Group – مجموعه ای از کاربران ایجاد شده در Azure Active Directory. وقتی شما یک گروه را به یک گروه اختصاص می دهید ، تمام کاربران در آن گروه آن نقش را دارند.
    • مدیر سرویس – یک هویت امنیتی که توسط برنامه ها یا سرویس ها برای دسترسی به منابع خاص لاجوردی استفاده می شود. شما می توانید از آن به عنوان یک هویت کاربر (نام کاربری و رمز عبور یا گواهی نامه) برای یک برنامه استفاده کنید.
    • هویت مدیریت شده – یک هویت موجود در Azure Active Directory که به طور خودکار توسط Azure اداره می شود. شما معمولاً در هنگام تهیه برنامه های ابری از هویت های مدیریت شده استفاده می کنید تا اعتبار خود را برای تأیید اعتبار در سرویس های لاجوردی مدیریت کنید.

    اگرچه Azure RBAC روشی رایج برای سرپرست شبکه برای پیاده سازی RBAC در سازمانهای خود است ، اما تنها گزینه موجود نیست. در اینجا در Varonis ، ما معمولاً یک روش ترکیبی را توصیه می کنیم که از برخی عناصر Azure RBAC استفاده می کند اما این موارد را در یک استراتژی امنیتی گسترده تر گنجانده است.

    گزینه های RBAC

    RBAC تنها یک رویکرد برای مدیریت دسترسی به شبکه های شما است ، و آن این است: جایگزینی برای یک سیاست امنیتی کامل و مستحکم نیست.

    دو گزینه دیگر برای کنترل دسترسی مبتنی بر Role عبارتند از لیست های کنترل دسترسی (ACL) و کنترل دسترسی مبتنی بر ویژگی (ABAC) ، که هر دو مزایا و اشکالاتی دارند.

    لیست های کنترل دسترسی

    ACL جدولی است که به یک منبع خاص متصل شده است و توصیف می کند چه اقداماتی مجاز یا ممنوع است. این توضیح می دهد كه كدام كاربران می توانند به منبعی دسترسی پیدا كنند و اقداماتی كه مجاز به انجام آن هستند پس از دستیابی به آن.

    این نوع كنترل دسترسی بهتر است برای كنترل سطح پایین استفاده شود. به عنوان مثال ، ACL ها معمولاً در فایروال ها مشخص می شوند که از هر سیستم در شبکه ، کدام نوع از ترافیک برنامه مجاز به عبور از فایروال است. فایروال ACL با طراحی مناسب می تواند دسترسی به شبکه شرکت را خنثی کند ، حمله آن را بسیار دشوارتر می کند.

    یکی از مشکلات ACL ها ، در مقایسه با RBAC ، این است که آنها مقیاس خوبی ندارند. با استفاده از کنترل دسترسی مبتنی بر Role ، کاربران می توانند به "نقشهای" مختلفی تقسیم شوند و به هر نقش اجازه خاصی داده می شود ، در حالی که ACL ها در درجه اول برای مدیریت دسترسی در سطح فردی طراحی شده اند. کاستی دیگر ACL ها برای مدیریت دسترسی به شبکه ، انبوه امنیت آن است که آنها فراهم می کنند. برخلاف RBAC ، در حالی که ACL می تواند دسترسی به پرونده را مدیریت کند ، اما اگر کاربر دارای مجوز ویرایش در ACL باشد ، نمی تواند نحوه ویرایش پرونده را کنترل کند.

    کنترل دسترسی مبتنی بر ویژگی

    کنترل دسترسی مبتنی بر ویژگی جایگزین دیگری برای RBAC است. در سیستم ABAC ، می توان ویژگی های مختلفی را در توصیف وضعیت منحصر به فرد خود به کاربر اختصاص داد ، مانند اینکه مدیر و عضو گروه حسابداری هستند. قوانین دسترسی برای یک منبع خاص می تواند پس از آن در EXtensible Language Markup Access Markup Language (XACML) برای تعریف منطق بولی نوشته شود که مجوزهایی را که باید براساس ویژگی های آنها به کاربر اعطا شود ، توصیف می کند.

    ABAC مبادله ای بین امنیت و کارایی انجام می دهد. . با ABAC ، می توان قوانین کاملاً دقیقی را تعیین کرد که دسترسی به یک منبع خاص را کنترل می کند. این ایده آل در شرایطی است که قوانینی برای ارائه سطح امنیتی و کنترل مطلوب روی دارایی بسیار غلیظ باشند.

    اما روند ارزیابی اینکه آیا کاربر باید به یک دارایی خاص مبتنی بر اینها دسترسی داشته باشد یا خیر. قوانین می توانند کند و محاسباتی گران باشند. سیستم ABAC برای تصمیم گیری باید مجموعه کامل عبارات منطق بولی را برای مجموعه ای از ویژگی های کاربر ارزیابی کند. این بدان معنی است که ABAC در شرایطی که دسترسی باید به سختی مدیریت شود ، گزینه خوبی است ، اما RBAC انتخاب بهتری است ، به ویژه برای منابعی که به طور مکرر به آنها دسترسی پیدا می شود.

    رویکرد ما

    برای بسیاری از سازمان ها ، RBAC دانه دانه کافی برای پشتیبانی از حمایت از داده ها و الزامات نظارتی را ارائه نمی دهد.

    برای مثال ، داده های مقطعی ، که توسط یک زیر مجموعه کوچک از کاربران از گروه های تجاری مختلف به اشتراک گذاشته می شود ، فقط باید در هر نقش در دسترس کاربران خاص باشد. RBAC توانایی دستیابی به این نتیجه را محدود می کند زیرا شما نمی توانید فقط به تعداد مشخصی از افراد از چندین نقش تجاری دسترسی داشته باشید. استفاده از یک گروه مبتنی بر نقش در یک مجموعه داده ، باعث نقض اصل حداقل امتیاز خواهد شد.

    رویکردهای بی شماری برای حل این مسئله اتخاذ شده است ، اما با موفقیت کمی. در اکثر موارد ، تلاش برای ایجاد محدودیت کافی در RBAC ، مجوزهای منبع را در حالت دسترسی بیش از حد مجاز قرار می دهد ، بنابراین حفظ و صدور مجوز برای انطباق را غیر ممکن می کند.

    برای داده هایی که نیاز به محافظت بیشتر دارند ، فلسفه ما این است که مدیریت مجوز باید بر اساس محتوای داده ها باشد و نه نقش عملکردی کاربران نیاز به دسترسی. برای این پوشه ها باید گروه های امنیتی خاص داده ایجاد شوند و از مجوزهای مستقیم باید اجتناب شود. [برایمثال،یکشرکتخدماتممکناستدارایاطلاعاتمشتریحساسباشدکهفقطبایددردسترسافرادخاصباشدپسازشناساییپوشههایحاویایندادهها،مجوزهافقطبایدبهافرادگروهخاصمحتوااعطاشودگروههایدپارتمانینبایدمجوزهاییرارویاینپوشهبگذارند

    شما می توانید این رویکرد را حتی بیشتر انجام دهید و گروههایی خاص داده را براساس میزان دسترسی مورد نیاز ایجاد کنید:

    ممکن است مصرف کنندگان این داده های Sarbanes-Oxley (SOX) شامل تعدادی کاربر انتخابی از تیم های حقوقی ، دارایی و انطباق است. حتی تعداد کمتری از کاربران نیاز به اصلاح داده ها دارند. با ایجاد گروه های خاص منابع ، پیچیدگی را کاهش می دهید ، اعتبارسنجی مجدد را تسهیل می کنید و به راحتی می توانید از یک مدل حداقل امتیاز اطمینان حاصل کنید.

    A Final Word

    RBAC یک الگوی قدرتمند برای کنترل دسترسی به داده ها و منابع حیاتی است و در صورت پیاده سازی به طور صحیح می توانید امنیت سیستم های خود را به طرز چشمگیری افزایش دهید.

    اگر بخاطر داشته باشید که RBAC نوعی امنیت فضای مجازی نیست. چندین روش وجود دارد که بازیگران بد برای دستیابی غیرمجاز از آنها استفاده می کنند و شما نباید برای محافظت از داده های خود فقط به کنترل های پیشگیرانه مانند RBAC اعتماد کنید. کنترل های کارآگاهی مانند یک بستر تحلیلی رفتار کاربر می تواند در مورد رفتار دسترسی غیرمعمول – حتی اگر برای یک نقش مجاز باشد – هشدار دهد و از نقض اطلاعات جلوگیری کند.