Sales Creatio, commerce edition
PDF
Это документация Creatio версии 7.15.0. Мы рекомендуем использовать новую версию документации.

Настройка доступа по колонкам

Колонки объектов отображаются в виде полей на страницах и в реестрах разделов и деталей. Использование доступа по колонкам позволяет ограничить права на чтение и редактирование значений в отдельных полях объекта для отдельных пользователей или ролей. Например, вы можете ограничить право на просмотр данных в поле [Годовой оборот] для роли “Секретари”, а остальным сотрудникам компании оставить доступ к полю. При этом для пользователей, у которых нет права на чтение данных в поле [Годовой оборот], поле останется видимым, но его значение отображаться не будет (Рис. 1).

Рис. 1 — Пример отображения поля [Годовой оборот], когда настроен запрет на доступ к нему

chapter_object_permissions_column_permissions_result.png 

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

Важно

Перед настройкой прав доступа на колонки объекта убедитесь, что у пользователя есть доступ на те операции в объекте, которые соответствуют необходимым правам доступа по колонкам. Обратите внимание, если доступ к объекту не администируется по операциям, то всем пользователям по умолчанию предоставляется право на операции создания, чтения, редактирования и удаления данных объекта. Подробнее о том, как предоставить или ограничить права на создание, чтение, редактирование и удаление данных объекта, читайте в статье “Настройка доступа по операциям”.

В этой статье рассмотрим, как предоставить или ограничить права групп пользователей на просмотр и редактирование данных, содержащихся в определенном поле записи раздела.

Пример

Выполним настройку прав доступа к полю [Годовой оборот] на странице контрагента. Все сотрудники компании, кроме секретарей, должны иметь возможность просматривать значение поля [Годовой оборот], а менеджеры по продажам — просматривать и редактировать значение поля.

Для секретарей значение этого поля должно быть скрыто.

1.Перейдите в дизайнер системы, например, по кнопке btn_system_designer00011.png, и откройте раздел настройки доступа к объектам по ссылке [Права доступа на объекты].

2.Выберите необходимый объект из списка или с помощью строки поиска. Так, чтобы настроить права доступа к полю [Годовой оборот] контрагента, установите фильтр “Разделы” и выберите объект “Контрагент”. Кликните по его заголовку или названию — откроется страница настройки прав доступа к объекту раздела [Контрагенты].

На заметку

Подробно о том, как найти объект в реестре и выбрать его для настройки прав доступа, рассказано в блоке “Выбор объекта для настройки прав доступа” статьи “Права доступа на объекты”.

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

4.Включите ограничение доступа по колонкам с помощью переключателя “Использовать доступ по колонкам” (Рис. 2).

Рис. 2 — Включение администрирования по колонкам

chapter_objects_permissions_section_permissions_administer_by_columns.png 

На заметку

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

5.По кнопке [Добавить] выберите и добавьте колонку объекта, доступ к которой необходимо ограничить. Например, для ограничения доступа к полю [Годовой оборот] введите его название в строку поиска и нажмите [Выбрать]. Выбранная колонка отобразится в области настройки прав доступа слева. Справа можно добавить роли и пользователей и установить для них уровень прав доступа (Рис. 3). При необходимости добавьте и другие колонки, на которые нужно ограничить доступ. Переключайтесь между колонками в списке, чтобы настроить права доступа для каждой из них.

6.По кнопке [Добавить] в правой части области настройки добавьте все роли и пользователей, для которых нужно настроить доступ к выбранной колонке. Используйте строку поиска и вкладки [Организационные роли], [Функциональные роли] и [Пользователи], чтобы быстро найти нужную роль или пользователя (Рис. 3). В нашем примере это:

роль “All employees” (Все сотрудники) — добавляется автоматически;

организационная роль “Менеджеры по продажам”;

организационная роль “Секретари”;

Рис. 3 — Выбор колонки [Годовой оборот] объекта “Контрагент” и добавление ролей и пользователей для настройки доступа к полю [Годовой оборот] контрагента

chapter_obgect_permissions_administer_by_columns_adding_roles_and_users.gif 

