Google - ваш друг :)
У будь-якому випадку, розрив між рольовою та груповою випливає з концепцій комп'ютерної безпеки (на відміну від простого управління ресурсами). Професор Раві Сандху забезпечує поетапне висвітлення смислової різниці між ролями та групами.
http://profsandhu.com/workshop/role-group.pdf
Група - це сукупність користувачів із заданим набором дозволів, присвоєних групі (і перехідно для користувачів). Роль - це сукупність дозволів, і користувач фактично успадковує ці дозволи, коли він діє за цією роллю.
Зазвичай членство у вашій групі залишається протягом вашого часу входу. З іншого боку, роль може бути активована відповідно до конкретних умов. Якщо ваша теперішня роль - «медичний персонал», ви можете побачити деякі медичні записи для даного пацієнта. Якщо ваша роль також є "лікарем", ви можете побачити додаткову медичну інформацію за винятком того, що може бачити людина, яка має лише роль "медичного персоналу".
Ролі можна активувати за часом доби, місцем доступу. Ролі також можуть бути покращені / пов'язані з атрибутами. Можливо, ви працюєте як "лікар", але якщо у вас немає атрибута або стосунку "первинний лікар" зі мною (користувача з "роллю пацієнта"), ви не можете побачити всю мою історію хвороби.
Ви могли б зробити все це з групами, але знову ж таки, групи, як правило, орієнтуються на ідентичність, а не на роль чи діяльність. А тип аспектів безпеки, щойно описані, як правило, краще узгоджуються з пізнішими, ніж з першими.
У багатьох випадках для класифікації речей (і нічого більше) групи та ролі функціонують однаково. Однак групи грунтуються на ідентичності, тоді як ролі мають на меті розмежувати діяльність. На жаль, операційні системи, як правило, розмивають розрізнення, трактуючи ролі як групи.
Ви бачите набагато більш чітке розмежування з ролями додатків або системного рівня - перенесення програми або семантики, характерної для системи (як, наприклад, ролі Oracle ) - на відміну від «ролей», реалізованих на рівні ОС (які, як правило, є синонімами груп).
Існують обмеження щодо ролей та моделей контролю доступу на основі ролей (як, звичайно, будь-що):
http://www.lhotka.net/weblog/CommentView,guid,9efcafc7-68a2-4f8f-bc64-66174453adfd.aspx
Близько десятиліття тому я побачив деякі дослідження контролю доступу на основі атрибутів та відносин, які забезпечують набагато кращу деталізацію, ніж контроль доступу на основі ролей. На жаль, я не спостерігав великої активності в цій царині роками.
Найважливіша різниця між ролями та групами полягає в тому, що ролі зазвичай реалізують обов'язковий механізм контролю доступу (MAC). Ви не отримуєте призначення (або інших) ролей. Робити це адміністратор або інженер ролей.
Це поверхово схоже на групи UNIX, коли користувач може / може мати можливість призначити себе групі (звичайно через sudo.) Коли групи призначаються відповідно до інженерно-технічного процесу, відмінність трохи розмивається.
Ще одна важлива характеристика полягає в тому, що справжні моделі RBAC можуть забезпечувати концепцію взаємовиключних ролей. На відміну від цього, групи, засновані на ідентичності, є адитивними - тотожність основного принципу - це сума (або сполучник) груп.
Інша характеристика моделі безпеки, заснованої на справжньому RBAC, полягає в тому, що елементи, створені для певної ролі, як правило, не можуть переходити транзитивно тим, хто не діє за цією роллю.
З іншого боку, за допомогою дискреційної моделі контролю доступу (ЦАП) (модель за замовчуванням в Unix) ви не можете отримати такий тип гарантії лише з групами. До речі, це не обмеження груп або Unix, а обмеження моделей ЦАП, заснованих на ідентичності (і транзитивно, з групами на основі ідентичності.)
Сподіваюся, це допомагає.
========================
Додавши ще трохи, побачивши добре поставлену відповідь Саймона. Ролі допомагають керувати дозволами. Групи допомагають керувати об’єктами та предметами. Більше того, можна вважати ролі «контекстами». Роль 'X' може описати контекст безпеки, який визначає, як суб'єкт Y отримує доступ (або не має доступу) до об'єкта Z.
Ще одна важлива відмінність (або ідеал) полягає в тому, що є інженер-роль, людина, яка розробляє ролі, контексти, які необхідні та / або очевидні в додатку, системі чи ОС. Інженер ролей, як правило, є (але не повинен бути) також адміністратором ролей (або sysadmin). Більше того, справжня роль (не призначена для каламбура) інженера ролей полягає у царині інженерії безпеки, а не в адміністрації.
Це нова група, формалізована RBAC (навіть якщо вона рідко використовується), яка, як правило, не присутня в групових системах.