Группа доступа

Группа доступа

Программное обеспечение СЭД «Корпоративный документооборот» содержит широкие возможности по настройке прав доступа пользователей.

Внимание. Описание настройки права доступа для версии 5.0

Права доступа пользователей версии 3.7 могут быть определены как для объектов метаданных в целом, так и для конкретных значений элементов базы данных. В подсистеме управления правами доступа широко используются такие объекты, как группы пользователей, группы доступа и профили групп доступа. Далее, в этой статье, мы детально рассмотрим все необходимые объекты для настройки прав пользователей. Для настройки прав доступа рекомендуется использовать релиз платформы не ниже 8.2.12.х.

Включение всех возможностей по настройке прав доступа производится установкой флажка «Ограничивать доступ на уровне записей» в форме настройки параметров системы (подсистема «Администрирование системы»).

Доступ к механизмам управления правами доступа реализован в подсистеме «Администрирование системы» пункт «Права доступа».

Основным объектом установки прав доступа для сотрудников является справочник «Группы доступа сотрудников». Каждый элемент справочника «Группы доступа сотрудников» содержит в следующие объекты:

  • Список сотрудников и/или групп пользователей
  • Список видов доступа (для разграничения прав на уровне записей базы данных)
  • Список значений видов доступа (конкретных значений видов доступа)

Кроме того, каждая группа доступа содержит ссылку на элемент справочника «Профиль групп доступа». Поведение группы доступа полностью зависит от указанного в ней профиля, ниже, в этой статье, мы подробно рассмотрим настройку профиля группы доступа, а потом вернемся к настройке групп доступа.

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

  • Разрешения, определяемые на уровне ролей из структуры метаданных конфигурации. Роли метаданных определяют доступность видов объектов конфигурации и доступность определенных действий пользователей. Например, роль «Использование отчетов» позволяет пользоваться отчетами конфигурации. Кроме того, на уровне определения ролей можно открыть доступ к работе пользователя в режиме web-клиента или тонкого клиента, возможность использования сканера и т.д.
  • Разрешения, определяемые на уровне записей базы данных (Record Layer Security). Данные разрешения применяются к конкретным значениям (справочникам, документам) базы данных. Данные разрешения являются некими «разрезами-ограничителями» при доступе к базе данных. Такие разрешения разделены на виды, например вид доступа по грифам доступа, вид доступа по корпоративным папкам и т.д.

Общий вид элемента справочника «Профили групп доступа» приведен на рисунке ниже. Этот и другие рисунки в статье сделаны на основании демо-базы СЭД «Корпоративный документооборот» поставляемой вместе с продуктом. Обратите внимание на зеленую кнопку панели инструментов ролей. Нажатие на неё переключает варианты отображения списка ролей

На рисунке выше приведен пример профиля «Стандартный доступ». Для данного профиля (элемент справочника «Профили групп доступа») доступен набор ролей, выделенных в списке слева зеленым цветом. Красной рамкой на рисунке обведены определенные в СЭД «Корпоративный документооборот» виды доступа на уровне записей базы данных. На сегодня доступен следующий набор видов доступа на уровне записей базы данных:

  • Виды документов
  • Корпоративные папки
  • Организации
  • Шаблоны бизнес-процессов
  • Грифы доступа
  • Пользователи

Список видов доступа в профиле можно заполнить вручную либо нажать на кнопку «Заполнить виды Заполнить все» в командной панели списка «Виды доступа». Если список видов доступа пуст, то считается, что для данного профиля не применяется ограничение на уровне базы данных.

Важно! Если какой-либо вид доступа не указан в списке, то считается, что у пользователей нет ограничений по этому виду доступа и доступ по неуказанным видам разрешен. В дальнейшем это может затруднить корректировку прав доступа, поэтому рекомендуется сразу указывать все виды доступа и затем, при необходимости, в группах доступа явно указывать разрешение на доступ к какому либо виду. Все необходимые виды доступа для организации доступа к документам можно заполнить по кнопке «Заполнить виды Доступ к документам».

Страницы: 1 2 3 4 5 6 7Следующая →

Страницы: ← Предыдущая 1 2 3 4 5 6 7Следующая →

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

Вернемся в группу доступа. Группа доступа в обязательном порядке содержит ссылку на один из профилей доступа. Рассмотрим группу доступа созданную по профилю «Стандартный доступ».

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

В форме группы доступа сверху справа мы видим список заданных в профиле видов доступа. Для каждого вида доступа можно указать два варианта разрешения доступа:

  • Доступ разрешен только указанным в списке
  • Доступ разрешен всем, кроме указанных в списке

