Организации и мультитенантность¶
Организация — корень тенанта. Любой другой объект в Expecto — проекты, entity, контракты, трансформеры, каталоги, сессии, поставщики — принадлежит ровно одной организации, и доступ никогда не пересекает эту границу.
Как обеспечивается тенантность¶
У каждой модели есть organization_id. Все запросы ограничены им, а вложенные
ресурсы дополнительно проверяют, что потомок принадлежит заявленному родителю,
прежде чем вернуть его. «Глобальных» данных, общих между организациями, нет.
Membership и роли¶
Пользователи входят в организацию через Membership, который несёт роль (например owner, admin, member). Роль определяет, что пользователь может делать внутри организации. API-ключи ограничены так же — ключ действует внутри одной организации с набором выданных прав.
Авто-провижининг¶
При первом входе через Auth0 Expecto за один шаг создаёт персональную организацию, запись пользователя и owner-membership. Так новый пользователь всегда попадает в рабочее изолированное пространство без ручной настройки.
Поставщики данных — не организации¶
Поставщик, присылающий данные, моделируется как Data Provider, а не как полноценный участник вашей организации. Поставщики получают ограниченный submission-доступ к конкретным проектам и контрактам, но никогда — к поверхности конфигурации.