Экторы и типы участников

В 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. Такой объект тоже получает собственную идентичность и ключи.

  • имя сервиса
  • внешний и внутренний домен
  • описание и служебные атрибуты интеграции

Как это выглядит в админ-панели

Админ-панель помогает увидеть уже созданных экторов, открыть форму создания, посмотреть набор атрибутов конкретного типа и сверить, как они попадают в базу данных.

Список экторов в админ-панели
Список существующих экторов и управление ими.
Создание пользователя
Форма создания эктора типа пользователь.
Создание группы
Форма создания группы с ее атрибутами.
Запись сервиса как эктора
Пример записи сервиса как эктора в базе данных.