Ревизор прав
Администрирование - Роли и права
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Разбор на демобазе: два вопроса администратора
«Почему менеджер может править заказы покупателей?» Указываем объект «Заказ покупателя», право «Изменение» и пользователя. Обработка отвечает зеленой строкой «право ЕСТЬ» и показывает, откуда оно: группа доступа «Продажи» → профиль «Продажи» → роль «Добавление и изменение заказов покупателей». Там же видно, что право ограничено на уровне записей и какие значения доступа разрешены в группе («Организации: все; Структурные единицы: все…»). Если право лишнее — кнопка «Убрать право…» выводит текст, что именно будет сделано («из группы доступа «Продажи» будет исключен участник…; он потеряет все роли профиля, если не получает их через другие группы»), и выполняет действие только после подтверждения.
«Как дать сотруднику кадров доступ к заказам и ничего лишнего?» У этого пользователя права нет — строка красная, а ниже список ролей, которые его дают, отсортированный по «ширине»: роль «Добавление и изменение заказов покупателей» дает 21 основное право, а «Удаленный доступ (OData)» — 8 844. Выбираем узкую роль, обработка предлагает группы доступа, профиль которых ее содержит. Если конфигурация не разрешает сочетание групп (в УНФ, например, нельзя одновременно состоять в «Кассе самообслуживания» и кадровой группе), сообщение конфигурации показывается как есть, и ничего не меняется. После включения форма сразу перестраивается: «право ЕСТЬ».
Что обработка меняет в базе
Все изменения идут через справочники групп доступа и профилей, поэтому роли пользователей обновляет сама БСП — так же, как при правке вручную.
- Исключить пользователя из группы доступа
- Что записывается: Строка табличной части группы
- Кого заденет: Только этого пользователя
- Исключить группу пользователей из группы доступа
- Что записывается: Строка табличной части группы
- Кого заденет: Всех участников группы пользователей — число показывается заранее
- Убрать роль из профиля / добавить роль в профиль
- Что записывается: Табличная часть «Роли» профиля
- Кого заденет: Всех пользователей профиля — число показывается заранее
- Включить пользователя в группу доступа
- Что записывается: Строка табличной части группы
- Кого заденет: Только этого пользователя
- Сохранить профиль из конструктора
- Что записывается: Новый профиль и, по желанию, группа доступа с участниками
- Кого заденет: Участников новой группы
Профили, поставляемые с конфигурацией, и профиль «Администратор» обработка не изменяет: для них предлагается собрать копию в конструкторе. Роль, назначенная мимо профилей (в конфигураторе), снимается только если в базе нет БСП, — иначе ее все равно перезапишет обновление ролей.
Пять закладок
Право на объект. Объект ищется по части названия («заказ покуп» + Enter), право выбирается из списка, понятного без знания имен прав платформы («Удаление из формы без пометки», «Изменение проведенных»). Сразу виден список «кто имеет это право», а для выбранного пользователя — источники права и варианты, как его выдать.
Доступ к записи. Права на таблицу — это еще не доступ к документу: ограничения на уровне записей скрывают чужие организации, склады, кассы. Выбираете конкретный документ или элемент справочника — обработка показывает, кто его видит, кто может изменить, а у кого право на объект есть, но эта запись скрыта.
Сравнение. Пользователь с пользователем, профиль с профилем или пользователь с профилем: разница в ролях и одна строка на объект — какие права есть только у первого, а какие только у второго.
Проверка прав. Оценка от 0 до 100 и список находок с цветом важности: администратор без пароля, недействительный пользователь с разрешенным входом, удаление без пометки у обычных пользователей, роли мимо профилей и роли, которые профиль дает, а у пользователя их нет, пустые группы, неиспользуемые профили и профили без ролей, роли в профиле, которых уже нет в конфигурации. Двойной щелчок по строке открывает пользователя, профиль или группу.
Конструктор профиля. Три шага. Роли разложены деревом по группам («Добавление и изменение», «Чтение», «Разделы», «Роли расширения…»), есть поиск и панель «что дает выбранная роль». Роли можно взять у пользователя или из нескольких профилей сразу. Второй шаг — список требований вида «Контрагенты — изменение», «Заказ покупателя — проведение»: обработка подбирает наименьший набор ролей, который их покрывает, и отмечает его. Третий шаг — итоговые права собранного профиля и сохранение: новым профилем или поверх своего, с созданием группы доступа с участниками.
Как считаются права
Права ролей обработка берет у платформы — функцией проверки права для роли, а не из выгрузки конфигурации, поэтому учитываются расширения и текущая версия базы. Отметка «ограничено RLS» берется из регистра БСП «Права ролей» (признаки «чтение/изменение без ограничения»), разрешенные значения — из видов доступа группы и профиля, а доступ к конкретной записи — программным интерфейсом БСП «Права доступа к данным», тем же, которым пользуется сама конфигурация. Подбор ролей — жадное покрытие: на каждом шаге берется роль с наименьшим числом прав на одно еще не покрытое требование, затем лишние роли убираются.
Вопросы и ответы
Работает ли без БСП? Да: анализ ролей, «кто может», сравнение пользователей и проверка на администраторов и удаление работают по ролям платформы. Профили, группы, доступ к записи и изменения прав без БСП выключены — обработка пишет об этом на форме.
Какие права нужны? Права администратора: обработка читает роли всех пользователей. Под обычным пользователем форма сообщит об этом и ничего не покажет.
Как подключить? Открыть файл через «Файл → Открыть» или зарегистрировать в «Дополнительных отчетах и обработках». При регистрации безопасный режим нужно выключить: программный интерфейс управления доступом БСП в безопасном режиме не работает.
Учитывается ли упрощенная настройка прав (персональные группы доступа)? Анализ — да. Включение в группу в этом режиме пока не проверялось на базе с упрощенным интерфейсом.
Сколько это занимает? На демобазе УНФ 3.0 (13 пользователей, 1 067 ролей, около 5 000 объектов): «кто может» — 3 секунды при первом вызове и доли секунды дальше, сравнение пользователей — около 4 секунд, проверка прав — около 3 секунд, подбор ролей — меньше секунды. Первое открытие формы — до 10 секунд: платформа загружает метаданные.
Анализируются ли тексты ограничений RLS? Нет. Платформа не отдает их во время работы, поэтому обработка показывает факт ограничения, разрешенные значения доступа и итог по конкретной записи — без разбора самих шаблонов ограничений.
На чем проверено? УНФ 3.0.14 (демобаза, БСП 3.2.1) на платформе 8.5.1. Файл открывается платформами 8.3.24 и 8.3.27, модуль обработки компилируется на 8.3.27.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.168
Вступайте в нашу телеграмм-группу Инфостарт