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

14.04.14

Администрирование - Информационная безопасность

Значит, появилась следующая задача: Конфигурация - стандартная "Бухгалтерия для Казахстана", моим российским коллегам уточню что очень похожа на конфигурацию для России. При формировании отчета "Карточка счета" нужно, чтобы пользователи кроме главбуха и расчетного бухгалтера просто не видели физических лиц.

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

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

Так вот, я заинтересовался все-таки вторым способом.

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

Ограничения производятся по 4 основным правам:

  • Чтение
  • Добавление
  • Изменение
  • Удаление

 

Как же все таки делается ограничение? Так вот, оказывается для этого есть инструмент, похожий на язык запросов, в принципе это и есть язык запросов. Прописывается все в Роли пользователя, в специальной секции "Ограничение доступа к данным"

Так как я ранее не сталкивался с этим механизмом я решил поступить просто и эффективно в условия ограничения доступа к данным я добавил "ГДЕ ЛОЖЬ" для права "Чтение", и после этого пользователям присвоил это право, вот и все )

При формировании Карточки счета пользователи видят все, но те элементы, которые связаны с Физическими лицами обозначаются Как "Объект не найден" - в принципе такой расклад пока устраивает

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

Можно конечно усложнить условие, но пока что мне этого не нужно.

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

См. также

AUTO VPN (portable)

Информационная безопасность Платные (руб)

Автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    14395    22    32    

33

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

Информационная безопасность Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    2598    PROSTO-1C    9    

29

Device flow аутентификация, или туда и обратно

Информационная безопасность Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1616    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

5 стартмани

24.04.2023    5437    14    soulner    7    

29

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    5965    32    Silenser    12    

23

История одного взлома или проверьте вашу систему на безопасность

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

26.10.2022    9243    Tavalik    46    

113
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. gragden 54 09.04.12 12:50 Сейчас в теме
Значит, появилась следующая задача:
Конфигурация - стандартная "Бухгалтерия для Казахстана", моим российским коллегам уточню что очень похожа на конфигурацию для России.
При формировании отчета "Карточка счета" нужно, чтобы пользователи кроме главбуха и расчетного бухгалтера просто не видели физических лиц.


Перейти к публикации

1. slavich 7 09.04.12 12:50 Сейчас в теме
Наподобие делал с документами, ограничение по организации #Организация("Организация"). К стати тоже с Алматы)))
2. gragden 54 11.04.12 10:54 Сейчас в теме
3. rasswet 82 11.04.12 12:23 Сейчас в теме
недостаток имхо в том, что если взять например счет где видно ЗП, то будет виден её размер, т.е в принципе видна ЗП руководителей, хотя конкретно не видно чья она.
4. gragden 54 11.04.12 12:42 Сейчас в теме
(3) rasswet, я согласен, но если у вас есть другой вариант решения, я бы с радостью его рассмотрел
5. un_named 16 06.06.12 19:40 Сейчас в теме
Тот же мехамнизм, но без создания/доработки роли:
1. нужно включить использование ограничения прав на уровне доступа
2. создать группу пользователей с одним видом объекта доступа - "Физические лица"
3. добавить в группу пользователей, которым запрещен доступ к физическим лицам
4. права к этой группе пользователей оставить пустыми

Пользователь такой группы не будет видеть ФЛ (только группы в справочнике), не будет видеть документы, непосредственно связанные с ФЛ. В оборотке и карточке счета, допустим, по 3350, будет видеть "объект не найден" и суммы.
mugambi; Bassgood; +2 1 Ответить
6. comol 5051 29.06.12 16:02 Сейчас в теме
Ужас.
1) так делать нельзя. Задача явно не для RLS. Какие ещё "Объект не найден"...
2) не статья а неправильное решение одной тривиальной задачи. К объяснению работы с RLS даже близко не приблизились
3) Механизм RLS сам по себе зло. И если есть хоть малейшая возможность его избежать - нужно избегать, а не вставлять куда не попади.
maksa2005; Bassgood; +2 1 Ответить
8. gragden 54 06.07.12 15:15 Сейчас в теме
(6) comol,