Справа внизу формы расположен список конкретных значений доступа, выбираемых из значений соответствующих справочников.

Обратите внимание на то, что мы установили полные запреты на доступ по всем видам документов (список конкретных разрешенных значений пуст), а также по всем организациям, грифам доступа и корпоративным папкам. Доступ к этим объектам мы будем определять в дальнейшем более гибко, не для всех пользователей сразу, а для конкретных пользователей или небольших групп пользователей.

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

Важно! Внутри каждой группы доступа проверка на предоставление доступа осуществляется по всем видам доступа, если набор значений какого-либо вида доступа не удовлетворяет соответствующему реквизиту документа, то доступ по этой группе не предоставляется. Например, в какой-либо группе доступа указано, что доступ предоставляется к документам всех юридических лиц (вид доступа «Организации») и видам документов «входящий» и «исходящий», а проверяемый документ имеет тип «внутренний», в таком случае доступ к документу предоставлен не будет, хотя проверка по виду доступа «Организации» прошла успешно. Тем не менее, доступ к этому документу может быть предоставлен, если значения видов доступа из другой группы доступа этого пользователя полностью удовлетворит набору реквизитов документа.

Страницы: ← Предыдущая 1 2 3 4 5 6 7Следующая →

Как известно, механизм настройки прав доступа в современных конфигурациях достаточно сложен. Всю настройку необходимо выполнять в пользовательском режиме 1С. Хорошо это или плохо – вопрос спорный. Конечно, появились новые возможности, но, как обычно, сложность возросла в прогрессии. Теперь, настроить права доступа «интуитивно» не получится. Необходимо, как минимум, познакомиться с основными объектами и понять основные принципы работы с ними. Я уже не говорю об внесении каких-либо изменений или дополнений. Я уже писал ранее статью про использование шаблонов в RLS. Она заключалась в описании основных шаблонов ограничения прав доступа на уровне записей. В данной же статье, я хочу привести более общее описание механизма настройки прав доступа (на уровне записей, в том числе). Описать основные объекты и регистры, и дать общие рекомендации по расширению механизма.

Оглавление

  1. Общие принципы настройки подсистемы прав доступа
  • Профили групп доступа
  • Группы доступа
  1. Ограничение доступа на уровне записей
  • Виды доступа
  1. Регистры, используемые для хранения значений видов доступа
  • Значения групп доступа по умолчанию
  • Значения групп доступа
  • Группы значений доступа
  • Наборы значений доступа
  1. Дополнительные регистры сведений, используемые для настройки прав
  2. Отчет «Права доступа»

Общие принципы настройки подсистемы прав доступа

Как я написал выше, теперь абсолютно все настройки необходимо выполнять в пользовательском режиме.

Для чего это было сделано?

Во-первых, количество ролей в современных конфигурациях сильно увеличено. По сути для каждого объекта или небольшой группы объектов теперь существует по две роли – на чтение и на запись. Также существует большое количество вспомогательных ролей, значения которых используются в различных механизмах системы. Например «Отклонение от условий продаж». Чтобы избежать необходимости назначать каждому отдельному пользователю или группе пользователей всего этого количества ролей, в системе существуют два дополнительных объекта – справочника, которые позволяют оптимизировать этот процесс. Ниже приведена общая схема назначения прав доступа:

Рассмотрим эти справочники более подробно.

Профили групп доступа

Элементы данного справочника содержат наборы ролей конфигурации. Точнее, наборы ссылок на элементы справочников: «Идентификаторы объектов метаданных» и «Идентификаторы объектов расширений» описывающие роли заданные в конфигураторе.

Каждый профиль объединяет в себе все роли, необходимые для работы с определенной подсистемой. Например: «Менеджер по продажам», «Кладовщик».

Дополнительно, профили групп доступа содержат наборы видов и значений доступа для реализации ограничения прав на уровне записей. Об этом будет написано отдельно.

Группы доступа

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

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

На заметку. В системе существует режим упрощенного интерфейса настройки прав доступа. В упрощенном режиме профили назначаются непосредственно пользователям системы, и настройки ограничений прав доступа на уровне записей также выполняются для каждого пользователя отдельно. Однако, группы доступа, в данном случае, создаются неявно и присваивается пользователю для которого выполняется настройка, образуя связь – «один к одному».

В информационной базе присутствуют предопределенные профили, изменение которых запрещено. Для добавления дополнительных прав для пользователя, необходимо или создать новый профиль или сделать копию предопределенного и внести в него необходимые изменения.

