Экторы и типы участников
В Ecosystem54 почти все действия завязаны на эктора: это базовая сущность, которой система назначает идентификатор, набор атрибутов, ключи и права доступа.
Что такое эктор
Эктор - основной объект модели доступа. Им может быть пользователь, группа или сервис. Через эктора описываются идентичность участника системы и его роль в экосистеме.
Где используется
Экторы участвуют в аутентификации, авторизации, межсервисном обмене и управлении доступом через группы и permactions.
Что важно понять
Один и тот же механизм обслуживает и живых пользователей, и внутренние сервисы. Поэтому модель эктора лежит в основе всей архитектуры Ecosystem54.
Сущность эктора
Эктором может быть любой участник, которому нужно выдать идентичность и права. Это может быть человек, группа пользователей или отдельный сервис, который должен безопасно взаимодействовать с другими сервисами.
Каждый эктор имеет имя, тип, дату создания, признаки принадлежности к сервису и набор дополнительных атрибутов, зависящих от его типа. За счет этой унификации система использует один и тот же фундамент для пользовательского доступа и сервисной интеграции.
Базовая структура
С технической точки зрения эктор представлен моделью Actor, а его атрибуты
соответствуют структуре таблицы actor.
| Поле | Назначение |
|---|---|
uuid |
Уникальный идентификатор эктора. |
actor_type |
Тип эктора: пользователь, группа или сервис. |
uinfo |
JSON-поле с атрибутами типа и произвольными связанными данными. |
initial_key |
Основной публичный ECDSA-ключ. |
secondary_keys |
Дополнительные публичные ключи. |
root_perms_signature |
Подпись, связанная с правами root-уровня. |
created |
Дата создания записи. |
Типы экторов
Пользователь
Для пользователей выделяются два основных варианта: classic_user для входа
по логину и паролю и user для сценариев с QR-кодом.
- обязательные атрибуты зависят от типа входа
- можно хранить имя, фамилию, email, телефон, дату рождения
- группы и другие свойства лежат в
uinfo
Группа
Группа - служебный тип эктора, объединяющий участников с единым набором прав. Она не проходит аутентификацию как обычный пользователь.
- имеет имя, описание и вес
- вес определяет приоритет при разрешении конфликтов прав
- стандартно используются группы
default,adminиban
Сервис
Сервис как эктор нужен для межсервисной аутентификации и работы внутри Biome. Такой объект тоже получает собственную идентичность и ключи.
- имя сервиса
- внешний и внутренний домен
- описание и служебные атрибуты интеграции
Как это выглядит в админ-панели
Админ-панель помогает увидеть уже созданных экторов, открыть форму создания, посмотреть набор атрибутов конкретного типа и сверить, как они попадают в базу данных.