- Разграничение доступа в 1С:Предприятии 8
- Права
- Пользователи
- Способы разграничения прав доступа
- Дискретное разграничение прав доступа
- Основные права доступа к папкам
- Элементы разрешений на доступ
- Владелец файла
- Наследование прав доступа
- Запреты
- Разграничение прав доступа с помощью Secret Net (на примере версии 5.1)
- Настройка субъектов
- Настройка объектов
- Контроль потоков данных
Разграничение доступа в 1С:Предприятии 8
Под разграничением доступа в системе программ 1С:Предприятие 8 (как и в другим многопользовательских системах) понимается система разрешений и запретов на доступ к различным объектам системы для различных пользователей. Разграничение доступа используется при решении ряда вопросов в различных областях:
- контроль корректности функционирования системы. В случае если пользователь при работе системы обращается к недоступным данным, то это может свидетельствовать о несоответствии между принятым в системе разграничением доступа и разработанным программным кодом;
- ограничение доступа к информации в соответствии со служебными обязанностями. В этом случае разграничение доступа определяет возможности сотрудников организации по просмотру и редактированию информации, связанной с хозяйственной деятельностью организации.
Разграничение доступа в 1С:Предприятии 8 построено на трех понятиях — права, роли и пользователи.
Права
Разграничение доступа в 1С:Предприятии 8 задается в конфигурации и не изменяется в режиме Предприятия — таким образом, все объекты 1С:Предприятия, соответствующие некоторому объекту метаданных (например, документы одного типа), защищены одинаково. Для разграничения доступа защищаемые объекты метаданных обладают списком прав , иначе говоря, — списком контролируемых способов доступа. Включаемые в список права определяются типом объекта метаданных. Существуют как общеупотребительные права (например, чтение или просмотр), так и права, уникальные для объектов метаданных (например, для документов это проведение).
Права в списке могут неявно делиться на обычные и интерактивные. Интерактивные права проверяются только в случае, если доступ к объекту осуществляется в интерактивном режиме Предприятия, и отображение и редактирование информации выполняется системными средствами, относящимися к конкретным объектам метаданных . К этим системным средствам относятся формы, табличные поля и поля ввода, обладающие расширениями. Именно расширения перечисленных интерактивных элементов обеспечивают контроль прав соответствующих этим расширениям объектов. В случае если расширение отсутствует, отсутствует и контроль прав — так, например, если во встроенном языке считать данные с помощью запроса, выгрузить их в таблицу значений и отобразить эту таблицу в табличном поле, то проверка интерактивных прав выполняться не будет.
В отличие от интерактивных, обычные права проверяются во всех случаях (обращения из встроенного языка, Automation и т.д.) и включают в себя аналогичные интерактивные права — как, например, «Удаление» и «Интерактивное удаление». Устанавливая такие права в «запрещено», разработчик полностью отключает определяемый этими правами доступ к объектам. В случае если доступ к объектам все же требуется (как в вышеописанном примере для запроса данных), можно запретить только интерактивный доступ.
Проиллюстрируем вышеприведенные правила на примере: складские документы и три сотрудника Кассир, Менеджер, Управляющий. Кассиру доступ к информации по складу не требуется, поэтому на складские документы все права для Кассира установлены в «запрещено». Менеджеру требуется информация со склада для планирования деятельности ( в сводной форме), поэтому интерактивный доступ Менеджеру к складским документам запрещается, но разрешается чтение для использования информации в отчетах и сводках. И, наконец, Управляющий обладает всей полнотой власти в организации, поэтому все права на складские документы для Управляющего установлены в «разрешено».
Помимо разделения по интерактивности, между правами могут существовать и другие зависимости — скажем, любой доступ к справочнику включает в себя доступ на чтение (эти и другие зависимости можно «вживую» наблюдать при редактировании прав в Конфигураторе). Отметим, что список прав не несет никакой информации по разрешению/запрещению того или иного способа доступа — эта информация хранится в ролях .
Роли являются объектами метаданных и содержат установки прав всех объектов метаданных в конфигурации — каждое право (как контролируемый способ доступа) может быть разрешено или запрещено. Как объекты метаданных роли редактируются в Конфигураторе и позволяют установить нужные значения для любых прав, но с учетом зависимостей между правами — например, запрещение права на чтение справочника установит в «запрещено» и все остальные права. В предметной области роли обычно (но не обязательно) соответствуют должностям, поэтому установки прав в них соответствуют служебным обязанностям сотрудников, занимающих эти должности. По умолчанию, все права объекта метаданных (как при создании нового объекта, так и при создании роли) устанавливаются в «разрешено». Как права, так и роли относятся к предметной области решений на основе 1С:Предприятия 8 — такой подход позволяет разрабатывать «коробочные» решения, не ориентируясь на конкретные внедрения. В отличие от прав, определяющих доступ к отдельным объектам конфигурации, роли определяют доступ к решению в целом, что позволяет управлять разграничением доступа на уровне администрирования системы, не вдаваясь в детали устройства решения.
Как установка прав, так и роли могут проверяться во встроенном языке 1С:Предприятия 8 — для этого служат соответственно функции ПравоДоступа() и РольДоступна(). Списки прав для объектов фиксированы и не изменяются, поэтому для проверки возможности некоторого специфического способа доступа (например, возможности печати чеков на кассе) можно использовать два различных подхода:
- проверять доступность уже существующей роли (например, «Кассир»);
- создать отдельную роль и затем проверять во встроенном языке доступность этой роли при доступе к объекту (например, «ПечатьЧеков»).
Для вышеприведенного примера Кассир, Менеджер, Управляющий логично реализовать именно как роли — различным сочетаниям этих ролей соответствуют пользователи .
Пользователи
При внедрении этих решений в систему добавляются пользователи, доступ которых к объектам системы и требуется разграничить. Для этого каждому пользователю присваивается одна или несколько ролей в соответствии с их служебными обязанностями (например, один из Менеджеров исполняет также обязанности Кассира). При запросе пользователем некоторого доступа к некоторому объекту системы, для каждой роли, присвоенной пользователю, по объекту определяется установка соответствующего права. Если хотя бы для одной роли это право установлено, то пользователю дается разрешение на указанный доступ к указанному объекту. В противном случае доступ запрещается. Такой способ «сложения» установок прав в разных ролях позволяет упростить добавление прав при адаптации готового решения к специфике внедрения — для добавления пользователю права на доступ достаточно создать новую роль и в ней установить необходимое право в «разрешено». При этом уже существующие объекты конфигурации не изменяются, что упрощает ее дальнейшую поддержку разработчиком.
Источник
Способы разграничения прав доступа
Статья о разграничении прав доступа в операционных системах Windows: дискретном и мандатном. В статье рассматриваются разграничения прав доступа к папкам и файлам на уровне операционной системы Windows и с помощью Secret Net.
Дискретное разграничение прав доступа
Для того, что бы настроить правила безопасности для папок нужно воспользоваться вкладкой «Безопасность». В Windows XP эта вкладка отключена по умолчанию. Для ее активации нужно зайти в свойства папки (Меню «Сервис» -> «Свойства папки» -> «Вид») и снять флажок «Использовать простой общий доступ к файлам».
Основные права доступа к папкам
В файловой системе NTFS в Windows XP существует шесть стандартных разрешений:
- Полный доступ;
- Изменить;
- Чтение и выполнение;
- Список содержимого папки;
- Чтение;
- Запись.
В Windows 10 нет стандартного разрешения «Список содержимого папки».
Эти разрешения могут предоставляться пользователю (или группе пользователей) для доступа к папкам и файлам. При этом право «Полный доступ» включат в себя все перечисленные права, и позволяет ими управлять.
Права доступа назначаются пользователю для каждого объекта (папки и файла). Для назначения прав нужно открыть меню «Свойства» и выбрать вкладку «Безопасность». После этого выбрать необходимо пользователя, которому будут назначаться разрешения.
Создайте папки по названиям разрешений, всего у вас будет 6 папок для Windows XP и для Windows 10. Я рассмотрю на примере Windows XP, на «десятке» вам будет проще. Скачайте папки по ссылке и скопируйте в них содержимое (не сами папки, а то, что в них находится).
Отройте вкладку «Безопасность» в свойствах папки «Список содержимого папки». У меня есть пользователь user, вы можете добавить своего. Для того, что бы изменить право на объект нужно выбрать пользователя и указать ему разрешение, в данном случае «Список содержимого папки». Затем нажмите «Применить» и «ОК».
Выбор пользователя
Список содержимого
По аналогии установите права для соответствующих папок.
После установки прав доступа проверьте их. Для этого войдите в операционную систему под пользователем, для которого устанавливали права, в моем случае это user.
«Список содержимого папки» — предоставляет возможность просмотра файлов и папок в текущем каталоге. То есть вы можете посмотреть, что есть в папке, но запустить и открыть ничего не получиться.
«Чтение» — предоставляет возможность открывать в папке все файлы, кроме исполняемых файлов (например, с расширением .exe).
«Чтение и выполнение» — предоставляет возможность открывать в данном каталоге все файлы.
«Запись» — предоставляет возможность добавления файлов в папку без права на доступ к вложенным в него объектам, в том числе на просмотр содержимого каталога.
«Изменить» — предоставляет возможность открывать и создавать (изменять) файлы в папке.
«Полный доступ» — предоставляет все возможности для работы с папкой и вложенными файлами, включая изменение разрешений.
Откройте каждую папку и проверьте, что разрешения выполняются.
Содержимое папки «Список содержимого»
Ошибка запуска исполняемого файла
Ошибка текстового файла
Элементы разрешений на доступ
Каждое разрешение состоит из нескольких элементов, которые позволяют более гибко настраивать систему безопасности. Войдите в операционную систему под учетной записью администратора.
Просмотреть элементы разрешений на доступ можно, нажав на кнопку «Дополнительно» во вкладке «Безопасность» и выбрав любой элемент разрешений.
Поэкспериментируйте с элементами и проверьте, как они работаю.
Элементы разрешений на доступ для записи
Владелец файла
В файловой системе NTFS у каждого файла есть свой владелец. Владельцем файла является пользователь операционной системы. Он может управлять разрешениями на доступ к объекту независимо от установленных разрешений.
Узнать, какой пользователь является владельцем файла или папки можно на закладке «Владелец» в дополнительных параметрах безопасности.
Наследование прав доступа
В файловой системе NTFS поддерживается наследование разрешений. Если вы устанавливаете разрешение на папку, то оно наследуется для всех вложенных файлов и папок.
При любых изменениях разрешений на родительскую папку они меняются в дочерних (вложенных) файлах и каталогах.
Для изменения унаследованных разрешений нужно открыть вкладку «Разрешения» в дополнительных параметрах безопасности. Там же можно отключить наследование разрешений.
Запреты
Кроме установки разрешений в файловых системах можно устанавливать запреты. Например, вы можете разрешить чтение и выполнение, но запретить запись. Таким образом, пользователь для которого установлен запрет и разрешения сможет запустить исполняемый файл или прочитать текстовый, но не сможет отредактировать и сохранить текстовый файл.
Запреты на объекты в файловой системе NTFS
В дополнительных параметрах безопасности можно посмотреть действующие разрешения и для конкретного пользователя.
Разграничение прав доступа с помощью Secret Net (на примере версии 5.1)
При использовании Secret Net доступ к файлам осуществляется, в случае если пользователю присваивается соответствующий уровень допуска. В примере я использую Windows XP с установленным программным продуктом Secret Net 5.1.
Первым делом нужно запустить локальные параметры безопасности от имени Администратора: «Пуск –> Программы –> Secret Net 5 –> Локальная политика безопасности».
Далее необходимо перейти в «Параметры Secret Net» –> «Настройка подсистем» –> «Полномочное управление доступом: название уровней конфиденциальности».
Введите названия уровней. У меня это:
- Низший – Общедоступно.
- Средний – Конфиденциально.
- Высший – Секретно.
Настройка субъектов
Настройка субъектов в Secret Net производится в группе «Локальные пользователи и группы». Зайдите в меню «Пуск» –> «Программы» –> «Secret Net 5» –> «Управление компьютером» –> «Локальные пользователи и группы» –> «Пользователи».
Что бы настроить права администратора нужно выбрать учетную запись «Администратор» и перейти на вкладку Secret Net 5. Установим уровень доступа «секретно».
Далее установите все флажки.
- Управление категориями конфиденциальности означает, что пользователь имеет право изменять категории конфиденциальности папок и файлов, а так же может управлять режимом наследования категорий конфиденциальности папок.
- Печать конфиденциальных документов означает, что пользователь может распечатывать конфиденциальные документы. Данная возможность появляется, если включен контроль печати конфиденциальных документов.
- Вывод конфиденциальной информации означает, что пользователь может копировать конфиденциальную информацию на внешние носители.
После установки всех флажков нажмите «Применить» и «ОК».
Создадим нового пользователя. Для этого нужно перейти «Локальные пользователи и Группы» –> «Пользователи». Создайте новых пользователей, я назову их «Конфиденциальный» и «Секретный». По аналогии с пользователем Администратор установите для новых пользователей аналогичные уровни доступа и настройки как на рисунках ниже.
Настройка объектов
Та или иная категория конфиденциальности является атрибутом папки или файла. Изменения этих атрибутов производятся уполномоченными пользователями (в данном случае Администратором). Категория конфиденциальности может присваиваться новым файлам или папкам автоматически или по запросу.
Автоматическое присваивание категории конфиденциальности можно включить или отключить в окне настройки свойств папки. Этот параметр может редактировать только пользователь, у которого есть права на «Редактирование категорий конфиденциальности».
При этом стоит учесть, что категории конфиденциальности могут назначаться только папка и файлам в файловой системе NTFS. В случае если у пользователя нет такой привилегии, он может только повысить категорию конфиденциальности и только не выше своего уровня.
Попробуйте создать в паке новый файл или каталог, а после чего изменить ее уровень (повысить) и установить флажок «Автоматически присваивать новым файлам». У вас появиться окно «Изменение категорий конфиденциальности».
Выберите пункт «Присвоение категорий конфиденциальности всем файлам в каталоге» и нажмите «ОК» для присвоения категории конфиденциальности всем файлам кроме скрытых и системных файлов.
В случае если категория допуска пользователя выше чем категория конфиденциальности объект, то пользователь имеет право на чтение документа, но не имеет права изменять и сохранять документ.
Если пользователь с категорией «Общедоступно» попробует прочитать или удалить документ, то он получит соответствующие ошибки.
То есть пользователь не может работать с документами, у которых уровень конфиденциальности выше, чем у него.
Если вы зайдете под пользователем «Секретный» то вы сможете повысить уровень конфиденциальности файлов и работать с ними.
Не стоит забывать, что конфиденциальные файлы нельзя копировать в общедоступные папки, чтобы не допустить их утечки.
Контроль потоков данных
Контроль потоков данных используется для того, что бы запретить пользователям возможность понижения уровня конфиденциальности файлов.
Для этого нужно запустить «Локальные параметры безопасности»: «Пуск» – «Программы» –> «Secret Net 5» –> «Локальная политика безопасности», затем перейти в группу «Параметры Secret Net» –> «Настройки подсистем» и выбрать параметр «Полномочное управление доступом: Режим работы» и включить контроль потоков. Изменения вступят в силу после перезагрузки компьютера.
Если зайти (после перезагрузки) под пользователем «Секретный» появиться выбор уровня конфиденциальности для текущего сеанса. Выберите секретный уровень.
Если вы откроете файл с уровнем «Конфиденциально», отредактируете его и попробуете сохранить под другим именем и в другую папку, то вы получите ошибку, так как уровень сеанса (секретный) выше, чем уровень файла (конфиденциальный) и включен контроль потоков данных.
На этом все, если у вас остались вопросы задавайте их в комментариях.
Обучаю HTML, CSS, PHP. Создаю и продвигаю сайты, скрипты и программы. Занимаюсь информационной безопасностью. Рассмотрю различные виды сотрудничества.
Источник