Домой / Интернет / Создание пользователей в 1с 8.3. Бухучет инфо. Отключение доступа к базе

Создание пользователей в 1с 8.3. Бухучет инфо. Отключение доступа к базе

2016-12-01T13:37:17+00:00

Правильная настройка списка пользователей и их прав доступа в базу 1С:Бухгалтерия 8.3 (редакция 3.0) является необходимой при любом количестве людей, работающих с программой. Даже если с ней работаете только вы!

Такая настройка позволяет в дальнейшем ответить на такие вопросы, как "Кто внес те или иные изменения в базу", "Как дать к базе доступ только на просмотр для проверяющего", "Кто позволил помощнику изменить настройки учетной политики" и подобные им.

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

Итак, будем настраивать следующих пользователей:

  • Администратор : пользователь, который обладает полными правами на базу и не имеет никаких ограничений. Не нужно использовать этого пользователя для ежедневной работы. Пароль от администратора следует давать программистам и администраторам, которые нам настраивают или обновляют базу. Так как под этим пользователем будут работать только они - мы в дальнейшем всегда сможем в журнале регистрации отделить их изменения в базе от работы других пользователей. Это бывает полезно в случае "разбора полётов".
  • Главный бухгалтер : пользователь, который обладает правами не меньшими, чем администратор, но является самостоятельной ролью со своим паролем. Под этим пользователем будете работать вы сами.
  • Бухгалтер : если у вас есть помощники или другие бухгалтеры в подчинении, то этот пользователь подойдет для них. Какие ограничения накладывает эта роль:
    • Запрет на изменение параметров учета.
    • Запрет на изменение учетной политики.
    • Запрет на изменение плана счетов.
    • Запрет на редактирование списка пользователей.
    • Запрет на настройку счетов учета номенклатуры.
    • Запрет на удаление помеченных на удаление элементов.
    • Запрет на смену даты запрета изменения данных.
  • Проверяющий : этот пользователь будет обладать только правами на просмотр базы. Ничего менять в ней он не сможет.

1. Зайдите в раздел "Администрирование" и выберите там пункт "Настройки пользователей и прав" ():

2. В открывшейся панели выберите пункт "Пользователи":

3. По умолчанию, пользователь "Администратор" уже должен быть в этом списке. Сделайте двойной щелчок на нём, чтобы открыть его настройки.

4. Сделайте настройку, как на рисунке ниже. Пароль придумайте сами - его нужно повторить два раза. Обращаю ваше внимание, что у каждого из пользователей должен быть свой пароль. Осталось нажать "Записать и закрыть". Готово!

Главный бухгалтер

4. В окне настройки прав укажите галки рядом с пунктами "Администратор" и "Главный бухгалтер". Осталось нажать кнопку "Записать". Готово!

Бухгалтер

1. Вернитесь в список пользователей и нажмите кнопку "Создать" на панели инструментов.

2. Откроется окно с новым пользователем. Укажите настройки как показано ниже, только пароль придумайте свой.

4. В окне настройки прав укажите галки рядом с пунктом "Бухгалтер". Осталось нажать кнопку "Записать". Готово!

Проверяющий

1. Вернитесь в список пользователей и нажмите кнопку "Создать" на панели инструментов.

2. Откроется окно с новым пользователем. Укажите настройки как показано ниже, только пароль придумайте свой.

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


Как показала практика, в инсталляциях с 1С все допускают одни и те же ошибки разной степени серьезности. Я не буду касаться очевидных вещей вроде установки обновлений, но пройдусь по специфике работы сервера приложений под Windows. Например, по возможности бесконтрольно манипулировать базами Microsoft SQL с помощью инструментов 1С.


Исторически так сложилось, что редко когда системные администраторы и программисты 1С работают как одна команда. Чаще всего специалисты по 1С не вникают в тонкости системного администрирования, а сисадмины не стремятся постичь нюансы работы 1С.

И получается инфраструктура с «детскими болячками», очевидными для специалиста по ИБ ― ниже привожу личный ТОП таких проблем.

Запускаем сервер правильно

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


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



Заходим на сервер по RDP, видим такое окно и получаем нервный тик.


