Права доступа на объекты можно ограничить на следующих уровнях:
- По операциям. Подробнее: Настроить доступ по операциям.
- По записям. Подробнее: Настроить доступ по записям.
- По колонкам. Настройка прав доступа на уровне чтения, редактирования и удаления отдельных колонок выбранного объекта будет рассмотрена в данной статье.
Колонки объектов отображаются в виде полей на страницах и в реестрах разделов и деталей. Использование доступа по колонкам позволяет ограничить права на чтение и редактирование значений в отдельных полях объекта для отдельных пользователей или ролей. Например, вы можете ограничить право на просмотр данных в поле Годовой оборот для роли “Секретари”, а остальным сотрудникам компании оставить доступ к полю. При этом для пользователей, у которых нет права на чтение данных в поле Годовой оборот, поле останется видимым, но его значение отображаться не будет (Рис. 1).
При использовании доступа по колонкам для определенных ролей и пользователей более приоритетными являются настроенные для них права доступа по операциям. Например, если у пользователя нет права на операцию чтения данных объекта, то для такого пользователя объект будет скрыт полностью.
Доступ к колонкам, не добавленным на деталь, и к колонкам на детали, для которых не указаны права доступа, определяется настройками прав доступа по операциям.
Если в объект, для которого уже используется администрирование по колонкам, добавляется новая колонка, то права доступа к ней нужно настраивать отдельно, независимо от того, имеет ли пользователь доступ на операции в данном объекте. Пользователи не будут иметь доступа к новой колонке, добавленной в объект после включения администрирования по колонкам, если настройки не выполнены.
Если вы только начинаете знакомство с Creatio, то рекомендуем ознакомиться с концепцией прав доступа на объекты в Creatio в онлайн-курсе Управление пользователями и ролями. Права доступа.
Настроить доступ на колонки объекта
Рассмотрим, как предоставить или ограничить права групп пользователей на просмотр и редактирование данных, содержащихся в определенном поле записи раздела.
-
Перейдите в дизайнер системы, например, по кнопке , и откройте раздел настройки доступа к объектам по ссылке “Права доступа на объекты”.
-
Выберите необходимый объект из списка или с помощью строки поиска. Так, чтобы настроить права доступа к полю Годовой оборот контрагента, установите фильтр “Разделы” и выберите объект “Контрагент”. Кликните по его заголовку или названию — откроется страница настройки прав доступа к объекту раздела Контрагенты.
-
Убедитесь, что у пользователей или ролей, для которых вы хотите настроить доступ по колонкам, уже есть доступ на операции в объекте — объект не администрируется по операциям, либо пользователи и роли имеют доступ на соответствующие операции на уровне объекта.
-
Включите ограничение доступа по колонкам с помощью переключателя “Использовать доступ по колонкам” (Рис. 2).
-
По кнопке Добавить выберите и добавьте колонку объекта, доступ к которой необходимо ограничить. Например, для ограничения доступа к полю Годовой оборот введите его название в строку поиска и нажмите Выбрать. Выбранная колонка отобразится в области настройки прав доступа слева. Справа можно добавить роли и пользователей и установить для них уровень прав доступа (Рис. 3). При необходимости добавьте и другие колонки, на которые нужно ограничить доступ. Переключайтесь между колонками в списке, чтобы настроить права доступа для каждой из них.
-
По кнопке Добавить в правой части области настройки добавьте все роли и пользователей, для которых нужно настроить доступ к выбранной колонке. Используйте строку поиска и вкладки Организационные роли, Функциональные роли и Пользователи, чтобы быстро найти нужную роль или пользователя (Рис. 3). В нашем примере это:
-
роль “All employees” (Все сотрудники) — добавляется автоматически;
-
организационная роль “Менеджеры по продажам”;
-
организационная роль “Секретари”.
По умолчанию для каждой добавленной роли или пользователя устанавливается доступ на чтение и редактирование значения выбранного поля объекта. Откорректируйте уровень прав доступа в соответствии с необходимостью. Например:
-
Для организационной роли “All employees” (Все сотрудники) измените уровень прав на “Чтение разрешено”. В итоге все сотрудники компании смогут видеть значение в поле Годовой оборот контрагента, но не смогут его отредактировать.
-
Для роли “Менеджеры по продажам” оставьте уровень доступа “Чтение и редактирование разрешено”. Так сотрудники отдела продаж смогут видеть и редактировать значения в поле Годовой оборот контрагента.
-
Для роли “Секретари” установите уровень прав “Чтение и редактирование запрещено”. В итоге для секретарей компании значение поля Годовой оборот будет скрыто.
После выполнения настроек рядом с некоторыми правами доступа могут отображаться значки . Это означает, что некоторые настройки противоречат друг другу и возможно, потребуется настроить приоритет для корректной работы прав доступа.
-
Настроить приоритет прав доступа на колонки объекта
Возможны случаи, когда настроенные для некоторых ролей или пользователей уровни доступа противоречат друг другу, т. к. роли пересекаются.
Например, роли “Менеджеры по продажам”, и “Секретари” входят в роль “Все сотрудники”. При этом уровень прав доступа для менеджеров по продажам выше, чем уровень прав для всех сотрудников (Рис. 4).
Чем выше в списке правило, тем выше его приоритет. Наиболее приоритетному правилу соответствует значение “0” в колонке Приоритет. Чем ниже в списке расположено правило и чем больше число в колонке Приоритет, тем ниже приоритет этого правила. Значок , который может отображаться рядом с некоторыми из правил, обозначает, что некоторые из настроенных правил пересекаются и возможно, необходимо понизить или повысить приоритет одного правила, чтобы корректно работало другое.
При настройке приоритетов прав доступа по колонкам руководствуйтесь следующими правилами:
- Самыми приоритетными являются ограничения по операциям, используемые для данного объекта.
-
Если пользователь входит в несколько ролей, для которых настраиваются права доступа, то для него будет применен уровень доступа той роли, которая расположена выше в списке.
Например, мы хотим запретить всем сотрудникам редактировать поле, но менеджерам по продажам оставить возможность чтения и редактирования. Для этого расположим роль “Менеджеры по продажам” выше, а роль “All employees” (Все сотрудники) — ниже.
-
Если роль, для которой необходимо полностью запретить доступ к колонке, входит в роль с более высоким уровнем доступа, то выше расположите роль, для которой ограничиваете доступ, а родительскую роль — ниже.
Так, если мы запрещаем чтение и редактирование поля для всех секретарей, то роль “Секретари” должна быть расположена выше роли “All employees” (Все сотрудники), у которых есть только право на чтение колонки. При этом рядом с уровнем прав, установленным для секретарей, отображается значок .
- Права доступа для пользователей или ролей, которые не добавлены в область настройки доступа по колонкам, соответствуют правам доступа по операциям, которые для них настроены.
Настроим приоритет прав доступа для приведенного выше примера. Для изменения порядка отображения правил захватите правило курсором мыши и перетащите на нужное место (Рис. 5):
- Организационную роль с максимальным уровнем доступа (в нашем примере это “Менеджеры по продажам”) расположите вверху списка.
- Далее расположите роль “Секретари”, для которой значение поля Годовой доход должно быть скрыто.
- Роль “All employees” (Все сотрудники) расположите внизу списка.
- Сохраните настройки по кнопке Применить в верхнем левом углу страницы.
В результате выполненных настроек:
- У пользователей с ролью “Менеджеры по продажам” будет возможность просматривать и редактировать значение в поле Годовой оборот контрагента.
- Для всех секретарей значение в поле Годовой оборот контрагента будет скрыто.
- Все сотрудники компании смогут видеть значение в поле Годовой оборот, но не смогут его редактировать.
Подробнее: Пользователи и права доступа.