Реалмы, пользователи и роли
Версия: 1.26.0
Аутентификация и авторизация в стеке OpenRemote осуществляется с помощью Keycloak OpenID Connect Provider и использует OAuth 2.0. Обычно внутри экземпляра стека OpenRemote сервер Keycloak доступен по адресу: /auth, но его следует использовать только опытным пользователям, которые знают, что они делают, поскольку вы можете полностью сломать свой экземпляр.
Области
Области (также известные как арендаторы) в OpenRemote обеспечивают уровень изоляции, при этом каждая область имеет
своих собственных пользователей, ресурсы, правила и даже стили пользовательского интерфейса. Это позволяет использовать
варианты использования с несколькими арендаторами, а управлять областями могут только суперпользователи. Пользователь
области может видеть и получать доступ только к своей области и ресурсам в этой области, суперпользователи могут
получить доступ ко всем сферам. Доступ к отдельным областям можно получить по адресу
https://your-address.example/manager/?realm=realmname. Для получения более подробной информации см.
Области.
пользователей
В OpenRemote существует два основных типа пользователей, всеми можно управлять в пользовательском интерфейсе Manager или программно с помощью пользовательского кода настройки:
Обычные пользователи
Это пользователи, которые входят в систему в интерактивном режиме, вводя свое имя пользователя и пароль на странице входа. В терминологии OAuth 2.0 это тип гранта authorizationCode.
Пользователи сервиса
Это пользователи, которые входят в систему программно, используя идентификатор клиента и секретный ключ. Он предназначен для конфиденциальных клиентов, которые могут подключаться к API-интерфейсу менеджера (т. е. MQTT, WebSockets и/или HTTP) без взаимодействия с пользователем. В терминологии OAuth 2.0 это тип гранта client_credentials.
Роли
Роли (технически составные роли или группы ролей) можно определить, выбрав различные права доступа «чтение» и «запись» для различных функций системы. Каждая область имеет свой собственный набор ролей, и пользователю может быть назначено ноль или более этих ролей в пределах своей области, и они являются составными, поскольку в совокупности формируют общую авторизацию/разрешения для пользователя. Роли, используемые OpenRemote, определены в ClientRole.
Роли в мире
В OpenRemote для пользователей предусмотрены две дополнительные роли области.
Роль области ограниченного пользователя
Пользователь, назначенный с ролью области «Пользователь с ограниченными правами» и связанный с одним или несколькими ресурсами, будет видеть только эти ресурсы. Обратите внимание, что они будут видеть только те атрибуты этого актива, для которых установлен «ограниченный доступ для чтения или записи». Пользователи с ограниченным доступом также будут иметь назначенные им роли.
Роль области суперадминистратора
В системе у нас есть концепция суперпользователей, это пользователи в главной области с ролью области Super admin, они имеют возможность создавать и управлять областями и всем, что находится в любой области. Обратите внимание, что вам необходимо дополнительно предоставить им все роли «чтения/записи».
Уведомление о лицензии: атрибуция документации OpenRemote