Конечно, «захардкоженые» пароли и сетевые ресурсы с анонимным доступом на запись встречаются редко. В отличие от работы сервера 1С из-под обычной доменной учетной записи. Разумеется, с возможностью выполнить произвольный код «на сервере».


Как известно любому 1С-нику, но не любому системному администратору, в обработках 1С есть два режима выполнения процедур: на сервере и на клиенте. Запущенная в «серверном» режиме процедура будет выполнена под учетной записью службы сервера приложений. Со всеми ее правами.


Если сервер 1С работает с правами администратора домена, то потенциальный вредитель сможет сделать с доменом что угодно. Разумным выходом станет создание специальной учетной записи ― по мотивам USR1CV8 , только уже в домене. В частности, ей стоит разрешить вход только на определенные серверы в оснастке «Пользователи и Компьютеры Active Directory».



Настройка входа только на разрешенные серверы.


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



Назначение прав пользователя в локальной политике безопасности.


Все то же самое касается и учетной записи сервера Microsoft SQL. Седых волос может прибавиться от вредных привычек:

  • запускать SQL с правами администратора компьютера или даже домена для удобного резервного копирования;
  • включать возможность запуска исполняемых команд через хранимую процедуру xp_cmdshell для переноса резервных копий на сетевые ресурсы через красивые планы обслуживания.

Подключаемся к SQL

Регулярно в практике встречается подключение баз данных к серверу 1С под пользователем «SA» (суперпользователь в SQL). Вообще, это не так страшно как звучит, ведь пароль от SA захэширован в файле 1CV8Reg.lst на сервере приложений. Хэш злоумышленник получить гипотетически может ― не забываем про права учетной записи сервера ― но расшифровка окажется долгой, особенно если использовать брутфорс.


Но все же не лишним будет настроить аудит доступа к этому файлу с уведомлением ответственных лиц.


Другое дело, когда программистам 1С «делегируют» обязанности DBA. Опять же, из личного опыта: сервер SQL был в зоне ответственности программистов, как и интеграция внешнего сайта с базами 1С. Итогом был пароль SA в скриптах сайта.

Для собственного успокоения стоит поставить на SA сложный пароль или вовсе деактивировать эту учетную запись. На SQL тогда нужно включить доменную аутентификацию для управления и создать для 1С отдельное имя входа с правами на необходимые базы.


Если вы не хотите оставить возможность создавать базы SQL через интерфейс 1С, то новому пользователю хватит общей роли public и db_owner непосредственно в базе 1С.


Это можно проделать через Management Studio или простым скриптом T-SQL:


USE CREATE LOGIN 1c_user WITH PASSWORD = "VeryStrongPassword" CREATE USER 1c_user FOR LOGIN 1c_user ALTER ROLE db_owner ADD MEMBER 1c_user GO

Пользователи 1С

Правам пользователей в 1С почему-то мало кто уделяет внимание. А ведь пользователь с правами «Административные функции» или «Администрирование» запросто выгрузит базу в .DT через конфигуратор и унесет домой ― это подарит не одно мгновение волнительного счастья вашему руководству. Поэтому стоит поймать на рюмочку чая 1С-ника и посидеть совместно над базой, чтобы узнать, какие пользователи имеют подобные права. А заодно ― чем грозит понижение их полномочий.



Право выгрузить базу у роли Полные Права в типовой 1С: Бухгалтерии 2.0.


Следующий важный момент ― запуск внешних обработок. Как мы помним, в 1С можно запускать код с правами учетной записи сервера. Хорошо, если она не имеет административных прав на систему, но все равно стоит исключить возможность запуска подобных обработок для пользователей. И не забудьте попросить специалиста по 1С «встраивать» дополнительные отчеты и обработки в базу. Хотя не во всех обработках поддерживается встраивание ― эта возможность зависит от версии 1С.



Проверить, какие типовые роли не имеют прав на открытие внешних обработок, можно в конфигураторе.


Все эти действия не только помогут защититься от потенциального «внутреннего вредителя», но и станут дополнительной преградой на пути , маскирующихся под обработки 1С.

Если все же необходим запуск внешних обработок, то неплохим вариантом контроля и подстраховки будет аудит их запуска. Штатного механизма аудита у 1С пока нет, но в сообществе уже придумали несколько обходных маневров . Внедрять эти механизмы стоит в паре со специалистом 1С, также как и настраивать уведомления о событиях в журнале регистраций базы.


