Права доступа ролей







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

Предисловие

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

Как пользоваться отчетом

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

  1. Права доступа для определенной роли(ролей)
  2. Права доступа на определенный объект(объекты) метаданных. 

В 1 случае отмечаем флажками одну или несколько ролей и кнопкой устанавливаем все флажки у объектов метаданных. Во 2 случае отмечаем флажками один или несколько объектов метаданных и кнопкой устанавливаем все флажки у ролей. Возможна комбинация этих случаев.

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

При установленном отборе строк кнопка "Установить флажки" устанавливает флажки только у отобранных строк, так можно быстро отметить все найденные строки.

Метаданные также можно отбирать по строке

После предварительной настройки нажимаем кнопку "Сформировать" и смотрим результат в удобной краткой форме. Значок "+" у группировочных строк означает, что хотя бы у одной подчиненной строки есть доступ, отсутствие знака "+" означает что ни у одной подчиненной строки нет доступа.

Можно развернуть доступ до видов доступа.

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

Отчет определяет наличие ограничений доступа к данным. При наличии ограничений доступа к данным наличие доступа выводится знак "#", при отсутствии ограничений доступа к данным и наличии доступа выводится знак "+". За счет этого можно легко определить, в каких ролях для данного объекта метаданных есть RLS, а в каких нет.

Тестовое окружение

Отчет тестировался на платформе 8.3.10.2580, конфигурации БП 3.0.57.17. Отчет не использует общие модули, поэтому может работать в любой конфигурации. 

Ограничения использования

  1. Отчет показывает права доступа конфигурации базы данных. Если в основной конфигурации были изменения, отчет этого не покажет, пока не будет обновлена конфигурация базы данных.
  2. Отчет определяет наличие ограничений доступа к данным (RLS), но не выводит и не сравнивает их.
  3. Отчет работает под управляемыми формами. Как правило в типовых конфигурациях на обычных формах ролей не так много и типовых средств вполне достаточно.

v 1.2.1 от 12.01.2024

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

1 Comment

  1. sonGodv

    Молодец! Нормальный отчет. Искал такой. Руки не доходили сделать)

    1С минус за отсутствие подобного функционала

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *