Ограничение прав доступа пк объектам 1С Datareon в виде расширения

Ограничение доступа к объектам выполняется посредством создания пользователей на стороне 1С с определенным набором прав и запуска фоновых заданий подсистемы Datareon под этими пользователями.

Примечание

Особенность установки в виде расширения: При установке подсистемы Datareon в виде расширения отсутствует привилегированный режим, поэтому сразу переходим к созданию ролей для пользователя.

Последовательность действий

  1. Установка подсистемы в виде расширения по инструкции.

  2. Подготовка ролей для пользователя.

Создайте роль Чтение всего, которая позволит пользователю получать информацию по справочникам при направлении интеграции В Platform:

../../_images/image641.png

Эта роль позволит пользователю получать информацию по справочникам при направлении интеграции В Platform.

  1. Создание пользователя.

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

../../_images/image651.png
  1. Запуск регламентного задания.

Необходимо выполнить настройку регламентного задания. Задания должны быть запущены именно под пользователем с ограниченными правами.

Проверка правильности настройки

Для дополнительной проверки выполните следующие действия:

  1. Перейдите в Журнал регистрации.

  2. Выберите Отбор

../../_images/image60.png
  1. Выберите События только ВPlatform и ИзPlatform.

../../_images/image611.png

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

Проверка настроек

У созданного пользователя нет возможности работать в клиенте, у него есть только права на чтение. Следовательно, объект будет изменяться под администратором.

  1. Выберите любой справочник, внесите изменения и нажмите Записать и закрыть:

../../_images/image621.png
  1. Перейти в Центр мониторинга на вкладку События, здесь можно увидеть две записи:

../../_images/image631.png

Если просмотреть ошибку направления Datareon Platform, то отобразится следующее:

Код 558: [Ошибка обработки сообщения] Ошибка выполнения обработчика Загрузка_Контрагентов:
Причина ошибки: Нарушение прав доступа!

Стек ошибки: Ошибка при вызове метода контекста (Записать)
{(128)}:СуществующийКонтрагент.Записать(); // Сохраняем изменения только если они были
{Обработка.сшпОбработчикИзDatareon.МодульОбъекта(88)}:Выполнить (dt_Код);
{ОбщийМодуль.сшпКодОбработчиков.Модуль(179)}:КонтекстОбработчика.ВыполнитьКодОбработчика();
{ОбщийМодуль.сшпTcp.Модуль(1084)}:сшпКодОбработчиков.ВыполнитьОбработчикИзDatareon(КонтекстОбработчика, Компонента, КодОбработчика,

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Нарушение прав доступа!
[НарушениеПравДоступа]

Дополнительная проверка: объекты без прав доступа

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

../../_images/image661.png

То в Центре Мониторинга события будут отсутствовать, а в Журнале Регистрации 1С по событиям ToPlatform можно увидеть следующее событие:

Ошибка при вызове метода контекста (Выполнить)
{Datareon ОбщийМодуль.сшпРаботаСДанными.Модуль(86)}:РезультатЗапроса = Запрос.Выполнить();
{Datareon ОбщийМодуль.сшпTcp.Модуль(1368)}:Если ПроверятьАктуальностьОбъектногоКеша И ЗначениеЗаполнено(СсылкаНаОбъект)

[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
Недостаточно прав для работы с таблицей "Документ.ЗаказКлиента"
[НарушениеПравДоступа]
по причине:

по причине:
Недостаточно прав для работы с таблицей "Документ.ЗаказКлиента"

Заключение

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