Объяснение многопользовательской модели Logto
Посмотрите, как мы разработали многопользовательскую модель Logto и какие преимущества она дает для приложений SaaS.
Посмотрите, как мы разработали многопользовательскую модель Logto и какие преимущества она дает для приложений SaaS.
Вы могли слышать о продуктах, которые используют термин «многопользовательская система», подразумевая изоляцию идентичностей: каждый арендатор имеет свой набор пользователей, ролей, разрешений и данных.
Это может показаться нелогичным, но на самом деле, «многопользовательская система» обозначает противоположное: несколько арендаторов разделяют ресурсы в одной инстанции. Для пользователей идентичность в приложении подобна водительскому удостоверению. Например, с одним водительским удостоверением вы можете водить в разных штатах (одна идентичность для нескольких организаций), вместо того, чтобы подавать заявку на новое удостоверение для каждого штата.
В Logto мы заметили эту путаницу в начале нашего проектирования и стремились сделать всё правильно для ваших приложений и ваших пользователей. Вот наша модель:
Эта модель обеспечивает гибкость и возможность повторного использования для управления идентичностями, особенно для приложений SaaS. Если мы взглянем на популярные приложения SaaS, мы увидим, что они все могут вписаться в эту модель. Термин «организация» может отличаться в разных приложениях, например, «рабочая область», «команда» и т.д., но концепция остается той же.
Например, в Notion (популярный инструмент для совместной работы):
Таким образом, пользователи могут легко переключаться между рабочими областями, не меняя учетные записи и не входя заново, сохраняя изоляцию между рабочими областями. Переводя это на модель Logto, это означает:
В зависимости от ролей пользователь может иметь разные разрешения в разных рабочих областях (организациях).
Для пользователей это позволяет наслаждаться настоящим опытом единого входа. Переключение между организациями так же просто, как переключение между вкладками.
Одно из преимуществ приложений SaaS заключается в том, что они стандартизированы и масштабируемы. Например, создавать новую рабочую область в Notion можно всего за несколько кликов, и она готова к использованию.
Когда ваше приложение растет, возможно, вы захотите добавить больше ролей и разрешений в каждую организацию. Например, новая роль «гость» и новое разрешение «пригласить:гостя». Это может стать кошмаром, если вам потребуется обновлять каждую существующую организацию по отдельности.
С Logto вы можете обновить шаблон организации, и все существующие организации будут автоматически обновлены.
В Logto мы используем одну и ту же модель управления доступом (RBAC) как для организаций, так и для API-ресурсов. Это означает, что вам не нужно изучать новую модель управления доступом, если вы знакомы с RBAC. Тем временем, они изолированы друг от друга, так что вы можете использовать их для различных сценариев использования.
Самая интересная часть заключается в том, что вы можете использовать их одновременно. Давайте расширим пример с Notion:
Большинство SDK Logto поддерживают оба типа RBAC.
Различия
Организационный RBAC и RBAC для API-ресурсов различаются по следующим аспектам:
Создание SaaS-приложения сложно, и мы надеемся, что Logto поможет вам сосредоточиться на вашем основном бизнесе. Не стесняйтесь давать нам обратную связь, если у вас есть вопросы или предложения.