На заметку. Создание и использование копии предопределенного профиля чревато проблемами после выполнения обновления системы. Требуется проанализировать изменения базового профиля и внести аналогичные изменения в собственный. Это достаточно трудоемкий процесс. Для его автоматизации можно воспользоваться расширением, позволяющим создавать собственные профили на основании базовых. В этом случае, после обновления базового профиля все изменения будут автоматически перенесены в производный.

Ограничение доступа на уровне записей

В предыдущем разделе я уже коснулся этой темы. Теперь, разберем ее более подробно.

Как было описано выше, настройки ограничения доступа на уровне записей выполняются либо непосредственно в профилях, в этом случае, они будут действовать для всех групп доступа, созданных для данного профиля, либо в группах доступа. Для упрощенного варианта интерфейса настройки прав, они выполняются непосредственно для каждого пользователя (неявно, для группы доступа привязанной к каждому пользователю).

Ограничение на уровне записей выполняется в разрезе видов доступа.

Виды доступа

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

  • Отдельные объекты: организации, склады, подразделения, кассы…
  • Группы объектов: группы контрагентов, группы номенклатуры, группы физических лиц.
  • Составные объекты (группы объектов и объекты) – пользователи, внешние пользователи.

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

Остальные виды доступа, доступные для системы, описываются непосредственно в каждой конфигурации, созданной на базе БСП, в процедуре общего модуля «УправлениеДоступомПереопределяемый >> ПриЗаполненииВидовДоступа». Собственно, в этот же модуль, можно добавить собственный код для расширения списка доступных видов доступа.

Синтаксис добавления нового вида доступа следующий:

ВидДоступа = ВидыДоступа.Добавить(); ВидДоступа.Имя = ВидДоступа.Представление = ВидДоступа.ТипЗначений = ВидДоступа.ТипГруппЗначений = ВидДоступа.НесколькоГруппЗначений = УправлениеДоступом.ДобавитьДополнительныеТипыВидаДоступа(ВидДоступа, Тип(«»), Тип(«»));

Для простых видов доступа достаточно заполнить только первые три свойства. Если необходимо ограничивать данные не по отдельным элементам, а по группам элементов, необходимо указать свойство «ТипГруппЗначений». Это должен быть отдельный справочник, значения которого необходимо выбрать для каждого элемента основного справочника (по которому выполняется ограничение). Причем, если дополнительно установлен флаг «НесколькоГруппЗначений», то в основном справочнике необходимо создать табличную часть для возможности привязки его элементов сразу к нескольким группам.

Процедура «ДобавитьДополнительныеТипыВидаДоступа» позволяет добавить дополнительный тип объектов, которые могут входить в группы, если используется ограничение по группам значений.

Если необходимости, можно указать условие использования нового вида доступа в зависимости от настроек системы, нужно добавить соответствующий код в процедуру «УправлениеДоступомПереопределяемый >> ПриЗаполненииИспользованияВидаДоступа»:

Если ИмяВидаДоступа = «НовыйВидДоступа» Тогда Использование = Константы.ИспользоватьНовыйВидДоступа.Получить(); КонецЕсли;

Дополнительно, требуется внести изменения в определяемые типы:

  • ЗначениеДоступа — добавить тип значения доступа и тип группы значений доступа (если используются группы).
  • ЗначениеДоступаСГруппамиЗначенийДоступаОбъект — добавить тип значения доступа, в случае, если для вида доступа указан тип группы значений доступа.

Внимание. После внесения вышеописанных изменений, для вступления настроек в силу, требуется выполнить обновление вспомогательных данных. Можно воспользоваться обработкой из состава конфигурации БСП «Обновление вспомогательных данных», раздел — «Управление доступом».

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

#ПоЗначениям( «Документ.РеализацияТоваровУслуг»,»Чтение»,»»,»НовыйВидДоступа»,»ИмяРеквизитаДокумента»,»»,»»,»»,»»,»»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»», «»,»» )

Подробнее об использование стандартных шаблонов ограничения прав на уровне записей читайте в этой статье.

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

Для хранения значений видов доступа, в системе применяются специальные регистры сведений. По данным этих регистров происходит обор записей в типовых шаблонах ограничения прав на уровне записей. Рассмотрим эти регистры подробнее.

Значения групп доступа по умолчанию

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

Если значение ресурса «ВсеРазрешены = ложь», тогда разрешенные значения видов доступа настраиваются в регистре «Значения групп доступа». Если «ВсеРазрешены = истина» , тогда запрещенные значения видов доступа настраиваются в регистре «Значения групп доступа».

