Управление доступом пользователей и групп
Любой, кто входит в 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 означает: владелец и группа могут читать и писать, все остальные могут только читать.
Параметр Применить к объекту и его подобъектам применяет настройку ко всему поддереву. Это удобный способ, например, установить для всего пространства имен адаптера режим «только для чтения».
Права, которые получают вновь созданные объекты, определены в Системные настройки в разделе Стандартный список контроля доступа. Этот параметр не изменяет существующие объекты.
Объекты, созданные самим адаптером, принадлежат ему. Если он воссоздает их во время обновления, разрешения восстанавливаются в соответствии с замыслом адаптера.
В случаях, когда ограничение должно быть постоянным, более надежным подходом является использование Псевдоним: оно принадлежит вам, и адаптер его не затрагивает.
Создание пользователя с ограниченными правами
Обычно ситуация следующая: пользователь должен иметь возможность работать с визуализацией, но не иметь возможности ничего изменять в системе.
- На вкладке Пользователи создайте пользователя и назначьте ему пароль.
- Переместите его в группу Пользователи, а не в группу Администраторы.
- В файле Аутентификация
Включите авторизацию для соответствующего веб-адаптера.
- Войдите в систему под этим пользователем и проверьте, действительно ли возможно только то, что разрешено.
должен уйти.
Если группы Пользователи недостаточно, создается отдельная группа, которой назначаются только необходимые разрешения. Если требуется дополнительно ограничить доступ к определенной области, это делается через права доступа объекта.
Перед изменением прав доступа создайте Резервная копия.
В противном случае, если вы заблокируете себе доступ, установив слишком строгие права, вы сможете восстановить доступ только через командная строка.