Skip to main content

Реалмы, пользователи и роли

Версия: 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