Если реквизит «ВсеРазрешеныБезИсключений = истина», тогда все значения видов доступа разрешены без исключений. То-есть, записи регистра «Значения групп доступа» — не анализируются при проверке прав.

Дополнительный реквизит «БезНастройки», говорит о том, что для текущей группы доступа отсутствует настройка по текущему виду доступа.

Значения групп доступа

Данный регистр работает в паре вышеописанным. В регистре указываются разрешенные или запрещенные значения видов доступа для групп доступа, в зависимости от заданных значений регистра «Значения групп доступа по умолчанию».

Группы значений доступа

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

Дополнительно, регистр используется для других вспомогательных связей, используемых в основном для обновления данных этого регистра. В зависимости от значения реквизита «ГруппаДанных», связи могут быть следующие:

  • 0 — Стандартные значения доступа. Связь: значение доступа >> группа доступа.
  • 1 — Обычные/внешние пользователи. Связь: пользователь >> группа пользователей.
  • 2 — Обычные/внешние группы пользователей. Связь: группа пользователей >> пользователь.
  • 3 — Группы исполнителей. Связь: группа исполнителей задач >> группа пользователей или пользователь.
  • 4 — Объекты авторизации. Связь: пользователь >> группа пользователя или пользователь.

Наборы значений доступа

Регистры содержит наборы значений видов доступа, используемые в шаблонах ограничения доступа: #ПоНаборамЗначений и #ПоЗначениямИНаборамРасширенный. Данные в регистре формируются автоматически при записи объектов системы, для которых применяются вышеуказанные шаблоны.

По своей сути, записи данного регистра определяют набор значений видов доступа, которые должны быть доступны в одной из групп доступа пользователя для доступности самого объекта. Значения видов доступа с одним и тем же номером набора объединяются по логическому «И». Наборы значений видов доступа с разным номером набора объединяются по логическому «ИЛИ».

Дополнительные регистры сведений, используемые для настройки прав

Права ролей – описание созданных в конфигурации ролей и их прав к объектам системы. Регистр используется для быстрого получения прав на таблицы для текущего пользователя, в отчете «Права доступа» и в некоторых других механизмах системы.

Таблицы групп доступа – наличие прав доступа у групп доступа к объектам системы. Ресурс «Изменение» говорит о наличие доступа не только на чтение. Используется в шаблонах ограничения доступа на уровне записей для проверки права доступа у группы доступа к объекту системы.

НастройкиПравОбъектов, НаследованиеНастроекПравОбъектов — данные регистры используются для настройки прав к отдельным объектам системы, если это необходимо. Настройка аналогична настройки прав к папкам и файлам операционной системы. Необходимые разрешения должны быть указаны в процедуре общего модуля: «УправлениеДоступомПереопределяемый >> ПриЗаполненииВозможныхПравДляНастройкиПравОбъектов». Объекты, для которых необходимо использовать данную настройку прав, необходимо включить в определяемые типы: «ВладелецНастроекПрав», «ВладелецНастроекПравОбъект». Также, необходимо добавить их в тип общей команды «НастроитьПрава».

Отчет «Права доступа»

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

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

Для корректной работы отчета необходимо корректное заполнение состава видов доступа, которые используются для ограничения прав на уровне записей, в процедуре «УправлениеДоступомПереопределяемый >> ПриЗаполненииВидовОграниченийПравОбъектовМетаданных».

Это следует иметь в виду при добавлении новых видов доступа!

Данные можно дополнить вручную добавив строки следующего вида:

|Справочник…

Или воспользоваться обработкой из состава конфигурации БСП «УправлениеДоступом»:

На этом все. Спасибо за внимание и до скорых встреч.

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

Администратор кластера может назначить любой информационной базе один из существующих в кластере профилей безопасности. И тогда потенциально опасная функциональность прикладного решения будет ограничена в тех пределах, которые описаны в этом профиле.

Стандартно, после создания, профиль безопасности запрещает выполнение всех потенциально опасных действий:

Это такие действия, как:

  • обращение к файловой системе сервера;
  • запуск COM-объектов;
  • использование внешних компонентов 1С: Предприятия;
  • запуск внешних обработок и отчётов;
  • запуск приложений, установленных на сервере;
  • обращение к ресурсам Интернета.

Таким образом защититься от нежелательных действий незнакомого прикладного решения очень просто: нужно создать пустой профиль безопасности и назначить его информационной базе. Далее, если есть необходимость, можно расширять этот профиль, описывая в нём действия, которые разрешается выполнять прикладному решению.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *