Управление доступом пользователей и групп

Любой, кто входит в ioBroker, делает это как пользователь. Права доступа этого пользователя определяются двумя факторами: разрешениями его группы и правами доступа к отдельному объекту. Оба фактора должны разрешать предполагаемые действия пользователя.

Если какой-либо из этих факторов запрещен, ничего не происходит.

Эти пользователи не являются пользователями операционной системы. Они применяются только внутри ioBroker: для входа в административный интерфейс, интерфейс визуализации и веб-адаптеры. Они создаются на вкладке пользователь.

Две существующие группы

ГруппаПредназначено для
Администратор (system.group.administrator)Полный доступ. Пользователь admin находится здесь.
Пользователь (system.group.user)Ежедневная работа: переключение и чтение, без внесения изменений.

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

Что разрешено делать группе

На вкладке Пользователи значок карандаша открывает функцию редактирования для группы; на вкладке Разрешения отображаются права доступа:

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

Пять блоков, каждый с одинаковыми пятью правами:

БлокК чему это относится
Права доступа к объектамОписание точки данных: имя, роль, подразделение, назначения.
Разрешения состоянияСамо значение. Переключение - это доступ на запись в состояние.
Права пользователейУправление пользователями и группами.
Другие разрешенияhttp-Anfragen, Shell-Ausführung и sendTo.
Права доступа к файламХранилище файлов, т.е. все файлы на вкладке «Файлы».

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

Группа Пользователи по умолчанию охватывает повседневное использование:

БлокировкаРазрешено
Объектычтение, список
Штатычитать, перечислять, писать, создавать
Пользователичитать, список
Другоетолько http-Anfragen
ФайлыЧитать, список

Это позволяет такому пользователю видеть всё и переключаться между устройствами, но не изменять объекты, запускать скрипты через sendTo и не выполнять команды оболочки.

!> Shell-Ausführung означает, что скриптам от имени этого пользователя разрешено выполнять команды в операционной системе. Это право принадлежит только группе администраторов.

Права на отдельный объект: ACL

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

Эти права доступа к объекту называются ACL, сокращение от Access Control List. Они имеют ту же структуру, что и разрешения файлов в Linux: трехзначное число, например, 664.

Три числа обозначают три роли в следующем порядке:

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

Каждая цифра образуется в результате двух действий: чтение считается за 4, письмо считается за 2.

Вместе это дает 6, ничто не приводит к 0.

ЧислоЗначение
664Владелец и группа могут читать и записывать, все остальные могут только читать. Стандартная настройка по умолчанию.
666Писать разрешено всем.
600Только владелец, никто другой.
600Только владелец, больше никто.

Вот пример из повседневной жизни: пользователь из группы Пользователи имеет права на запись. Точка данных alias.0.Licht находится по адресу 664 и принадлежит владельцу admin в группе администратор. Пользователь не относится ни к одной из этих групп, поэтому к нему применяется третья цифра: 4, только для чтения. Он может видеть свет, но не может им управлять. Проблема не в группе, а в списке контроля доступа (ACL) объекта.

Объекты и состояния имеют отдельные права доступа. Объект - это описание, состояние - значение. Тем, кому нужно только переключать состояние, необходимы права на запись для состояния, а не для объекта.

Права доступа становятся видимыми в экспертном режиме: на вкладке объекты отображается столбец с этим числом. Щелчок по нему открывает список контроля доступа:

Список контроля доступа точки данных

Вверху расположены Пользователь-Владелец и Группа-Владелец, ниже которых указаны права, разделенные по объектам и состояниям, и для каждой из трех ролей:

  • Владелец: зарегистрированный пользователь.
  • Группа: кто входит в зарегистрированную группу.
  • Все: все остальные зарегистрированные пользователи.

Эти три числа точно обозначают эти три роли. Чтение засчитывается как 4, письмо как 2, вместе они составляют 6. Таким образом, 664 означает: владелец и группа могут читать и писать, все остальные могут только читать.

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

Права, которые получают вновь созданные объекты, определены в Системные настройки в разделе Стандартный список контроля доступа. Этот параметр не изменяет существующие объекты.

Объекты, созданные самим адаптером, принадлежат ему. Если он воссоздает их во время обновления, разрешения восстанавливаются в соответствии с замыслом адаптера.

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

Создание пользователя с ограниченными правами

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

  1. На вкладке Пользователи создайте пользователя и назначьте ему пароль.
  2. Переместите его в группу Пользователи, а не в группу Администраторы.
  3. В файле Аутентификация

Включите авторизацию для соответствующего веб-адаптера.

  1. Войдите в систему под этим пользователем и проверьте, действительно ли возможно только то, что разрешено.

должен уйти.

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

Перед изменением прав доступа создайте Резервная копия.

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