Ограничение прав на уровне отборов

26.10.10

Администрирование - Информационная безопасность

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Конфигурация
.cf 62,12Kb
89
89 Скачать (1 SM) Купить за 1 850 руб.

Здравствуйте, уважаемые коллеги. Решил поделится одной наработкой, на звезды и огромное количество плюсов не претендую, только на ваше внимание и минутку определенного времени для оценки такого вида возможности "Ограничения прав".

 

Итак к сути. У меня в конфигурации используется RLS, все как бы хорошо, но наткнулся на проблемку в отчетах. К примеру у пользователя нету прав к документам, у которых отличное подразделение от его права, естественно право на уровне записей я для документов настроил и все отлично работает, в журналах чужие документы не видны, да и в отчетах вроде тоже, все как бы красиво, пока мои "злобные" пользователи меня не переубедили в противоположном.

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

Думал.... Переписывать RLS. Но как!? Там уже у меня куча групп пользователей и филиалов, да и ролей полно в самой конфигурации и уже все шаблоны прописаны мной и протестированы...

Ура... Вот оно решение, а что если пользователям, которые ограничены к отчетности, строго  в отборе отчетов программно определять их доступ? И если даже пользователь будет сам этот отбор убивать/изменять, чтобы он проставлялся при переформировании вновь. Вот оно... Начал процесс разработки. Конечно же, тут без кода не обойтись, но и надо его максимально минимизировать. Также встал вопрос "свойств и категорий" и это удалось решить...

Архитектура разработки:

  1. В систему добавлен справочник "ХранениеИзмеренийОтчетов":
    Его реквизиты:
    • Наименование - обработка начало выбора добавлен список выбора текущих отчетов конфигурации, для возможности выбора его из списка;
    • СинонимОтчета - собственно это  и есть синоним отчета конфигурации метаданных (проставляется автоматически от изменения наименования);
    Табличная часть:
    • ИмяИзмерения - здесь надо знать точное имя измерения как оно выглядит в построителе;
    • Представление - это для своего удобства;
    • Назначение - Назначение: свойства/категории. Если данное измерение содержит свойства или категории и ограничения пользователя будут через свойства или категории, то имеет смысл здесь определить этот тип.

  2. Также в систему добавлен регистр сведений ОграничениеОтбораКОтчетам. Структуру данного регистра можно посмотреть в конфигурации.

  3. Добавлены общие модули: "НастройкаДополнительныхПрав", "VWG_СтандартныеОтчеты".

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

    А именно в процедурах:

    В процедуру  УстановитьНачальныеНастройки() добавлено:

    //+VWG VWG_СтандартныеОтчеты.УстановитьИспользованиеСвойствИКатегорий(ЭтотОбъект.Метаданные().Имя,УниверсальныйОтчет);
    //-VWG


    И в процедуру СформироватьОтчет(ТабличныйДокумент) добавлено:

    //+VWG
    VWG_СтандартныеОтчеты.ПрименитьОграничениеКИзмерениямОтчета(ЭтотОбъект.Метаданные().Имя,УниверсальныйОтчет);
    //-VWG


Здесь собственно все. Как у меня работает система, показано на скриншотах.

Благодарю за внимание.

 

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

Конфигурационный файл сделан на движке 8.2.10.77.

См. также

Информационная безопасность Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Предлагается внешняя обработка для просмотра данных в формате ASN1. Есть 2 режима: загрузка из бинарного формата и из BASE64. Реализована функция извлечения всех сертификатов, которые можно найти в ASN1-файле. В дополнении к этому продукту предлагается методическая помощь по вопросам, связанным с технической реализацией криптографии и шифрования в 1С.

2400 руб.

29.08.2016    30186    10    1    

11

Информационная безопасность Пароли Платформа 1С v8.3 Бесплатно (free)

Все еще храните пароли в базе? Тогда мы идем к вам! Безопасное и надежное хранение секретов. JWT авторизация. Удобный интерфейс. Демо конфигурация. Бесплатно.

30.05.2024    6846    kamisov    18    

61

Информационная безопасность Программист Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    8619    PROSTO-1C    10    

39

Информационная безопасность Программист Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    2607    platonov.e    1    

23

Информационная безопасность Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

5 стартмани

24.04.2023    6448    21    soulner    8    

33

Информационная безопасность Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    7591    53    Silenser    12    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SergDi 27.10.10 22:50 Сейчас в теме
о боже! Человек, а не проще применить RLS к регистру...
2. ArtfulCrom 22 31.10.10 03:03 Сейчас в теме
Жесть, правда? :o

А представляете насколько легко по этим скриншотам идентифицируется компания для которой коллега пишет такие отчеты :) Регионы Украины и ТМ показаны в открытом виде, идентифицировать чья сеть представляет эти ТМ в этих регионах проще пареной репы :)

Но зачем это узнавать? Как впрочем и зачем весь этот огород вместо Правильно настроенной РЛС :)
3. Rabajaba 355 02.11.10 13:06 Сейчас в теме
RLS на 8.2 не вызывает тех же торможений, что были в 8.1?
4. 1C_Lab 20 03.08.12 23:28 Сейчас в теме
у rls сталкивался с проблемами производительности. взял разработку автора для внедрения в собственную базу. Нравится что можно выполнять настройку отборов по горячему без внесения изменений в кода в режиме предприятия. Автору спс.
5. stas1kbob 60 19.11.13 12:37 Сейчас в теме
хорошие у автора клиенты
6. VTselousov 13.03.15 16:50 Сейчас в теме
Конфигурация УТ 10.3.26 выдает ошибку

{РегистрСведений.ОграничениеОтбораКОтчетам.Форма.ФормаЗаписи.Форма(82)}: Значение не является значением объектного типа (Метаданные)
ИсходнаяТаблица = Пользователь.Метаданные().Имя;
Оставьте свое сообщение