Перейти к содержанию

Организации и мультитенантность

Организация — корень тенанта. Любой другой объект в Expecto — проекты, entity, контракты, трансформеры, каталоги, сессии, поставщики — принадлежит ровно одной организации, и доступ никогда не пересекает эту границу.

Как обеспечивается тенантность

У каждой модели есть organization_id. Все запросы ограничены им, а вложенные ресурсы дополнительно проверяют, что потомок принадлежит заявленному родителю, прежде чем вернуть его. «Глобальных» данных, общих между организациями, нет.

Membership и роли

Пользователи входят в организацию через Membership, который несёт роль (например owner, admin, member). Роль определяет, что пользователь может делать внутри организации. API-ключи ограничены так же — ключ действует внутри одной организации с набором выданных прав.

Авто-провижининг

При первом входе через Auth0 Expecto за один шаг создаёт персональную организацию, запись пользователя и owner-membership. Так новый пользователь всегда попадает в рабочее изолированное пространство без ручной настройки.

Поставщики данных — не организации

Поставщик, присылающий данные, моделируется как Data Provider, а не как полноценный участник вашей организации. Поставщики получают ограниченный submission-доступ к конкретным проектам и контрактам, но никогда — к поверхности конфигурации.

Связанное