Новый подход к ролевой модели для облачной платформы

В Cloud.ru есть ролевая модель: клиент может добавить своих сотрудников в оплаченный продукт и назначить роль (например, admin, editor, viewer). Часто клиенты сталкивались с ситуацией, когда ни одна существующая роль не могла на 100% закрыть имеющуюся потребность. В этом кейсе я расскажу, как мы дали возможность адаптировать ролевую модель под свои задачи.

Моя роль

  • Декомпозировал эпик на задачи и спланировал спринты
  • Спроектировал пользовательские сценарии
  • Презентовал результаты команде
  • Провёл юзабилити-тестирование прототипов
Интерфейс управления ролями облачной платформы

Задача

Клиенты компании сталкивались с проблемами:

  • Возможности роли ограничены: действия, которые доступны роли, заранее заложены в неё и изменить их нельзя
  • Зависимость от менеджеров: если клиенту нужна роль с отличным от встроенных набором действий, он должен был идти в поддержку

Процесс

Дискавери и интервью: Изучил обратную связь по текущему процессу: запрос на создание новой роли приходит часто, а у Клауда нет технической возможности создавать роли без костылей на бэкенде. Плюс такой запрос создаёт дополнительную нагрузку на техподдержку и команду разработки, которая должна поддерживать созданную роль вручную.

Определение задачи пользователей: требуется единая зона для создания и управления кастомными ролями, массовое добавление пользователей, назначение ролей сразу в нескольких проектах, а также подсказки, которые будут объяснять, что означают те или иные действия.

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

  • Единая зона управления: роли для всех проектов создаются и управляются из одного места. Здесь же можно посмотреть, какие роли встроены в Клауде. Это полезно, чтобы узнать, какие действия в них доступны, или создать роль на основе уже существующей
  • Процесс создания ролей: создание роли состоит из двух частей — общей информации и выбора разрешённых действий для новой роли. Части пользователей удобнее создавать роль с помощью редактора кода, так как ролями часто занимаются разработчики. Мы предусмотрели оба способа создать новую роль: через редактор кода или интерфейс. Также можно импортировать настройки через загруженный YAML-файл
  • Частый кейс: встроенная или уже созданная роль почти подходит, но нужно что-то подправить. Чтобы не создавать роль с нуля, можно использовать существующую роль как шаблон для новой
Форма с общей информацией для новой пользовательской роли
Выбор разрешённых действий для пользовательской роли
Создание пользовательской роли в YAML-редакторе
Карточка пользовательской роли и список разрешённых действий
Схема пользовательского сценария создания роли

Результат

Новый сервис по созданию и управлению ролями снизил нагрузку на техподдержку и команду разработки. Теперь пользователи самостоятельно создают и редактируют роли с нужным набором действий.