По умолчанию для каждой добавленной роли или пользователя устанавливается доступ на чтение и редактирование значения выбранного поля объекта. Откорректируйте уровень прав доступа в соответствии с необходимостью. Например:

Для организационной роли “All employees” (Все сотрудники) измените уровень прав на “Чтение разрешено”. В итоге все сотрудники компании смогут видеть значение в поле [Годовой оборот] контрагента, но не смогут его отредактировать.

Для роли “Менеджеры по продажам” оставьте уровень доступа “Чтение и редактирование разрешено”. Так сотрудники отдела продаж смогут видеть и редактировать значения в поле [Годовой оборот] контрагента.

Для роли “Секретари” установите уровень прав “Чтение и редактирование запрещено”. В итоге для секретарей компании значение поля [Годовой оборот] будет скрыто.

После выполнения настроек рядом с некоторыми правами доступа могут отображаться значки icn_access_rights_priority00012.png. Это означает, что некоторые настройки противоречат друг другу и возможно, потребуется настроить приоритет для корректной работы прав доступа.

Настройки приоритета прав доступа на колонки объекта

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

Например, роли “Менеджеры по продажам”, и “Секретари” входят в роль “Все сотрудники”. При этом уровень прав доступа для менеджеров по продажам выше, чем уровень прав для всех сотрудников (Рис. 4).

Рис. 4 — Пример противоречия между уровнями прав доступа

chapter_objects_permissions_column_permissions_priority.png 

Чем выше в списке правило, тем выше его приоритет. Наиболее приоритетному правилу соответствует значение “0” в колонке [Приоритет]. Чем ниже в списке расположено правило и чем больше число в колонке [Приоритет], тем ниже приоритет этого правила. Значок icn_access_rights_priority00013.png, который может отображаться рядом с некоторыми из правил, обозначает, что некоторые из настроенных правил пересекаются и возможно, необходимо понизить или повысить приоритет одного правила, чтобы корректно работало другое.

При настройке приоритетов прав доступа по колонкам руководствуйтесь следующими правилами:

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

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

Например, мы хотим запретить всем сотрудникам редактировать поле, но менеджерам по продажам оставить возможность чтения и редактирования. Для этого расположим роль “Менеджеры по продажам” выше, а роль “All employees” (Все сотрудники) — ниже.

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

Так, если мы запрещаем чтение и редактирование поля для всех секретарей, то роль “Секретари” должна быть расположена выше роли “All employees” (Все сотрудники), у которых есть только право на чтение колонки. При этом рядом с уровнем прав, установленным для секретарей, отображается значок icn_access_rights_priority00014.png.

На заметку

В данном случае настройка приоритета не требуется, т. к. противоречие между правами доступа для роли “Секретари” и роли “All employees” (Все сотрудники), в которую входит роль “Секретари”, состоит в том, что секретари не смогут просматривать значение колонки, что и было необходимо настроить.

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

Настроим приоритет прав доступа для приведенного выше примера. Для изменения порядка отображения правил захватите правило курсором мыши и перетащите на нужное место (Рис. 5):

1.Организационную роль с максимальным уровнем доступа (в нашем примере это “Менеджеры по продажам”) расположите вверху списка.

2.Далее расположите роль “Секретари”, для которой значение поля [Годовой доход] должно быть скрыто.

3.Роль “All employees” (Все сотрудники) расположите внизу списка.

4.Сохраните настройки по кнопке [Применить] в верхнем левом углу страницы.

Рис. 5 — Пример настройки приоритета прав доступа по колонкам

chapter_objects_permissions_column_permissions_priority_2.png 

В результате выполненных настроек:

У пользователей с ролью “Менеджеры по продажам” будет возможность просматривать и редактировать значение в поле [Годовой оборот] контрагента.

Для всех секретарей значение в поле [Годовой оборот] контрагента будет скрыто.

Все сотрудники компании смогут видеть значение в поле [Годовой оборот], но не смогут его редактировать.

Смотрите также

Настройка доступа по операциям

Настройка доступа по записям

 

Был ли данный материал полезен?

Как можно улучшить эту статью?