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

Материал из Hivext Wiki

Перейти к: навигация, поиск

Содержание

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

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

Сервис управления доступом реализует в себе две техники Ролевое разделение и Избирательную систему на основе списков прав доступа (Access Control List - ACL). Обе техники дополняют друг друга, создавая гибкое решение: можно установить права доступа сразу на группы пользователей через Роли (чего достаточно для большинства приложений), так и связать конкретные объекты, права и пользователей через Списки доступа (для частных случаев).

Виды субъектов Виды объектов
  • Приложения платформы;
  • Зарегистрированные пользователи;
  • Не зарегистрированные пользователи [гости].
  • Типы данных;
  • Экземпляры типов [объекты].

Для установки связей субъекта с объектом, платформа оперирует следующим набором ключей:

для субъектов

Субъект Описание
0 все гости и пользователи текущего приложения
* все пользователи текущего приложения
*/* все пользователи всех приложений
appid/* все пользователи одного конкретного приложения
*/uid один конкретный пользователь всех приложений
appid/uid один конкретный пользователь одного конкретного приложения

для объектов

Объект Описание
* все типы
type один конкретный тип
*/* все типы и все объекты этих типов
type/* один тип и все объекты этого типа
*/id все типы и один объект этих типов
type/id один тип и один объект этого типа

где

appid - идентификатор приложения (* - все приложения)
uid - идентификатор пользователя (* - все пользователи, 0 - гости)
type - название типа (* - все типы)
id - идентификатор объекта (* - все объекты)

При поиске того или иного права система идет от частного к общему: права доступа, установленные на конкретные связи субъекта (appid, uid) с объектом (type, id), имеют больший приоритет, чем права установленные на группы (*).

Общая информация

Параметр Значение
Версия сервиса 1.0 [stable]
Пространство имен Security
Имя сервиса AccessControl
Локальный доступ hivext.security.accesscontrol.{название_метода}
Сетевой доступ http://api.hivext.ru/1.0/security/accesscontrol/{protocol}/{название_метода}
Характеристика
  • Избирательная система управления доступом
  • Управление политикой доступа на основе ролей
Консоль http://code.hivext.ru/development/APIConsole/#Security.AccessControl

Методы

Разделение методов сервиса по категориям

Управление ролями Управление списком доступа (ACL)

CreateRole
Создание новой роли.
DeleteRole
Удаление роли.
GetRoles
Взять все роли для приложения.
AddPolicy
Добавление прав доступа к объекту для указанной роли.
RemovePolicy
Удаление прав доступа к объекту для указанной роли.
GetPolicy
Взять все права доступа к объектам для указанной роли.
ApplyRole
Применить роль к субъектам доступа (приложениям или пользователям).
RemoveRole
Удалить роль у субъектов доступа (приложений или пользователей).
GetRolesBySubject
Отобразить все роли для указанного субъекта доступа.
GetSubjectsByRole
Отобразить все субъекты для указанной роли.
GetRolesByObject
Отобразить все роли для указанного объекта доступа.
GetObjectsByRole
Отобразить все объекты для указанной роли.

SetRights
Запись прав в таблицу ACL для субъекта и объекта доступа.
GetRights
Информация о правах из таблицы ACL для субъекта и объекта доступа.
GetRightsBySubject
Информация о правах из таблицы ACL для субъекта доступа.
GetRightsByObject
Информация о правах из таблицы ACL для объекта доступа.
RemoveRights
Удаление прав из таблицы ACL для субъекта и объекта доступа.
RemoveRightsBySubject
Удаление прав из таблицы ACL для субъекта доступа.
RemoveRightsByObject
Удаление прав из таблицы ACL для объекта доступа.

Общие методы

CheckRights
Проверка прав для субъекта и объекта доступа.

Клиенты

Язык Адрес
WSDL 1.x отсутствует
JavaScript http://api.hivext.ru/1.0/security/accesscontrol.js

Компоненты

Для данного сервиса нет компонентов.

Личные инструменты