О да ужас - это хорошая эмоция ))
1. Так делать можно и задача явно для RLS - даже есть механизмы уже присутствующие в типовых конфигурациях
2. Решения бывают разными и каждый в меру своих возможностей и времени это делает. Если у вас есть другие варианты решения то милости просим. Работу RLS даже не пытался объяснить - для этого есть специальные курсы и лекции, да и можно найти море других источников, где правильным языком пишут что к чему.
3. Механизм не зло имхо. Избегать можно, но не всегда удобно это делать, да и времени можно потратить немало. Поставил код куда надо, если бы не туда поставил - думаю вообще бы не работало ничего ))
11. comol 5051 08.07.12 19:54 Сейчас в теме
(8)
1) "покажите мне" "объект не найден" в УПП. :)
3) Если бы чуть "глубже" капнуть - поймёте. При использовании RLS запрос к СУБД становится не предсказуемым. Вы пишите ващ запрос а 1С туда добавляет RLS... Собственно далее вы не знаете что за запрос.. используятся там индексы или нет... есть вложенные запросы или нет. И вообще понятия не имеете сколько он будет выполняться по времени.
MoshkovEV; +1 Ответить
12. Bassgood 1425 09.07.12 01:24 Сейчас в теме
(11) comol, кстати у меня был такой случай, что у нескольких пользователей при проведении некоторых документов и формировании пары отчетов - зависала 1с, вываливалась критическая ошибка (писалось что-то типа "sql не поддерживает соединение более 256 таблиц") и всё, перезагрузка приложения, а причина оказалась в том, что этим пользователям было назначено несколько групп доступа по RLS, в связи с чем видимо к исполняющемся запросам 1с присобачило целую кучу соединений с другими таблицами и кирдык...
MoshkovEV; comol; +2 1 Ответить
13. gragden 54 09.07.12 08:10 Сейчас в теме
(11) comol,
1) смешно - "покажите мне" "объект не найден" в УПП. Ну у кого как фантазия и инструмент позволит организовать, конечно у меня не айс, но работает
3) Существует такое понятие - как проектная документация, - на этапе подготовки для реализации проекта все это дело просчитывается (там же экономическое обоснование)- и поверьте мне результат предсказуем. Конечно если писать от винта или на скорую руку, тогда результат будет такой же "винтовой" или "криворучный" все ведь зависит от рук разработчика. 1С Предприятие - развитая платформа разработки, поэтому что там происходит внутри разработчиков не должно интересовать - этим должны заниматься программисты, который и пишут оную 1С Предприятие.

Ну и наконец - хотелось бы спросить как бы вы организовали решение данной задачи, пожалуйста скажите уж больно интересно. Писать мы все можем о механизмах и прочим, но есть задачи, которые нам нужно решать, мы не должны спорить о механизмах как о лучшем или как о худшем - для каждой задачи нужно правильно выбрать решение. Думаю вопрос справедливый.
16. comol 5051 09.07.12 11:56 Сейчас в теме
(13) (15) Zigfridish,

Господа, задача звучит "При формировании отчета "Карточка счета" нужно, чтобы пользователи кроме главбуха и расчетного бухгалтера просто не видели физических лиц".

Какое там RLS? там СКД и вычисляемые поля. 2 минуты чтобы дописать ещё одно условие. Группы доступа конечно придётся задействовать, но без RLS.
17. Bassgood 1425 09.07.12 14:58 Сейчас в теме
(16) comol, в публикации написано так, но после автор признается, что это было необходимо не только для одной "карточки счета"... в общем неправильно описана исходная задача =)
В данном случае с помощью СКД я думаю можно и без использования каких-либо групп обойтись - в вычисляемых полях использовать функцию "РольДоступна()".
19. gragden 54 10.07.12 15:48 Сейчас в теме
(17) Zigfridish, (16) comol,

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

1. Добавлен код в общий модуль "Общего назначения":
// Доступ пользователя к физ-лицам из отчетов
Функция ДоступКФизЛицам(Значение) Экспорт
	
	Если ТипЗнч(Значение) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
		
		Запрос = Новый Запрос;
		Запрос.Текст = "ВЫБРАТЬ
		|	СМ_ПользователиДляДоступаКФизЛицам.Пользователь
		|ИЗ
		|	РегистрСведений.СМ_ПользователиДляДоступаКФизЛицам КАК СМ_ПользователиДляДоступаКФизЛицам
		|ГДЕ
		|	СМ_ПользователиДляДоступаКФизЛицам.Пользователь = &Пользователь";
		Запрос.УстановитьПараметр("Пользователь", глТекущийПользователь);
		РезультатЗапроса = Запрос.Выполнить().Пустой();  // если пустой, то доступ есть
		
		Возврат РезультатЗапроса;
		
	Иначе
		Возврат Истина;
	КонецЕсли;
	