Отдельно отмечу возможность настройки доменной аутентификации пользователей вместо аутентификации 1С. И пользователям будет удобнее ― меньше паролей в их памяти снижает риск появления стикеров на мониторе.

Администратор кластера

Итак, пользователи теперь не могут запускать обработки, учетная запись сервера максимально ограничена. Но есть и еще кое-что: учетная запись администратора кластера 1С, которая не создается по умолчанию.


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


Пример скрипта на PowerShell, изгоняющего всех пользователей изо всех баз сервера:


$COMConnector = New-Object -ComObject V83.COMConnector $agent = $COMConnector.ConnectAgent("servername") $cluster = $agent.GetClusters() $agent.Authenticate($cluster,"", "") $sessions = $agent.GetSessions($cluster) Foreach ($session in $sessions) { $agent.TerminateSession($cluster, $session) }

Использование подобного способа работы с сервером 1С в благих целях уже упоминалось .


Создать администратора кластера не просто, а очень просто ― достаточно щелкнуть правой кнопкой на пункте «администраторы» в управлении кластером 1С, создать нового администратора, задав логин и пароль.



Создание администратора кластера 1С.


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

  • документ по вопросам ИБ на сайте ITS;
  • в сообществе mista.ru.

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

Роли настраиваются в конфигураторе. Так же их можно назначить конкретным пользователям, но для удобства в 1С реализован механизм групп доступа. В справочнике пользователей откройте («Администрирование — Настройка пользователей и прав — Пользователи») карточку любого сотрудника и нажмите на кнопку «Права доступа». В разных конфигурациях интерфейс может отличаться, но суть одна и та же.

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

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

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

Роли в конфигураторе (для программистов)

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

На первой вкладке отображается список объектов конфигурации и назначенные для данной роли права на них.

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

В нижней части формы роли можно настроить автоматическую установку прав:

  • для новых объектов (разрешающие права);
  • на реквизиты и табличные части (права наследуются от объекта – владельца)
  • на подчиненные объекты (права назначаются с учетом прав на родительские объекты).

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

Настройки прав для остальных объектов конфигурации сходи между собой: чтение, добавление, удаления, проведение (для документов), управление итогами (для регистров накопления и бухгалтерии) и прочие. Здесь важно отметить право на «Интерактивное удаление». При его доступности пользователи смогут физически удалять данные из программы (shift + delete). Для важных объектов данное право назначать крайне нежелательно.

Программная проверка прав доступа

Для проверки доступности у пользователя какой-либо роли служит следующая функция:

  • РольДоступна(«АдминистраторСистемы»)

В том случае, когда проверяемая роль назначена пользователю, функция вернет значение «Истина». В противном случае – «Ложь».

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

  • УстановитьПривилегированныйРежим(Истина)

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

Для проверки того, установлен привилегированный режим служит функция (возвращает «Истина» или «Ложь»):

  • ПривилегированныйРежим()

Пользовательский интерфейс при отсутствии прав доступа

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

Бывают случаи, когда в каком-либо поле отображается надпись формата «<Объект не найден>» с указанием GUID, возможно, у пользователя тоже не хватает прав на чтение содержащегося в нем значения. Для проверки этой теории достаточно просмотреть значение данного поля под полными правами. Если надпись не пропадает – есть вероятность битой ссылки.

Допустим, что в конфигурации была обнаружена ошибка, но проявляется она только у определенных пользователей. Чтобы получить подробности, нужно запустить программу от имени одного из них. Но вот проблема! Мы не знаем пароль от учетной записи!

Решение

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

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

После этого вход под выбранным пользователем не составит труда. При запуске 1С:Предприятия программа даже не спросит логин/пароль, если Вы выбрали пользователя операционной системы, под которым зашли в текущий момент.

Вывод

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

Как в программе 1С 8.3 настроить права доступа?

В данной статье рассмотрим как работать с пользователями в 1С Бухгалтерии 8.3:

  • создавать нового пользователя
  • настраивать права - профили, роли и группы доступа
  • как в 1С 8.3 настроить ограничение прав на уровне записей (RLS) - например, по организациям

