Русский
  • организация
  • B2B
  • RBAC
  • auth
  • authentication

Организация и контроль доступа на основе ролей: Как спроектировать вашу модель авторизации для вашего продукта

Эта статья предоставляет подробное руководство по проектированию модели авторизации для организации и контроля доступа на основе ролей, а также предлагает лучшие практики для различных моделей авторизации на платформе Logto.

Guamian
Guamian
Product & Design

Что такое организация

Определение организации

Организация — это группа пользователей (идентичностей) и может представлять команды, бизнес-клиентов и партнерские компании, которые могут обращаться к вашему приложению.

Organization

Организация особенно эффективна в бизнес-к-бизнесу (B2B) окружениях. В отличие от индивидуальных потребителей, бизнес-клиенты часто состоят из команд, организаций или целых компаний, а не только одного человека. Введение организации как сущности важно, так как она не только группирует пользователей, но и предоставляет контекст для изоляции арендаторов в многопользовательских приложениях.

Примеры использования организации

С этим основным элементом вы можете теперь создать обязательные функции для ваших B2B продуктов:

  • Построение многопользовательской архитектуры для изоляции данных и ресурсов клиентов.
  • Уровни доступа к приложениям определяются ролями, назначаемыми членам организации.
  • Проведение мероприятий по приглашению и на основе времени.
  • Каждая организация может иметь опыт аутентификации с одним входом (SSO).

Что такое контроль доступа на основе ролей?

Определение контроля доступа на основе ролей

Контроль доступа на основе ролей (RBAC) — это метод назначения разрешений пользователям на основе их ролей. Контроль доступа на основе ролей является нейтральным к политике механизмом контроля доступа, определяемым вокруг ролей и привилегий. Компоненты RBAC, такие как разрешения ролей, пользовательские-роль и отношения роль-роль, делают процесс назначения пользователей простым. Исследование NIST продемонстрировало, что RBAC отвечает многим потребностям коммерческих и государственных организаций.

Примеры использования контроля доступа на основе ролей

Ранее мы разработали несколько руководств, чтобы помочь вам использовать RBAC для удовлетворения бизнес-требований. Просмотрите эти простые в использовании учебные пособия, чтобы быстро начать.

🔐 Контроль доступа на основе ролей (RBAC) | Документация Logto

Использование различных моделей авторизации в Logto для лучшей практики

Контроль доступа на основе ролей и организация являются ключевыми компонентами функций авторизации Logto. Как комплексная платформа управления идентичностями, Logto предлагает индивидуальные решения для различных сценариев и уровней, ориентированные на разработчиков и предприятия для разнообразных архитектур продуктов.

Контроль доступа к API на основе ролей

Чтобы защитить общие ресурсы API, которые не специфичны для какой-либо организации и не нуждаются в ограничениях контекста, функция API RBAC является идеальной.

Просто зарегистрируйте API и назначьте разрешения для каждого ресурса. Затем контролируйте доступ через отношения между ролями и пользователями.

Manage permissions

Ресурсы API, роли и разрешения здесь “демократизированы” под единой системой идентичности. Это довольно распространено в B2C продукте с меньшей иерархией и не нуждается в очень глубоком уровне изоляции данных.

Контроль доступа на основе ролей организаций

В B2B и многопользовательской среде изоляция арендаторов необходима. Для достижения этого используются организации как контекст для изоляции, что означает, что RBAC эффективен только тогда, когда пользователь относится к конкретной организации.

Organization onboarding

Организация RBAC сосредоточена на контроле доступа на уровне организации, а не на уровне API. Это обеспечивает значительную гибкость для самостоятельного управления на уровне организации в долгосрочной перспективе, но все еще в рамках единой системы идентичности.

Ключевой особенностью организационного RBAC является то, что роли и разрешения, как правило, одинаковы для всех организаций по умолчанию, что делает “организационный шаблон” Logto чрезвычайно значимым для повышения эффективности разработки.

Organization template

Это соответствует общей философии многопользовательских приложений, где политики контроля доступа и идентичности являются общими инфраструктурными компонентами для всех арендаторов (арендаторов приложения), что является обычной практикой для продуктов SaaS.

Выбор и проектирование соответствующей модели авторизации

При выборе правильной модели авторизации учитывайте эти вопросы:

  1. Вы разрабатываете B2C, B2B или комбинацию обоих типов продуктов? Являются ли идентичности бизнес-идентичностями?
  2. Нужно ли вашему приложению многопользовательскую архитектуру?
  3. Есть ли необходимость в определенном уровне изоляции в вашем приложении, определяемая бизнес-единицей?
  4. Какие разрешения и роли необходимо определить в контексте организации, а какие нет?

B2C приложение

