Как настроить права и профили групп доступа в конфигурациях 1С на базе БСП

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Переход со старых типовых конфигураций (например, УПП 1.3) на современные прикладные решения (УТ 11, КА 2, БП 3, ЗУП 3) часто вызывает вопросы по настройке прав пользователей. В привычной прежней модели было достаточно создать профиль, накидать в него роли из конфигуратора и сразу привязать его к учетной записи. В конфигурациях на базе Библиотеки Стандартных Подсистем (БСП) используется двухуровневая архитектура доступа.

Разберем детально, как устроена подсистема управления доступом в БСП, чем отличаются профили от групп доступа, как правильно администрировать права пользователей и изменять поставляемые профили программно.

Архитектура прав БСП: Профили и Группы доступа

В подсистеме под управлением БСП администрирование прав делится на два ключевых элемента:

  1. Профили групп доступа — содержат конкретный перечень ролей платформы 1С и определяют разрешенные виды доступа (например, ограничение по организациям, складам или контрагентам). Профиль — это мета-описание полномочий. Напрямую пользователю профиль не назначается.
  2. Группы доступа — связывают Профиль групп доступа с конечными пользователями или группами пользователей. Именно в группе доступа задаются конкретные значения ограничений права на уровне записей (RLS).

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

Оптимальная схема назначения прав через группы пользователей

Чтобы не назначать десятки групп доступа каждому отдельному сотруднику вручную, рекомендуется использовать справочник Группы пользователей:

  1. Создаем группу пользователей (например, Главные бухгалтеры или Менеджеры по продажам).
  2. Включаем эту группу пользователей в необходимые Группы доступа. В состав одной группы доступа можно добавлять не только физических пользователей, но и целые группы пользователей.
  3. При включении прав для встроенной группы Все пользователи эти права будут автоматически распространяться на всех вновь создаваемых пользователей в базе.
  4. При приеме нового сотрудника достаточно добавить его в соответствующую группу пользователей — все привязанные группы доступа и роли применятся автоматически.

Программная доработка и изменение профилей доступа

Часто возникает задача дополнить стандартный профиль БСП пользовательскими ролями или собрать единый профиль (например, для главного бухгалтера), включающий возможности нескольких стандартных ролей. Изменять роли напрямую в режиме «Предприятие» не всегда удобно, так как при обновлении конфигурации или подсистем данные настройки могут сброситься.

Для программной настройки профилей в БСП предусмотрены переопределяемые модули (например, модуль УправлениеДоступомПереопределяемый). В процедурах модуля можно модифицировать состав ролей профиля с помощью кода:


// Пример добавления или удаления ролей в описании профиля
ОписаниеПрофиля.Роли.Добавить(Метаданные.Роли.ДополнительныеПраваБухгалтера);

// Удаление лишней роли по ее индексу или поиску
ИндексРоли = ОписаниеПрофиля.Роли.Найти(Метаданные.Роли.УдаляемаяРоль);
Если ИндексРоли <> Неопределено Тогда
    ОписаниеПрофиля.Роли.Удалить(ИндексРоли);
КонецЕсли;

Разберем по шагам удобный порядок разработки и обновления профилей:

  1. В тестовой информационной базе в режиме «1С:Предприятие» интерактивно настраиваем нужный профиль групп доступа.
  2. Используем внешнюю обработку ИнструментыРазработчикаУправлениеДоступом.epf (поставляется в составе дистрибутива БСП в каталоге \ExtFiles\Инструменты разработчика).
  3. С помощью обработки генерируем программный код описания профиля для вставки в модуль.
  4. Переносим полученный код в переопределяемый модуль рабочей базы (или в расширение конфигурации).
  5. Обновляем поставляемые профили в рабочей базе через запуск обновления информационной базы или вызов процедур модуля менеджера справочника ПрофилиГруппДоступа.ОбновитьПоставляемыеПрофилиПоИзменениямКонфигурации().

Важные особенности RLS и диагностики прав

При работе с подсистемой доступа БСП следует учитывать несколько технических нюансов:

Зависимость от функциональных опций: Детализированные ограничения RLS (по организациям, партнерам, складам) действуют только при включенной глобальной функциональной опции (например, Использовать ограничение прав на уровне записей). Если опция отключена в настройках программы, платформа игнорирует ограничения, заданные в группах доступа.

Механизм ключей доступа: В современных релизах БСП (версии 3.x) ограничения RLS рассчитываются через специальные таблицы ключей доступа. Изменение состава групп или прав пользователя может вступать в силу не мгновенно, а по мере выполнения фонового задания Обновление ключей доступа.

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

← На главную