При настройке системы безопасности в 1С часто возникает ситуация, когда, несмотря на корректную настройку Групп доступа и ограничений по организации, пользователь все равно видит данные всех компаний. Разберем по шагам, как выявить причину и устранить эту проблему.
Первым делом необходимо убедиться, что механизм ограничения доступа на уровне записей (RLS) в принципе активирован в информационной базе. Без включения функциональной опции в настройках системы никакие ограничения в профилях не будут иметь эффекта.
В системе 1С права всегда расширяются. Это означает, что если у пользователя есть хотя бы одна роль, которая не содержит ограничений RLS, она даст доступ ко всем объектам, игнорируя настройки профиля группы доступа. Проанализируем наиболее частые ошибки:
Администратор или Полные права. Такие роли перекрывают любые ограничения RLS.Чтение всех документов или роли для обмена данными, в которых не настроены шаблоны ограничений.Групп доступа, права суммируются. Если в одной группе доступ ограничен, а в другой — нет, пользователь получит расширенный доступ.Самый эффективный способ найти причину избыточных прав — сформировать типовой отчет Права доступа пользователя. Рассмотрим, как он помогает в диагностике:
Этот отчет наглядно показывает, какие именно роли назначены пользователю и какие ограничения (RLS) действуют для каждой из них. Если вы видите, что в списке ролей есть пункты, где поле «Ограничение» пустое — значит, именно эта роль предоставляет доступ ко всем данным компании, игнорируя фильтр по организации.
Разберем детально, как правильно настроить вид доступа «Организации»:
Профили групп доступа.Организации.Все запрещены, исключая значения в профиле.Все разрешены, то фильтрация по конкретным организациям происходить не будет.После внесения изменений в настройки прав доступа необходимо обновить вспомогательные данные. В типовых конфигурациях на БСП это действие часто требуется для того, чтобы изменения в Группах доступа корректно записались в регистры сведений, отвечающие за RLS.
Если после выполнения всех вышеперечисленных действий доступ все еще отображается некорректно, проанализируйте специфику вашей конфигурации:
Иногда в коде используется Привилегированный режим. При выполнении кода в таком режиме все ограничения доступа игнорируются системой. Убедитесь, что ваши документы или отчеты не обращаются к данным в рамках такого режима, иначе RLS не сработает.
Важное примечание: Если вы изменили состав ролей или профилей, всегда выполняйте очистку кэша или перезапуск сеанса пользователя, так как права доступа могут кэшироваться на стороне сервера или клиента. Только после этого проверяйте результат под учетной записью пользователя.