Как объединяются ограничения RLS при назначении пользователю нескольких профилей доступа в 1С?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При администрировании прав пользователей в типовых конфигурациях 1С часто возникает задача разграничения полномочий: например, менеджеру требуется предоставить возможность создания и редактирования документов по одним подразделениям или складам, а по другим — оставить исключительно права просмотра. На практике для этого создают и назначают несколько профилей или групп доступа. В связи с этим возникает вопрос: как поведут себя ограничения на уровне записей (RLS) — будут ли действовать только условия из профиля с правом записи или же ограничения разных профилей суммируются?

Для правильной настройки прав важно понимать базовые архитектурные принципы платформы «1С:Предприятие 8» и типовой подсистемы «Управление доступом» из Библиотеки стандартных подсистем (БСП), на базе которой построены такие прикладные решения, как «1С:Управление торговлей», «1С:Комплексная автоматизация» и «1С:ERP Управление предприятием».

Базовый принцип работы прав платформы: разрешительная логика

В основе системы прав платформы «1С:Предприятие» заложен разрешительный принцип. Каждое конкретное стандартное действие над объектом метаданных (например, «Чтение», «Добавление», «Изменение», «Удаление», «Просмотр» или «Интерактивное добавление») проверяется системой независимо:

Как объединяются условия RLS из разных ролей

Когда для одного и того же объекта метаданных и для одного и того же действия (например, «Чтение») в разных ролях заданы ограничения на уровне записей (RLS), вступает в силу строгое правило платформы:

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

Неразрывная связь прав чтения и записи

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

При записи нового документа или сохранении изменений система проверяет возможность чтения результирующей записи. Если условия RLS на чтение не покрывают сохраняемые данные, запись будет заблокирована платформой с ошибкой нарушения прав доступа. Поэтому любая роль, предоставляющая право «Добавление» или «Изменение», в обязательном порядке должна сопровождаться правом «Чтение» на соответствующие данные.

Сложение профилей на практическом примере

Рассмотрим типовую ситуацию с документом «Заказ клиента», когда пользователю назначены два профиля групп доступа с разграничением по видам доступа (например, по складам):

При одновременном назначении этих двух профилей итоговые права вычисляются для каждого действия отдельно:

  1. Право «Чтение»: действует и в Профиле 1, и в Профиле 2. Условия объединяются по правилу логического «ИЛИ». В результате пользователь может просматривать заказы по объединению всех указанных складов: Склад Основной, Склад 1, Склад 2 и Склад 4.
  2. Права «Добавление» и «Изменение»: присутствуют исключительно в Профиле 2. Соответственно, создавать новые заказы и редактировать существующие пользователь может только в рамках ограничений Профиля 2 — по складам Склад 2 и Склад 4.

Итоговое поведение системы:

Особенности в конфигурациях на базе БСП

В современных конфигурациях 1С управление доступом на уровне пользователей реализовано через интерфейсные механизмы подсистемы БСП (справочники «Профили групп доступа», «Группы доступа», регистры сведений ключей доступа):

← На главную