Инструкция подойдет не только для бухгалтерской программы, но и для многих других, построенных на базе БСП 2.х: 1С Управление торговлей 11, Зарплата и управление персоналом 3.0, ERP 2.0, Управление небольшой фирмой и других.

В интерфейсе программы 1С управление пользователями производится в разделе «Администрирование», в пункте «Настройка пользователей и прав»:

Как создать нового пользователя в 1С

Что бы завести в 1С Бухгалтерии 3.0 нового пользователя и назначить ему определенные права доступа, в меню «Администрирование» существует пункт «Настройки пользователей и прав». Заходим туда:

Управление списком пользователей осуществляется в разделе «Пользователи». Здесь можно завести нового пользователя (или группу пользователей), либо отредактировать уже существующего. Управлять списком пользователей может только пользователь с административными правами.

Создадим группу пользователей с названием «Бухгалтерия», а в ней двух пользователей: «Бухгалтер 1» и «Бухгалтер 2».

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

Теперь создадим пользователей. Устанавливаем курсор на нашу группу и нажимаем кнопку «Создать»:

В полное имя введем «Бухгалтер 1», имя для входа зададим «Бух1» (именно оно будет отображаться при входе в программу). Пароль укажем «1».

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

«Режим запуска» оставим «Авто».

Настройка прав доступа - ролей, профилей

Теперь нужно указать «Права доступа» данному пользователю. Но сначала нужно его записать, иначе появится окно с предупреждением, как показано на рисунке выше. Нажимаем «Записать», затем «Права доступа»:

Выбираем профиль «Бухгалтер». Данный профиль стандартный и настроен на основные права, необходимые бухгалтеру. Нажимаем «Записать» и закрываем окно.

В окне «Пользователь (создание)» нажимаем «Записать и закрыть». Так же создаем второго бухгалтера. Убеждаемся, что пользователи заведены и могут работать:

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

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

Зайдем в раздел «Профили групп доступа».

Допустим, нам нужно разрешить нашим бухгалтерам просматривать журнал регистрации.

С нуля создавать профиль довольно трудоемко, поэтому скопируем профиль «Бухгалтер»:

И внесем в него необходимые изменения - добавим роль «Просмотр журнала регистрации»:

Дадим новому профилю другое наименование. Например «Бухгалтер с дополнениями». И установим флажок «Просмотр журнала регистраций».

Теперь нужно сменить профиль у пользователей, которых мы завели ранее.

Ограничение прав на уровне записи в 1С 8.3 (RLS)

Разберемся, что означает ограничение прав на уровне записи или как называют её в 1C - RLS (Record Level Security). Что бы получить такую возможность, нужно установить соответствующий флажок:

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

Заходим опять в раздел управления профилем, два раза кликаем по профилю «Бухгалтер с дополнениями» и переходим на закладку «Ограничения доступа»:

«Вид доступа» выберем «Организации», «Значения доступа» выберем «Все разрешены, исключения назначаются в группах доступа». Нажимаем «Записать и закрыть».

Теперь возвращаемся в раздел «Пользователи» и выбираем, например, пользователя » Бухгалтер 1″. Нажимаем кнопку «Права доступа»:

Через кнопку «Добавить» выбираем организацию, данные по которой будет видеть «Бухгалтер 1».

Обратите внимание! Использование механизма разграничения прав на уровне записей может отразится на производительности программы в целом. Заметка для программиста: суть RLS в том, что система 1С добавляет в каждый запрос дополнительное условие, запрашивая информацию о том, разрешено ли читать пользователю данную информацию.

Прочие настройки

Разделы «Копирование настроек» и «Очистка настроек» вопросов не вызывают их названия говорят сами за себя. Это настройки внешнего вида программы и отчетов. Например, если вы настроили красивый внешний вид справочника «Номенклатура» - его можно тиражировать на остальных пользователей.

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

Флажок «Разрешить доступ внешним пользователям» дает возможность добавлять и настраивать внешних пользователей. Например, вы хотите организовать на базе 1С интернет магазин. Клиенты магазина как раз и будут являться внешними пользователями. Настройка прав доступа осуществляется аналогично обычным пользователям.

По материалам: programmist1s.ru