<& /includes/title.msn, title=>'Федеральный портал "Российское Образование" - Руководство для авторов и читателей' &> <& /includes/header.msn &>

RBAC - в вопросах и ответах
(RBAC - Role Based Access Contol system)

Общие вопросы

Управление авторизационной схемой

Управление доступом

Программный интерфейс


Общие вопросы

Что такое ролевая система авторизации ?
RBAC (role-based access control) - технология, которая позволяет управлять доступом пользователей к приложениям на основе ролей, которые приписаны к пользователю, а также контролировать доступность действий конкретным пользователем в рамках разрабатываемого приложения, пользуясь привилегиями, определенные в системе.

Она позволяет создавать управляемое множество ролей, отражающее реальную структуру управления системой (предприятием), в условиях, когда объекты системы являются сложными (многоатрибутными) структурами, требующие разделяемого доступа, возможно разного для разных атрибутов. Кроме того, эта технология позволяет разделить сферу ответственности между администратором авторизационной схемы и диспетчером прав доступа пользователей.

Что такое привилегия ?
Привилегия - это минимальное атомарное возможное действие пользователя, которое требует того или иного разграничения доступа к этому действию. В принципе возможно объединение нескольких таких атомарных действий в одну привилегию, но только при условии, что во всех возможных ситуациях, права на такой набор действий должны быть одинаковы. Привилегии могут быть двух видов:
  • Простая привилегия
  • Объектно-связанная привилегия
Простой привилегией называется любая привилегия, которая не может (или не должна) быть привязана ни к какому объекту системы. При этом, возможность или невозможность выполнения действия, зависит только от пользователя, который намеревается его выполнить. Примером простой привилегии может служить привилегия "Создать новую роль", в этом примере пользователю либо разрешено создать новую роль, либо нет.

Объектно-связанной привилегией является привилегия, привязаная к какому-либо внешнему объекту. Иными словами "Пользователь имеет возможность выполнить действие, если это действие осуществляется *над объектом* или *в области действия* объекта. Примером объектно-связанной привилегии может служить привилегия "Редактировать роль". При этом, она будет являться объектно-связанной только в том случае, когда требуется разграничивать право редактировать роли в зависимости от того, какая роль будет отредактирована. И в этом случае внешним объектом для данной объектно-связанной привилегии будет объект "роль".

Привилегия, определенная вне приложения, называется глобальной привилегией.
Что такое роль ?
Роль - это набор привилегий, определяющий право пользователя на то или иное действие по отношению к объекту. Роль, может включать в себя только те привилегии, которые были определены для конкретного приложения или глобальные привилегии. Если роль определена вне какого-либо приложения, то она называется глобальной, при этом она может включать в себя любые привилегии, независимо от приложений, в контексте которых они были созданы.
Примечание: Следует избегать использование глобальных ролей, так как это может привести к усложнению процесса управления доступом, и, как следствие, к возможным ошибкам.
Смотри также, роли по умолчанию.
Что такое прикладная роль ?
Прикладная роль (ПР) - это совокупность ролей (и привилегий), связанные общей функциональностью. Обычно, прикладная роль соответствует реально работающему приложению пользователя.
Например:
  • ПР "Sections management" соответствует рабочему месту для работы с рубрикатором;
  • ПР "Keywords management" - рабочему месту для работы с ключевыми словами;
ПР позволяют определять набор ролей по умолчанию, которые приписываются пользователю как только пользователь получает доступ к нему доступ. Например, ПР "Editors interface" имеет по умолчанию роль "News Author" (автор новостей), поэтому пользователь, получивший доступ к редакторскому интерфейсу, может готовить материалы, имеющий тип "новость" для публикации в системе.
Что такое приложение ?
Приложение - это программный код для выполнения группы логически связанных действий.
Кто такой администратор авторизационной схемы ?
Привилегированный пользователь, который занимается созданием и поддержкой авторизационной схемы системы (определяет привилегии, роли). Администратор авторизационной схемы обязан хорошо знать объекты системы, приложения, и, обычно входит в группу разработчиков (проектировщиков) системы. См. Управление авторизационной схемы
Кто такой диспетчер прав доступа ?
Привилегированный пользователь, который определяет отношения пользователя и ролей. Обычно, это член контентной группы, работающий с пользователями. См. Управление доступом
Организация работ с использованием RBAC
Ролевая система авторизации предусматривает несколько этапов работы по обеспечению разделению доступа к приложениям:
  1. Создание привилегий исходя из природы объектов системы;
  2. Группировка привилегий в роли;
  3. Создание прикладных ролей (ПР), отражающие работающие приложения;
  4. Назначение ПР конкретным пользователя, при этом пользователь получает роли по умолчанию;
  5. Назначение ролей конкретным пользователям;
  6. Использование программного интерфейса в компонентах приложения для проверки его доступности конкретному пользователю (посредством ролей) и возможности действий, совершаемых приложением от лица пользователя (посредством привилегий).

Управление авторизационной схемой

Как создать привилегию ?
Набор привилегий создается при установке на сервер портала нового приложения или новой версии существующего. Набор привелений определяется разработчиками приложения и создание привилегий должно проводиться при их обязательном участии.

Сама эта процедуры выходит за рамки данного описания.

Как создать роль ?
To be written
Как создать групповую роль ?
To be written

Управление доступом

Назначение ролей пользователям
Смотри описание ARRM.

Top

<& /includes/footer.msn &>