При работе с крупными базами на платформе 1С, такими как УПП 1.3, администраторы и программисты часто сталкиваются с необходимостью провести аудит безопасности. Типовые средства конфигурации на обычных формах не всегда позволяют наглядно увидеть, какие именно права есть у конкретного сотрудника или отдела, особенно когда роли пересекаются или используются сложные ограничения на уровне записей (RLS). Разберем наиболее эффективные инструменты и методы для формирования отчета по правам пользователей.
Одним из самых мощных и проверенных средств является комплекс Инструменты разработчика (автор TormozIT). Рассмотрим подробнее, как этот инструмент помогает в анализе прав. В составе ИР есть специализированная консоль Анализ прав доступа. Она позволяет не просто увидеть список назначенных ролей, а получить итоговую картину по каждому объекту метаданных (справочнику, документу, регистру).
Проанализируем основные варианты использования ИР для нашей задачи:
8.3.9, можно использовать вариант с расширением. Это позволит избежать снятия конфигурации с поддержки, при этом сохранив высокую скорость работы инструмента.В консоли анализа прав мы можем выбрать пользователя и увидеть таблицу, где отмечено, разрешено ли чтение, добавление, изменение или удаление для каждого объекта. Инструмент подсвечивает права, полученные из разных ролей, что помогает выявить избыточность полномочий. При необходимости скорректировать доступы по итогам анализа можно воспользоваться внешней обработкой для быстрого изменения состава ролей.
Существует проверенное временем решение, часто упоминаемое специалистами для работы в обычном приложении. Эта обработка позволяет построить так называемую матрицу прав. Разберем по шагам, чем она полезна:
Визуализация в виде матрицы: Инструмент формирует таблицу, где по строкам расположены объекты метаданных, а по колонкам — роли или пользователи. Это дает возможность окинуть взглядом всю систему доступа организации. Если нам нужно вывести отчет по отделам, мы можем сгруппировать пользователей по иерархии справочника Пользователи.
Сравнение прав: Посмотрим на ситуацию, когда новому сотруднику нужно настроить доступ «как у коллеги», но с небольшими изменениями. Обработка позволяет выбрать двух пользователей и вывести в отчет только различия в их правах. Это значительно сокращает время на настройку и минимизирует риск ошибок. Для такой задачи также подойдет готовый инструмент для копирования настроек и дополнительных прав между пользователями.
Выгрузка в Excel: Часто отчет по правам требуется предоставить руководству или службе безопасности. Данная обработка поддерживает корректный вывод матрицы в табличный документ, который затем легко сохранить в формат Excel для дальнейшего анализа вне системы 1С.
Если вам требуется создать узкоспециализированный отчет, например, для вывода прав только на определенные виды документов по конкретному подразделению, можно прибегнуть к написанию собственного кода. Проанализируем, какие объекты и методы платформы нам понадобятся.
Основным инструментом здесь выступает функция ПравоДоступа(). Она позволяет проверить наличие конкретного права у пользователя информационной базы. Рассмотрим пример кода, который обходит список ролей пользователя и проверяет доступ к документу:
// Пример получения списка ролей пользователя
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("ИвановИИ");
Для Каждого Роль Из ПользовательИБ.Роли Цикл
Сообщить("У пользователя назначена роль: " + Роль.Имя);
КонецЦикла;
// Проверка конкретного права на объект
Если ПравоДоступа("Чтение", Метаданные.Документы.РеализацияТоваровУслуг, ПользовательИБ) Тогда
Сообщить("Пользователь может просматривать реализации.");
КонецЕсли;
Для построения отчета «по отделам» в УПП 1.3 нам нужно связать данные из справочника Пользователи (где обычно хранится информация о подразделении сотрудника) с объектами ПользователиИнформационнойБазы. Выясним причину, почему это важно: права назначаются на уровне платформы (Пользователь ИБ), а оргструктура хранится в данных (Справочник).
Поскольку УПП 1.3 работает в режиме совместимости с версией 8.2.13, при использовании современных обработок могут возникать нюансы. Разберем их подробнее:
Подводя итог, для быстрого и качественного выявления прав в УПП 1.3 оптимальным решением будет использование Инструментов разработчика или специализированных матричных отчетов с порталов сообщества 1С. Это позволит избежать ручного перебора ролей в конфигураторе и даст наглядную картину доступа в разрезе структуры предприятия.