КонецФункции
Показать


2. Добавлен код (условие) в Вычисляемые поля отчета Карточка счета:

КОГДА НЕ ОбщегоНазначения.ДоступКФизЛицам(СубконтоДт1) ТОГДА "Нет доступа" + &ПС
	ИНАЧЕ Представление(СубконтоДт1)+ &ПС
КОНЕЦ

Для субконто дебета и аналогично для субконто кредита (СубконтоКт1)


Выкладываю скрины:
1. Отчет

2. Документ открывается и вуаля:


Единственно чем может помочь Ваш совет, так это тем что бы скрыть "Объект не найден", но стоит ли того?? если конфа типовая и обновляться приходится каждый квартал.

Есть еще предложения, просим милости.
22. comol 5051 11.07.12 09:08 Сейчас в теме
(19) Задача сформулирована как закрыть доступ в отчете а не во всей конфе. Если закрыть доступ к физлицам то как-то не совсем логично оставлять доступ к документам. Но даже если во всей конфе надо закрыть доступ то сперва нужно сформулировать задачу доступ закрыть полностью (под страхом расстрела не должны увидеть) или хватит интерфейсного. И вот только если нужно полностью закрыть доступ на уровне БД и во всей конфе, вот только тут будет необходимость RLS, но естественно очень аккуратного и продуманного, а не как у вас "объект не найден"....
23. gragden 54 11.07.12 10:02 Сейчас в теме
(22) comol,
ну вот я наконец добился того что хотел от Вас услышать. Спасибо добрый человек! Дальше не буду писать что закрывать, зачем закрывать и почему "Объект не найден".
7. Bassgood 1425 01.07.12 19:11 Сейчас в теме
(0) Разве это похоже на статью? По-моему, как было замечено в (6), это
не статья а неправильное решение одной тривиальной задачи. К объяснению работы с RLS даже близко не приблизились

Более правильный вариант решения был предложен в (5). Если всем пользователям кроме двух необходимо ограничить доступ к определенной информации только в одном отчете, а все остальные права оставить как есть, то можно было бы попробовать внести изменения в сам отчет.
Вы убрали у пользователей доступ к справочнику ФЛ, а мб он им необходим для работы в базе, а Вас попросили для пользователей лишь ограничить получение информации по ФЛ в одном отчете?
И не проще ли было просто убрать галку "Чтение" вместо того, чтобы накладывать RLS?
Если статья понравилась или что то для Вас прояснилось можете кидать 500 тенге на мой киви кошелек (7078246262) или 100 рублей

Просить за это сбросить деньжат на кошелек? Да этой информации полно в интернете и в желтых книжках тоже, ничего нового...
9. gragden 54 06.07.12 15:27 Сейчас в теме
(7) Zigfridish,

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

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

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

Для того чтобы был доступ к физ лицам, например для вывода подписи, существуют другие команды, позволяющие это сделать (справка рулет)
Галку чтение убирать не проще, потому что права регулируются гибко

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

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

И кстати, в вашей квалификации я сильно сомневаюсь
10. Bassgood 1425 06.07.12 22:05 Сейчас в теме
(9)
тем более что это сделано не только для одного отчета, а используется и для объектов конфигурации, которые не являются типовыми.

Странно, а в публикации написано совсем другое, в ней речь вроде бы шла только лишь об одном отчете...
Галку чтение убирать не проще, потому что права регулируются гибко

На скрине в ограничении доступа по праву "Чтение" указано "ГДЕ ЛОЖЬ" - это равносильно тому, если бы вы просто сняли галку с этого права вот и все, и при этом никакого доступа к чтению информации по ФЛ вы не получите никакими "другими командами" (за исключением функционала, исполняемого в привилегированных модулях).
Про бабло - я вообще впервые вижу, чтобы в публикации просилось забросить денег на кошелек, если хотите заработать денег - для этого на сайте есть платные разработки, а просить денег за скудную информацию...
Судя по этой публикации можно сомневаться только лишь в вашей квалификации, но не в моей, я ничего подобного на сайте не публиковал =)
14. gragden 54 09.07.12 08:37 Сейчас в теме
(10) Zigfridish,
Да, на момент написания упомянул только об одном отчете, но далее это все перешло и на другие объекты конфигурации

