Требуемая роль: security_admin.

Правило контроля доступа (ACL, Access Control List) указывает, каким пользователям и/или процессам разрешен доступ к объектам, а также какие операции можно проводить с этими объектами.

В SimpleOne пользователи проверяются на соответствие набору требований правил для доступа, прежде чем им будет разрешено работать с данными. 

Правила контроля доступа определяют:

  • Объект для защиты.
  • Операцию для защиты.
  • Необходимые разрешения.

Объекты


Правила контроля доступа ограничивают доступ к объекту. Каждый объект состоит из типа,  наименования таблицы, поля или записи.

В данной таблице представлены примеры объектов:

ТипТаблицаКолонкаЗащищаемый объект
записьПроблемы (itsm_problem)(не задано)Таблица Проблемы.
записьИнциденты (itsm_incident)infrastructure_incidentПоле Инфраструктурный инцидент таблица Инциденты.

Операции


В правилах контроля доступа операция относится к действию проверки, выполняемой над указанным объектом. С некоторыми объектами, например с записями, можно выполнять несколько операций.

В данной таблице представлены примеры объектов:

ТипТаблицаКолонкаЗащищаемый объект

[Create]

создание

itsm_problem(не задано)Создание записей в таблице Проблемы. Сгенерированное название записи правила –[Create].itsm_problem

[Write]

запись

itsm_incidentinfrastructure_incidentРедактирование поля Инфраструктурный инцидент в таблице Инциденты. Сгенерированное название записи правила – [Write].itsm_incident.active

Разрешения


Разрешения определяют детали доступа к названному объекту и операции. Ответственные лица должны указать разрешение со следующей информацией:

  • Роли пользователей в поле Роли.
  • Условия.
  • Скрипт, возвращающий значение true или false или задающий переменной answer значение true или false.

Подробнее читайте в статье Создание правил контроля доступа.

Чтобы выполнить операцию над конкретным объектом, пользователь должен удовлетворять ВСЕ разрешения, перечисленным в правиле контроля доступа. Например, чтобы получить доступ к активной записи в таблице Статьи, пользователь должен выполнить следующие условия:

Тип разрешенияТребованияОписание
РолиТребуется роль: service_ownerТолько пользователи с ролью service_owner могут читать статьи.
УсловиеВладелец равно (динамическое) Я

Статья доступна владельцу записи Элемент контента, с которым связана статья.

Пустое условие возвращает значение true.

Системное свойство acl.disabled позволяет отключить все проверки по правилам контроля доступа

Чтобы отключить проверку безопасности, выполните следующие шаги:

  1. Перейдите в Свойства системы → Свойство ACL.
  2. В поле Значение введите true, чтобы отключить проверку по правилам, или false, чтобы ее включить.
  3. Нажмите Сохранить или Сохранить и выйти.

Если вы включите это свойство, вы можете повредить свой экземпляр SimpleOne. Поэтому используйте свойство осторожно и не забывайте выключать его после всех необходимых операций.

Как ACL проверяет разрешения


  1. При запросе данных система проверяет, есть ли правила контроля доступа, соответствующие запрошенному объекту и операции.
  2. Если подходящее правило найдено, система проверяет пользователя на соответствие всем требованиям, а затем либо разрешает доступ к объекту и операции, либо запрещает его.
  3. Если пользователь не соответствует одному из требований, система ограничивает доступ.
    • Система проверяет все правила, относящиеся к запрашиваемому объекту. Если пользователь не соответствует всем требованиям ACL к запрашиваемому объекту и операции, система отказывает в доступе к ним.

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

Отказ в доступе влияет на то, что пользователь видит или делает, в зависимости от самого правила контроля доступа. Например, если отклонено правило доступа на чтение, пользователю будет запрещен просмотр объекта. В зависимости от объекта пользователь не будет видеть поле, записи из списка или страницу пользовательского интерфейса.

В таблице ниже перечислены результаты несоответствия правилу контроля доступа для конкретной операции и типа объекта:

ОперацияРезультаты несоответствия правилу
Создание

Действие пользовательского интерфейса Создать не отображается пользователю на страницах. Пользователи также не могут создать записи в таблицах, используя API.

Если у правила на Создание есть условие, которое указывает значение поля, оно всегда возвращается с результатом false. В только что созданных записях, поля считаются незаполненными, пока запись не будет сохранена.

Чтение

Объекты формы и списка не отображаются для пользователя. Пользователи также не могут извлекать записи таблиц, используя API.

Запись

Поля формы недоступны для редактирования пользователю: они доступны только для чтения. Пользователи также не могут обновлять записи таблицы, используя API. 

Удаление

Действие пользовательского интерфейса Удалить не отображается пользователю на страницах. Пользователи также не могут удалить записи в таблицах, используя API.

  • No labels