Возьмем пример веб-приложения: BookHarber, интернет-магазин книг. BookHarber предлагает широкий спектр функций для клиентов и персонала, обеспечивая беспрепятственный и безопасный опыт покупок.

Ключевые особенности BookHarber включают:

  1. Просмотр и покупка книг: Пользователи могут легко искать и покупать книги из разнообразной коллекции, охватывающей различные жанры и авторов.
  2. Управление заказами и отслеживание логистики: Зарегистрированные клиенты могут управлять своими заказами, отслеживать доставку и получать обновления о своих покупках.
  3. Специальные предложения и праздничные мероприятия: BookHarber предоставляет эксклюзивные скидки и акции во время специальных мероприятий и праздников, чтобы заинтересовать и вознаградить свою клиентскую базу.
  4. Поддержка клиентов: Клиенты могут открывать билеты поддержки для решения любых проблем или вопросов, получая оперативную помощь от персонала BookHarber.
  5. Управление клиентами: Сотрудники с различными ролями имеют возможность управлять различными аспектами платформы, такими как учетные записи клиентов, обработка заказов и решение проблем.

Роли

В экосистеме BookHarber мы можем выделить несколько ключевых ролей пользователей, таких как:

  1. Гость: Незарегистрированные пользователи, которые могут просматривать веб-сайт, искать книги и просматривать специальные предложения.
  2. Клиент: Зарегистрированные пользователи, которые могут покупать книги, управлять заказами, отслеживать логистику и открывать билеты поддержки.
  3. Администратор магазина: Сотрудники, ответственные за управление и операции платформой. С полным доступом.
  4. Менеджер книг: Сотрудники, отвечающие за управление книгами и категориями.
  5. Агент службы поддержки клиентов: Сотрудники, отвечающие за ответы на билеты поддержки.
  6. Поставщик третьей стороны логистики: Внешние партнеры, ответственные за управление и отслеживание доставки заказов.
  7. Сотрудник по маркетингу: Сотрудники, ответственные за продвижение BookHarber, ответственные за управление специальными предложениями и мероприятиями.

Ранее мы разработали несколько руководств, чтобы помочь вам использовать RBAC для удовлетворения бизнес-требований. Просмотрите эти простые в использовании учебные пособия, чтобы быстро начать.

Мастерство в RBAC на Logto: Всеобъемлющий, реальный пример

B2B приложение

Многопользовательские приложения часто находят свое место в бизнес-к-бизнесу (B2B) решениях, таких как инструменты повышения производительности, системы планирования ресурсов предприятия (ERP) и других продуктах программного обеспечения как услуги (SaaS). В этом контексте каждый "арендатор" обычно представляет собой бизнес-клиента, который может иметь нескольких пользователей (своих сотрудников). Кроме того, у бизнес-клиента может быть несколько арендаторов, представляющих отдельные организации или бизнес-подразделения.

B2B

Создание нескольких организаций

Create organizations

Определение шаблона организации для контроля доступа на уровне организации

Define organization template

Гибридное приложение B2B и B2C

B2B приложения выходят за пределы продуктов SaaS и часто включают в себя использование многопользовательских приложений. В контексте B2B эти приложения служат общей платформой для различных команд, бизнес-клиентов и партнерских компаний для доступа к вашим приложениям.

Например, рассмотрим компанию по совместному использованию авто, которая предоставляет приложения как для B2C, так и для B2B. B2B приложения обслуживают нескольких бизнес-клиентов, и использование многопользовательской архитектуры может помочь в управлении их сотрудниками и ресурсами. Чтобы иллюстрировать, если компания хочет сохранить единую систему идентичности пользователей, она может разработать архитектуру, подобную следующему примеру:

Возьмем Сару в качестве примера. У Сары есть как личная, так и бизнес-идентичность. Она использует сервис совместного использования авто как пассажир, а также работает водителем в свободное время. В своей профессиональной роли она также управляет своим собственным личным бизнесом и использует эту бизнес-идентичность, чтобы быть партнером с Бизнесом 1.

Entities set up in Logto

Настроенные сущности в Logto

A user’s identity and role map

Карта идентичности и ролей пользователя

Определение ресурсов API, ролей пользователей

Create API resources

Role riderRole driver

Настройка организаций

Create business organizationsBusiness organization details

Профиль Сары

Sarah’s profile - organizations

Sarah’s profile - roles

Постройте вашу авторизацию сегодня.

Logto предлагает как функции контроля доступа на основе ролей (RBAC), так и функции организации для удовлетворения ваших требований к авторизации. Эти функции разработаны для легкой интеграции в различные части вашего продукта. Для получения дополнительной информации взгляните на наши разделы о организациях и RBAC, или попробуйте Logto прямо сейчас.