Сетевая и информационная безопасность это то, без чего невозможно функционирование любого предприятия. Например, у вас есть финансовый отдел, секретари и отдел продаж. Вы - хотите, чтобы ни секретари, ни отдел продаж не имели доступа к документам и серверам из финансового отдела. В тоже время, доступ должен быть только у специалистов финансового профиля. Помимо этого, вы хотите чтобы или просто важные файловые хранилища, не были доступна из сети интернет, а лишь только из локальной сети. На помощь приходим мы.
Разграничение прав доступа пользователей сети - это настройки, связанные с сегментированием на отдельные части и определение правил взаимодействия этих частей друг с другом. Если говорить техническим языком, это процесс создания VLAN для каждого конкретного подразделения, и настройки доступности этих VLAN между собой.
VLAN (Virtual Local Area Network) - это виртуальное разделение сети на части (локальные сети). По умолчанию, коммутатор, считает все свои интерфейсы (порты) в одной и той же локальной сети. С помощью дополнительной конфигурации, можно создавать отдельные подсети и выделять определенные порты коммутатора для работы в этих сетях. Лучшим определением VLAN можно считать то, что VLAN - это один широковещательный домен.
Разграничение прав доступа пользователей требуется, когда в Вашей организации есть ресурсы, которые предназначены для конкретных специалистов (бухгалтерские отчеты, например). Тем самым, можно создать отдельный VLAN для специалистов из бухгалтерии, запретив доступ к отчетности из других подразделений.
Если вы не хотите, чтобы Ваши сотрудники имели доступ к конкретным ресурсам (социальным сетям, запрещенным сайтам), мы можем предложить 4 доступных способа это сделать:
— Запретить доступ локально на конкретном ПК. Сделать это можно через файл /etc/hosts.
— Настройка ACL (Access Control List) на граничном маршрутизаторе. Смысл заключается в запрете доступа из конкретной подсети, к конкретным адресам.
— Настройка DNS (Domain Name System) сервера. Суть метода, в запрете разрешения конкретных доменных имен. Это означает, что при вводе в адресную строку браузера сайта vk.com, например, данное доменное имя не будет преобразовано в IPv4 адрес, и пользователь не сможет зайти на этот сайт.
— Специальное ПО. Мы предлагаем специальное (антивирусное) ПО от наших партнеров.
Порой, даже случайно открытая web - страница в интернете, может нести угрозу всей корпоративной сети, содержа в себе вредоносный код. Именно для подобных случаев, мы предлагаем воспользоваться решениями от лидеров рынка информационной ИТ безопасности - наших партнеров.
Одним из самых распространенных методов кибератак является "фишинг", целью которого является получение логина и пароля пользователя. Программное обеспечение наших партнеров обеспечивает меры для защиты от атак и поддерживает сетевую безопасность на предприятии.
Фишинг - метод кибератак, при котором главной целью является заполучение данных авторизации пользователей. Например, это могут быть данные логина и пароля для входа в личный кабинет банка, данные от SIP - аккаунта и так далее.
Специализированное программное обеспечение от наших партнеров обеспечит высокий уровень информационной безопасности:
— Защита информации на персональных компьютерах.
— Обеспечение безопасности хранения данных на серверах.
— Защита информации в рамках облачных решений.
"Лаборатория Касперского" и B2B International провели исследования, согласно которому, 98,5% компаний МСБ (малого и среднего бизнеса) подвергались внешним кибер - угрозам. Из них 82% испытали на себе действие внутренних угроз.
Компании МСБ (малого и среднего бизнеса) теряют 780 тыс. рублей от одного случая нарушения информационной безопасности на предприятии.
Статистика оставляет желать лучшего, но бояться не стоит. Обеспечение мер защиты с помощью решений от наших партнеров закроет уязвимости в корпоративной сети.
Персональные данные, внутренние ресурсы, базы данных и электронная почта будут защищены и изолированы от несанкционированного доступа. Действия злоумышленников не смогут навредить Вашему бизнесу.
План работ
Исследуем Вашу текущую сетевую инфраструктуру
Локальные сети (LAN, Local Area Network)объединяют абонентов, расположенных в пределах небольшой территории, обычно не более 2–2.5 км. Локальные компьютерные сети позволят организовать работу отдельных предприятий и учреждений, в том числе и образовательных, решить задачу организации доступа к общим техническим и информационным ресурсам. | Глобальные сети (WAN, Wide Area Network)объединяют абонентов, расположенных друг от друга на значительных расстояниях: в разных районах города, в разных городах, странах, на разных континентах (например, сеть Интернет). Взаимодействие между абонентами такой сети может осуществляться на базе телефонных линий связи, радиосвязи и систем спутниковой связи. Глобальные компьютерные сети позволят решить проблему объединения информационных ресурсов всего человечества и организации доступа к этим ресурсам. |
Достоинства:
Недостатки:
Звезда (star), при которой к одному центральному компьютеру присоединяются остальные периферийные компьютеры, причем каждый из них использует свою отдельную линию связи. Весь обмен информацией идет исключительно через центральный компьютер, на который ложится очень большая нагрузка, поэтому он предназначен только для обслуживания сети.
Достоинства:
Недостатки:
Кольцо (ring), при котором каждый компьютер передает информацию всегда только одному компьютеру, следующему в цепочке, а получает информацию только от предыдущего в цепочке компьютера, и эта цепочка замкнута. Особенностью кольца является то, что каждый компьютер восстанавливает приходящий к нему сигнал, поэтому затухание сигнала во всем кольце не имеет никакого значения, важно только затухание между соседними компьютерами.
Достоинства:
Недостатки:
В отдельных случаях при конструировании сети используют комбинированную топологию. Например, дерево (tree)– комбинация нескольких звезд.
Каждый компьютер, который функционирует в локальной сети, должен иметь сетевой адаптер (сетевую карту). Функцией сетевого адаптера является передача и прием сигналов, распространяемых по кабелям связи. Кроме того, компьютер должен быть оснащен сетевой операционной системой.
При конструировании сетей используют следующие виды кабелей:
неэкранированная витая пара. Максимальное расстояние, на котором могут быть расположены компьютеры, соединенные этим кабелем, достигает 90 м. Скорость передачи информации - от 10 до 155 Мбит/с; экранированная витая пара. Скорость передачи информации - 16 Мбит/с на расстояние до 300 м.
коаксиальный кабель. Отличается более высокой механической прочностью, помехозащищённостью и позволяет передавать информацию на расстояние до 2000 м со скоростью 2-44 Мбит/с;
волоконно-оптический кабель. Идеальная передающая среда, он не подвержен действию электромагнитных полей, позволяет передавать информацию на расстояние до 10 000 м со скоростью до 10 Гбит/с.
Понятие о глобальных сетях. Глобальная сеть – это объединения компьютеров, расположенных на удаленном расстоянии, для общего использования мировых информационных ресурсов. На сегодняшний день их насчитывается в мире более 200. Из них наиболее известной и самой популярной является сеть Интернет.
В отличие от локальных сетей в глобальных сетях нет какого-либо единого центра управления. Основу сети составляют десятки и сотни тысяч компьютеров, соединенных теми или иными каналами связи. Каждый компьютер имеет уникальный идентификатор, что позволяет "проложить к нему маршрут" для доставки информации. Обычно в глобальной сети объединяются компьютеры, работающие по разным правилам (имеющие различную архитектуру, системное программное обеспечение и т.д.). Поэтому для передачи информации из одного вида сетей в другой используются шлюзы.
Шлюзы (gateway)– это устройства (компьютеры), служащие для объединения сетей с совершенно различными протоколами обмена.
Протокол обмена– это набор правил (соглашение, стандарт), определяющий принципы обмена данными между различными компьютерами в сети.
Протоколы условно делятся на базовые (более низкого уровня), отвечающие за передачу информации любого типа, и прикладные (более высокого уровня), отвечающие за функционирование специализированных служб.
Главный компьютер сети, который предоставляет доступ к общей базе данных, обеспечивает совместное использование устройств ввода-вывода и взаимодействия пользователей называется сервером.
Компьютер сети, который только использует сетевые ресурсы, но сам свои ресурсы в сеть не отдает, называется клиентом (часто его еще называют рабочей станцией ).
Для работы в глобальной сети пользователю необходимо иметь соответствующее аппаратное и программное обеспечение.
Программное обеспечение можно разделить на два класса:
Глобальные сети предоставляют пользователям разнообразные услуги: электронная почта, удаленный доступ к любому компьютеру сети, поиск данных и программ и так далее.
Задание №1.
Задание №2. Ответить на вопросы и запишите их в тетрадь:
| |
| |
| |
| |
| |
| |
| |
| |
|
После выполнения идентификации и аутентификации необходимо установить полномочия (совокупность прав) субъекта для последующего контроля санкционированного использования вычислительных ресурсов, доступных в АС. Такой процесс называется разграничением (логическим управлением) доступа.
Обычно полномочия субъекта представляются: списком ресурсов, доступных пользователю, и правами по доступу к каждому ресурсу из списка. В качестве вычислительных ресурсов могут быть программы, информация, логические устройства, объем памяти, время процессора, приоритет и т. д.
Обычно выделяют следующие методы разграничения доступа:
разграничение доступа по спискам;
использование матрицы установления полномочий;
парольное разграничение доступа.
При разграничении доступа по спискам задаются соответствия:
каждому пользователю – список ресурсов и прав доступа к ним или
каждому ресурсу – список пользователей и их прав доступа к данному ресурсу.
Списки позволяют установить права с точностью до пользователя. Здесь нетрудно добавить права или явным образом запретить доступ. Списки используются в большинстве ОС и СУБД.
Использование матрицы установления полномочий подразумевает применение матрицы доступа (таблицы полномочий). В указанной матрице (см. таблицу 2.7) строками являются идентификаторы субъектов, имеющих доступ в АС, а столбцами – объекты (информационные ресурсы) АС. Каждый элемент матрицы может содержать имя и размер предоставляемого ресурса, право доступа (чтение, запись и др.), ссылку на другую информационную структуру, уточняющую права доступа, ссылку на программу, управляющую правами доступа и др.
Таблица 2.7
Фрагмент матрицы установления полномочий
c – создание, d – удаление, r – чтение, w – запись, e – выполнение.
Данный метод предоставляет более унифицированный и удобный подход, т. к. вся информация о полномочиях хранится в виде единой таблицы, а не в виде разнотипных списков. Недостатками матрицы являются ее возможная громоздкость и не совсем оптимальное использование ресурсов (большинство клеток – пустые).
Разграничения доступа по уровням секретности и категориям состоят в том, что ресурсы АС разделяются в соответствии с уровнями секретности или категорий.
При разграничении по уровню секретности выделяют несколько уровней, например,: общий доступ, конфиденциально, секретно, совершенно секретно. Полномочия каждого пользователя задаются в соответствии с максимальным уровнем секретности, к которому он допущен. Пользователь имеет доступ ко всем данным, имеющим уровень (гриф) секретности не выше, чем он имеет.
При разграничении по категориям задается и контролируется ранг категории, соответствующей пользователю. Соответственно, все ресурсы АС декомпозируют по уровню важности, причем определенному уровню соответствует некоторый ранг персонала (типа: руководитель, администратор, пользователь).
Парольное разграничение, очевидно, представляет использование методов доступа субъектов к объектам по паролю. При этом используются все методы парольной защиты. Очевидно, что постоянное использование паролей создает неудобства пользователям и временные задержки. Поэтому указанные методы используют в исключительных ситуациях.
На практике обычно сочетают различные методы разграничения доступа. Например, первые три метода усиливают парольной защитой.
В завершении подраздела заметим, что руководящие документы могут регламентировать два вида (принципа) разграничения доступа:
дискретное управление доступом;
мандатное управление доступом.
Дискретное управление доступом представляет собой разграничение доступа между поименованными субъектами и поименованными объектами. Субъект с определенным правом доступа может передать это право любому другому субъекту. Данный вид организуется на базе методов разграничения по спискам или с помощью матрицы.
Мандатное управление доступом регламентирует разграничение доступа субъектов к объектам, основанное на характеризуемой меткой конфиденциальности информации, содержащейся в объектах, и официальном разрешении (допуске) субъектов обращаться к информации такого уровня конфиденциальности. Иначе, для реализации мандатного управления доступом каждому субъекту и каждому объекту присваивают классификационные метки, отражающие их место в соответствующей иерархии. С помощью этих меток субъектам и объектам должны быть назначены классификационные уровни, являющиеся комбинациями уровня иерархической классификации и иерархических категорий. Данные метки должны служить основой мандатного принципа разграничения доступа. Ясно, что методы разграничения доступа по уровням секретности и категориям являются примерами мандатного управления доступом.
На просторах России много фирм и мелких предприятий не имеют в штате своего системного администратора на постоянной основе или приходящего время от времени. Фирма растёт и рано или поздно одной расшаренной папки в сети, где каждый может делать что захочет, становится мало. Требуется разграничение доступа для разных пользователей или групп пользователей на платформе MS Windows. Линуксоидов и опытных админов просьба не читать статью.
Самый лучший вариант - взять в штат опытного админа и задуматься о покупке сервера. Опытный админ на месте сам решит: поднимать ли MS Windows Server с Active Directory или использовать что-то из мира Linux.
Но данная статья написана для тех, кто решил пока мучаться самостоятельно, не применяя современные программные решения. Попытаюсь объяснить хотя бы как правильно реализовывать разграничение прав.
Прежде чем начать хотелось бы разжевать пару моментов:
В Проводнике уберите упрощённый доступ к нужным нам вещам.
Создайте на вашем компьютере WinServer папку, которая будет хранить ваше богатство в виде файлов приказов, договоров и так далее. У меня, как пример, это будет C:\dostup\. Папка обязательна должна быть создана на разделе с NTFS.
На данном этапе нужно выдать в доступ по сети (расшарить - share) папку для работы с ней другими пользователями на своих компьютерах данной локальной сети.
И самое главное! Выдать папку в доступ с полным разрешением для всех! Да да! Вы не ослышались. А как же разграничение доступа?
Мы разрешаем по локальной сети всем подсоединяться к папке, НО разграничивать доступ будем средствами безопасности, сохраняемые в файловой системе NTFS, на которой расположена наш каталог.
Нужно создать необходимые учётные записи пользователей. Напоминаю, что если на многочисленных ваших персональных компьютерах используются различные учётные записи для пользователей, то все они должны быть созданы на вашем "сервере" и с теми же самыми паролями. Этого можно избежать, только если у вас грамотный админ и компьютеры в Active Directory. Нет? Тогда кропотливо создавайте учётные записи.
Теперь очередь за самым главным - группы! Группы позволяют включать в себя учётные записи пользователей и упрощают манипуляции с выдачей прав и разграничением доступа.
Чуть ниже будет объяснено "наложение прав" на каталоги и файлы, но сейчас главное понять одну мысль. Права на папки или файлы будут предоставляться группам, которые образно можно сравнить с контейнерами. А группы уже "передадут" права включённым в них учётным записям. То есть нужно мыслить на уровне групп, а не на уровне отдельных учётных записей.
Нужно включить в нужные группы нужные учётные записи. Для примера, на группе Бухгалтеры правой клавишей мыши и там Добавить в группу или Свойства и там кнопка Добавить. В поле Введите имена выбираемых объектов впишите имя необходимой учётной записи и нажмите Проверить имена . Если всё верно, то учётная запись изменится к виду ИМЯСЕРВЕРА\учётная_запись. На рисунке выше, учётная запись buh3 была приведена к WINSERVER\buh3.
Итак, нужные группы созданы и учётные записи пользователей включены в нужные группы. Но до этапа назначения прав на папках и файлах с помощью групп хотелось бы обсудить пару моментов.
Стоит ли заморачиваться с группой, если в ней будет одна учётная запись? Считаю, что стоит! Группа даёт гибкость и маневренность. Завтра вам понадобится ещё одному человеку Б дать те же права, что и определённому человеку с его учётной записью А. Вы просто добавите учётную запись Б в группу, где уже имеется А и всё!
Намного проще, когда права доступа выданы группам, а не отдельным персонам. Вам остаётся лишь манипулировать группами и включением в них нужных учётных записей.
Желательно выполнять нижеперечисленные действия от встроенной учётной записи Администратор или от первой учётной записи в системе, которая по умолчанию входит в группу Администраторы.
Вот и добрались до этапа, где непосредственно и происходит магия разграничения прав доступа для различных групп, а через них и пользователям (точнее их учётным записям).
Итак, у нас есть директория по адресу C:\dostup\, которую мы уже выдали в доступ по сети всем сотрудникам. Внутри каталога C:\dostup\ ради примера создадим папки Договора, Приказы, Учёт МЦ. Предположим, что есть задача сделать:
На папке Договора правой клавишей и там Свойства - вкладка Безопасность. Мы видим что какие-то группы и пользователи уже имеют к ней доступ. Эти права были унаследованы от родителя dostup\, а та в свою очередь от своего родителя С:
Мы прервём это наследование прав и назначим свои права-хотелки.
Жмём кнопку Дополнительно - вкладка Разрешения - кнопка Изменить разрешения .
Сначала прерываем наследование прав от родителя. Снимаем галочку Добавить разрешения, наследуемые от родительских объектов. Нас предупредят, что разрешения от родителя не будут применяться к данному объекту (в данном случае это папка Договора). Выбор: Отмена или Удалить или Добавить. Жмём Добавить и права от родителя останутся нам в наследство, но больше права родителя на нас не будут распространяться. Другими словами, если в будущем права доступа у родителя (папка dostup) изменить - это не скажется на дочерней папке Договора. Заметьте в поле Унаследовано от стоит не унаследовано . То есть связь родитель - ребёнок разорвана.
Теперь аккуратно удаляем лишние права, оставляя Полный доступ для Администраторов и Система. Выделяем по очереди всякие Прошедшие проверку и просто Пользователи и удаляем кнопкой Удалить.
Кнопка Добавить в данном окне Дополнительные параметры безопасности предназначена для опытных админов, которые смогут задать особые, специальные разрешения. Статья же нацелена на знания опытного пользователя.
Мы ставим галочку Заменить все разрешения дочернего объекта на разрешения, наследуемые от этого объекта и жмём Ок. Возвращаемся назад и снова Ок, чтобы вернуться к простому виду Свойства.
Данное окно позволит упрощённо достигнуть желаемого. Кнопка Изменить выведет окно "Разрешения для группы".
Жмём Добавить. В новом окне пишем Бухгалтеры и жмём "Проверить имена" - Ок. По умолчанию даётся в упрощённом виде доступ "на чтение". Галочки в колонке Разрешить автоматически выставляются "Чтение и выполнение", "Список содержимого папки", "Чтение". Нас это устраивает и жмём Ок.
Теперь по нашему техническому заданию нужно дать права на чтение и запись для группы Менеджеры. Если мы в окне Свойства, то снова Изменить - Добавить - вбиваем Менеджеры - Проверить имена. Добавляем в колонке Разрешить галочки Изменение и Запись.
Теперь нужно всё проверить!
Следите за мыслью. Мы приказали, чтобы папка Договора не наследовала права от свого родителя dostup. Приказали дочерним папкам и файлам внутри папки Договора наследовать права от неё.
На папку Договора мы наложили следующие права доступа: группа Бухгалтеры должна только читать файлы и открывать папки внутри, а группа Менеджеры создавать, изменять файлы и создавать папки.
Следовательно, если внутри директории Договора будет создаваться файл-документ, на нём будут разрешения от его родителя. Пользователи со своими учётными записями будут получать доступ к таким файлам и каталогам через свои группы.
Зайдите в папку Договора и создайте тестовый файл договор1.txt
На нём щелчок правой клавишей мыши и там Свойства - вкладка Безопасность - Дополнительно - вкладка Действующие разрешения.
Жмём Выбрать и пишем учётную запись любого бухгалтера, к примеру buh1. Мы видим наглядно, что buh1 получил права от своей группы Бухгалтеры, которые обладают правами на чтение к родительской папке Договора, которая "распространяет" свои разрешения на свои дочерние объекты.
Пробуем manager2 и видим наглядно, что менеджер получает доступ на чтение и запись, так как входит в группу Менеджеры, которая даёт такие права для данной папки.
Абсолютно так же, по аналогии с папкой Договора, накладываются права доступа и для других папок, следуя вашему техническому заданию.
Задавайте вопросы в комментариях и спрашивайте, поправляйте.
Видеоматериал показывает частный случай, когда нужно всего лишь запретить доступ к папке, пользуясь тем, что запрещающие правила имеют приоритет перед разрешающими правила.
КонецПроцедуры
КонецЕсли;
Функция ПровДостПрава(Право)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗначенияДопПрав.Значение
Выборка.Следующий();
Возврат Выборка.Значение;
Возврат Ложь;
КонецЕсли;
КонецФункции
Процедура ПриОткрытии()
КонецПроцедуры
На сегодняшний день, на российском рынке автоматизации учета лидируют прикладные решения разработанные на базе платформы разработанной Российской фирмой «1С». По данным социологических исследований опубликованных в сети Интернет, в России и странах СНГ в 90% организаций для автоматизации учета используются данные системы. Также данные системы не имеют аналогов для полноценной автоматизации бухгалтерского учета по РСБУ. Так как бухгалтерская и налоговая отчетность, обрабатываемая и хранимая в подобных системах составляет из себя конфиденциальную информацию любой организации, то эту информацию необходимо защищать на должном уровне. Кроме бухгалтерского учета, посредством данных систем было автоматизировано много участков учета (например кадровый учет и расчет заработной платы, оперативный и управленческий учет, учет взаимоотношений с клиентами и т.п.).
В данной работе, я хочу описать методы и способы защиты информации в базах данных построенных на основе систем «1С Предприятие».
В настоящий момент активно используются 3 версии «1С», а именно версии 7.7, 8.1 и 8.2. Версия 7.7 уже морально себя изжила и устарела, и я не вижу практического смысла рассматривать данную систему в качестве примера. Так как версия 8.2 поступила в официальную продажу совсем недавно, то я остановился на версии «1С Предприятие 8.1». В качестве примера, была взята разработанная ранее учебная система для автоматизации задач оперативного и бухгалтерского учета и расчета заработной платы.
Т.к. система работает в локальной сети организации, или на локальном компьютере, то защита данной системы от возможных внешних атак ложится на администратора сети. В данном примере, я в основном опишу механизм разграничения доступа к информации конкретных сотрудников организации.
Данная система позволяет закупить товар на склад и реализовать его, при этом есть возможность предоставить некоторые услуги покупателю. При проведении операций купли-продажи система автоматически накапливает данные по бухгалтерскому и операционному учету. Также, для реализации задач бухгалтерского учета есть возможность ввода ручных операций, т.е. ввода корреспонденции счетов, указания необходимых аналитик, количества и суммы на соответствующих счетах. Для задачи расчета заработной платы в системе реализована возможность вводу начислений оклада, премии, командировочных начислений и ввода невыходов.
Необходимо установить следующие права на доступ к объектам:
Создать права администратора, для полного доступа ко всем данным.
Для руководителя организации предоставить права к отчетам и права на просмотр всех документов.
Для работников бухгалтерии предоставить право на доступ к бухгалтерским документам и отчетам.
Для сотрудников операционного отдела предоставить права на создание приходных и расходных документов, при этом каждый сотрудник может создавать и просматривать документы только по тому контрагенту за которым он закреплен в качестве ответственного.
Для сотрудников отдела кадров открыть доступ только к объектам необходимым для начисление заработной платы.
Для всех сотрудников кроме руководства запретить печать не проведенных документов.
Для всех пользователей установить соответствующие права, и обеспечить идентификацию посредством пароля или средствами операционной системы.
Разграничение доступа посредством ролей.
Механизм ролей позволяет установить права на чтение, просмотр, изменение, удаление, проведение и т.п. для каждого объекта конфигурации. Под объектами конфигурации подразумеваются справочники (хранение справочной информации, например номенклатура, контрагенты и т.п.), документы (предназначены для отражения хозяйственных операций например приходная накладная, начисление заработной платы и т.п.) и регистры, которые накапливают какую-либо информацию. На рисунке 1 изображена часть основных объектов рассматриваемых в данном примере.
Рисунок 1. Основные объекты конфигурации.
В системе можно создать неограниченное количество ролей, в каждой роли можно установить права для одного объекта и каждому пользователю можно установить несколько ролей. При назначении нескольких ролей одному пользователю его права устанавливаются исходя из следующего правила: Действие доступно если оно разрешено, хотя бы в одной роли, и действие недоступно, если оно запрещено во всех ролях. Предоставить ту или иную роль можно только визуальным способом, и только на этапе конфигурирования конфигурации. На этапе исполнения изменять роли никак нельзя.
На рисунке 2 предоставлен пример установления полных прав для администратора системы.
Рисунок 2. Установка всех прав для роли.
Для остальных пользователей необходимо установить нужные права, это проиллюстрировано на рисунке 3.
Рисунок 3. Пример установления прав для конкретного пользователя.
Разграничение прав на уровне записей.
Механизм разграничения прав на уровне записей необходим для разграничения доступа к записям, в таблицах информационной базы, по определенным критериям. Например, доступ только к тем записям в справочнике контрагентов, в которых текущий пользователь является ответственным. Для примера на рисунке 4 изображен программный текст, который ограничивает доступ пользователя к записям списка документов приходная накладная.
Рисунок 4. Пример ограничения доступа на уровне записей.
Пользователь идентифицируется при помощи параметра сеанса «Текущий исполнитель» информация о пользователях хранится в справочнике «Сотрудники». Параметр сеанса «Текущий исполнитель» устанавливается при запуске программы при помощи следующего программного текста:
Процедура ПриНачалеРаботыСистемы()
ПараметрыСеанса.ТекущийИсполнитель= Справочники.Сотрудники.НайтиПоКоду(ИмяПользователя());
КонецПроцедуры
Разграничение доступа программными методами.
Кроме механизма ролей, в программе можно настроить доступ к данным посредством написания процедур и функций на встроенном в «1С Предприятие» языке. В качестве примера можно привести возможность системы открыть форму (визуальный элемент с которым работает пользователь) только для просмотра при выполнении определенных условий, например:
Если ПараметрыСеанса.ТекущийПользователь =
Справочники.Сотрудники.НайтиПоНаименованию(«Иванов») Тогда
ЭтаФорма.ТолькоПросмотр = Истина;
КонецЕсли;
Более сложным примером служит механизм, позволяющий в режиме исполнения программы выдавать необходимые права пользователю, например разрешение или запрет печати не проведенных документов. Для реализации данной задачи было создано перечисление, в котором хранится список дополнительных прав, и таблица (Регистр сведений) в которой хранятся значения дополнительных прав. В общем модуле создана следующая процедура, получающая значение права для текущего пользователя:
Функция ПровДостПрава(Право)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЗначенияДопПрав.Значение
| РегистрСведений.ЗначенияДопПрав КАК ЗначенияДопПрав
| ЗначенияДопПрав.Сотрудник = &Сотрудник
| И ЗначенияДопПрав.Право = &Право";
Запрос.УстановитьПараметр("Сотрудник",
ПараметрыСеанса.ТекущийИсполнитель);
Запрос.УстановитьПараметр("Право", Право);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
Возврат Выборка.Значение;
Возврат Ложь;
КонецЕсли;
КонецФункции
На форме документа Расходная накладная есть кнопка «Печать» отвечающая за формирование печатной формы данного документа. При открытии данного документа посредством следующего программного текста установим доступность данной кнопки для пользователя:
Процедура ПриОткрытии()
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Печать.
Доступность = ПровДостПрава(Перечисления.
ДопПрава.ПечатьНепроведенныхДокументов);
КонецПроцедуры
Назначение ролей и средств идентификации пользователей.
Пользователи, которым разрешено работать с программой, создаются в режиме конфигурирования задачи, или же пользователя можно создать программно. На рисунке 5 приведен пример создания пользователя и назначения ему соответствующих прав.
Рисунок 5. Список пользователей, роли и средства идентификации.
В данной работе был рассмотрен довольно простой пример учетной задачи, и простой пример настройки прав пользователей в данной задаче. Но данный пример позволяет наглядно проиллюстрировать возможности системы в части разделения прав, что очень актуально во многих организациях, и предоставляет каждому сотруднику дать доступ только к той информации, которая ему необходима.
В приложении приведены снимки экрана во время работы программы, иллюстрирующие произведенные настройки.
Габец А.П., Гончаров Д.И. 1С:Предприятие 8.1. Простые примеры разработки. – М.: ООО «1С-Паблишинг»; СПБ: Питер, 2008. – 383 с.: ил. + CD-ROM.
1С:Предприятие 8.2. Руководство разработчика. Часть 1. – М.: ЗАО «1С», 2009 – 638 с.: ил.
Радченко М.Г. 1С:Предприятие 8.1. Практическое пособие разработчика. Примеры и типовые приемы. М.: ООО «1С-Паблишинг», 2008. 874 с.: ил.
Белоусов П.С. Методические материалы курса обучения «Конфигурирование платформы «1С:Предприятие 8.1». – М.: ЗАО «1С», 2007 – 272 с.: ил.
Пример несанкционированной попытки входа в системы.
Пример разграничения доступа путем ограничения через роли, на иллюстрации продемонстрирована попытка открыть справочник, на чтение которого у пользователя нет прав.
Пример разграничения прав на уровне записей.
Пример программной реализации недоступности кнопки «Печать» в документе «Расходная накладная».