Цитата
На скрине в ограничении доступа по праву "Чтение" указано "ГДЕ ЛОЖЬ" - это равносильно тому, если бы вы просто сняли галку с этого права вот и все, и при этом никакого доступа к чтению информации по ФЛ вы не получите никакими "другими командами" (за исключением функционала, исполняемого в привилегированных модулях).

Да, указал "ГДЕ ЛОЖЬ" для более простого понимания ситуации, так как сам изрядно замучился с поиском информации по рлс, на самом деле этот запрос изменился:
Сейчас он выглядит так:
"#Если НЕ &СМ_ДоступКФизическимЛицам #Тогда
ГДЕ Ложь
#КонецЕсли"

Здесь СМ_ДоступКФизическимЛицам переменная сеанса, которая позволяет либо запрещает использование справочника, - Это то место где указано на картинки, далее идут немного другие запросы.

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

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

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

Ну и вопрос само собой, вот мы много с вами спорим о том как я написал статью (RLS, бабло, скорость, правильность). Будьте так добры предложите свой вариант, это будет более конструктивно.
15. Bassgood 1425 09.07.12 11:14 Сейчас в теме
(14)
Здесь СМ_ДоступКФизическимЛицам переменная сеанса, которая позволяет либо запрещает использование справочника

Проще было воспользоваться типовыми возможностями конфигурации по РЛС - группами доступа "Физические лица", чем создавать новый параметр сеанса и прописывать в модуле сеанса алгоритмы его установки, имхо
а на форумах я встречал что то типо да зачем rls она замедляет работу и другую подобную флудовую ахинею, которая к сожалению стала и тут разводиться.

а РЛС действительно замедляет выполнение запросов, это не выдумки
то что у вас только одна публикация, ну это уж ваше дело. Если обидел чем извините.

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

см. (5) - наиболее оптимальный вариант и не надо ничего придумывать своего, именно им бы я и воспользовался и не пришлось бы вносить каких-либо изменений в конфигурацию
18. gragden 54 10.07.12 15:24 Сейчас в теме
(15) Zigfridish,
Итак, типовые ограничения доступа согласно (5)
Да это действительно та штука, которая казалось бы мне нужна, но:
1. Типовыми ограничениями геморно управлять, результат конечно такой же.
2. В моей же системе проще, в справочник просто добавляются пользователи.
3. Кроме того, я могу управлять в тех местах, где доступ нужен к физ-лицам, например в печатных формах.
4. Мои ограничения работают быстрее типовых
Есть и другие мелочи, которые описывать не буду, т.к. нет времени на это.
Скрин типовых ограничений в Карточке счета 3350:

Типовые ограничения доступа КС3350
20. Bassgood 1425 10.07.12 18:48 Сейчас в теме
(18) а в типовом механизме пользователям просто назначается соответствующая группа доступа ФЛ.
(19) как описано в публикации - речь шла только об одной карточке счета, именно для нее и было предложено использование средств СКД, а не РЛС.
В общем я думаю дискуссию можно считать закрытой, каждый сам выбирает - либо пользоваться типовыми механизмами (если они есть), либо писать свои собственные =)
21. gragden 54 10.07.12 20:31 Сейчас в теме
(20) Zigfridish,

Конечно группами, по этому управляются не гибко

А Вы не думали о том что пользователь может открыть документ с Карточки??? в принципе 80% работы в этом и заключается, чтобы посмотреть цифры, а где неправильно подправить или просто посмотреть для детализации.

Это больше не дискуссия - а вопрос о том какой я идиот, написал неправильно статью, а еще попросил бабла за это, и что не предусмотрительно и опасно воспользовался СКД.

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

Я думаю вопросов будет не мало, по этому считаю, что ветка еще актуальна, потому что такой дискусии уж точно в книжках и на желтых страницах не найти. Есть вопросы задавайте. Есть решения предлагайте. Милости просим.
24. JaroslavBayev 14.04.14 15:45 Сейчас в теме
Есть 2 справочника "Районы" и "Службы", возможно ли по ним задействовать РЛС?
25. gragden 54 14.04.14 17:28 Сейчас в теме
26. JaroslavBayev 15.04.14 09:25 Сейчас в теме
27. dreamcreal 27.12.17 19:33 Сейчас в теме
Оставьте свое сообщение