Google ist dein Freund :)
Wie auch immer, die Trennung zwischen Rolle und Gruppe ergibt sich aus Konzepten der Computersicherheit (im Gegensatz zum einfachen Ressourcenmanagement). Prof. Ravi Sandhu bietet eine wegweisende Berichterstattung über den semantischen Unterschied zwischen Rollen und Gruppen.
http://profsandhu.com/workshop/role-group.pdf
Eine Gruppe ist eine Sammlung von Benutzern mit einem bestimmten Satz von Berechtigungen, die der Gruppe (und transitiv den Benutzern) zugewiesen sind. Eine Rolle ist eine Sammlung von Berechtigungen, und ein Benutzer erbt diese Berechtigungen effektiv, wenn er unter dieser Rolle handelt.
Normalerweise bleibt Ihre Gruppenmitgliedschaft während der Dauer Ihrer Anmeldung bestehen. Eine Rolle kann dagegen unter bestimmten Bedingungen aktiviert werden. Wenn Ihre derzeitige Rolle "medizinisches Personal" ist, können Sie möglicherweise einige der medizinischen Unterlagen für einen bestimmten Patienten einsehen. Wenn Ihre Rolle jedoch auch "Arzt" ist, können Sie möglicherweise zusätzliche medizinische Informationen anzeigen, die über das hinausgehen, was eine Person mit nur einer Rolle als "medizinisches Personal" sehen kann.
Rollen können nach Tageszeit und Zugriffsort aktiviert werden. Rollen können auch erweitert / mit Attributen verknüpft werden. Sie arbeiten möglicherweise als "Arzt", aber wenn Sie kein Attribut oder keine Beziehung zum "Primärarzt" zu mir haben (ein Benutzer mit der Rolle "Patient"), können Sie meine gesamte Krankengeschichte nicht sehen.
Sie könnten das alles mit Gruppen machen, aber auch hier konzentrieren sich Gruppen eher auf Identität, nicht auf Rolle oder Aktivität. Und die soeben beschriebenen Sicherheitsaspekte stimmen tendenziell besser mit den späteren als mit den ersteren überein.
In vielen Fällen funktionieren Gruppen und Rollen für die Verwendung der Klassifizierung von Dingen zusammen (und nicht mehr) gleich. Gruppen basieren jedoch auf Identität, während Rollen die Aktivität abgrenzen sollen. Leider neigen Betriebssysteme dazu, die Unterscheidung zu verwischen und Rollen als Gruppen zu behandeln.
Sie sehen eine viel klarere Unterscheidung zwischen Rollen auf Anwendungs- oder Systemebene - mit anwendungs- oder systemspezifischer Semantik (wie in Oracle-Rollen) ) - im Gegensatz zu 'Rollen', die auf Betriebssystemebene implementiert sind (die normalerweise gleichbedeutend mit Gruppen sind).
Es kann Einschränkungen für Rollen und rollenbasierte Zugriffssteuerungsmodelle geben (wie natürlich bei allem):
http://www.lhotka.net/weblog/CommentView,guid,9efcafc7-68a2-4f8f-bc64-66174453adfd.aspx
Vor ungefähr einem Jahrzehnt habe ich einige Untersuchungen zur Attribut- und Beziehungszugriffskontrolle durchgeführt, die eine viel bessere Granularität bieten als die rollenbasierte Zugriffskontrolle. Leider habe ich in diesem Bereich seit Jahren nicht mehr viel Aktivität gesehen.
Der wichtigste Unterschied zwischen Rollen und Gruppen besteht darin, dass Rollen normalerweise einen obligatorischen Zugriffssteuerungsmechanismus (MAC) implementieren. Sie können sich (oder andere) nicht Rollen zuweisen. Ein Rollenadministrator oder Rolleningenieur macht das.
Dies ähnelt oberflächlich UNIX-Gruppen, in denen sich ein Benutzer einer Gruppe zuordnen kann / könnte (natürlich über sudo). Wenn Gruppen gemäß einem sicherheitstechnischen Prozess zugewiesen werden, verschwimmt die Unterscheidung jedoch etwas.
Ein weiteres wichtiges Merkmal ist, dass echte RBAC-Modelle das Konzept sich gegenseitig ausschließender Rollen liefern können. Im Gegensatz dazu sind identitätsbasierte Gruppen additiv - die Identität eines Principals ist die Summe (oder Konjunktion) der Gruppen.
Ein weiteres Merkmal eines auf echtem RBAC basierenden Sicherheitsmodells besteht darin, dass auf Elemente, die für eine bestimmte Rolle erstellt wurden, normalerweise nicht transitiv von jemandem zugegriffen werden kann, der nicht unter dieser Rolle handelt.
Andererseits können Sie unter einem DAC-Modell (Discretionary Access Control) (dem Standardmodell in Unix) diese Art von Garantie nicht nur für Gruppen erhalten. Übrigens ist dies keine Einschränkung von Gruppen oder Unix, sondern eine Einschränkung von DAC-Modellen, die auf Identität basieren (und transitiv mit identitätsbasierten Gruppen).
Ich hoffe es hilft.
=======================
Fügen Sie noch etwas hinzu, nachdem Sie Simons gut formulierte Antwort gesehen haben. Mithilfe von Rollen können Sie Berechtigungen verwalten. Gruppen helfen Ihnen beim Verwalten von Objekten und Themen. Darüber hinaus könnte man sich Rollen als "Kontexte" vorstellen. Eine Rolle 'X' kann einen Sicherheitskontext beschreiben, der regelt, wie Subjekt Y auf Objekt Z zugreift (oder nicht zugreift).
Ein weiterer wichtiger Unterschied (oder Ideal) besteht darin, dass es einen Rolleningenieur gibt, eine Person, die die Rollen, die Kontexte entwickelt, die in einer Anwendung, einem System oder einem Betriebssystem notwendig und / oder offensichtlich sind. Ein Rolleningenieur ist in der Regel auch ein Rollenadministrator (oder Systemadministrator) (muss es aber nicht sein). Darüber hinaus liegt die wahre Rolle (kein Wortspiel beabsichtigt) eines Rolleningenieurs im Bereich der Sicherheitstechnik, nicht der Verwaltung.
Dies ist eine neuartige Gruppe, die von RBAC formalisiert wurde (auch wenn sie selten verwendet wird), eine, die bei gruppenfähigen Systemen normalerweise nicht vorhanden war.