Новый подход к ролевой модели для облачной платформы
В Cloud.ru есть ролевая модель: клиент может добавить своих сотрудников в оплаченный продукт и назначить роль (например, admin, editor, viewer). Часто клиенты сталкивались с ситуацией, когда ни одна существующая роль не могла на 100% закрыть имеющуюся потребность. В этом кейсе я расскажу, как мы дали возможность адаптировать ролевую модель под свои задачи.
Моя роль
- Декомпозировал эпик на задачи и спланировал спринты
- Спроектировал пользовательские сценарии
- Презентовал результаты команде
- Провёл юзабилити-тестирование прототипов
Задача
Клиенты компании сталкивались с проблемами:
- Возможности роли ограничены: действия, которые доступны роли, заранее заложены в неё и изменить их нельзя
- Зависимость от менеджеров: если клиенту нужна роль с отличным от встроенных набором действий, он должен был идти в поддержку
Процесс
Дискавери и интервью: Изучил обратную связь по текущему процессу: запрос на создание новой роли приходит часто, а у Клауда нет технической возможности создавать роли без костылей на бэкенде. Плюс такой запрос создаёт дополнительную нагрузку на техподдержку и команду разработки, которая должна поддерживать созданную роль вручную.
Определение задачи пользователей: требуется единая зона для создания и управления кастомными ролями, массовое добавление пользователей, назначение ролей сразу в нескольких проектах, а также подсказки, которые будут объяснять, что означают те или иные действия.
Проектирование: создал новый микросервис в разделе сервисов IAM, в котором пользователь может создавать, удалять и управлять кастомными ролями:
- Единая зона управления: роли для всех проектов создаются и управляются из одного места. Здесь же можно посмотреть, какие роли встроены в Клауде. Это полезно, чтобы узнать, какие действия в них доступны, или создать роль на основе уже существующей
- Процесс создания ролей: создание роли состоит из двух частей — общей информации и выбора разрешённых действий для новой роли. Части пользователей удобнее создавать роль с помощью редактора кода, так как ролями часто занимаются разработчики. Мы предусмотрели оба способа создать новую роль: через редактор кода или интерфейс. Также можно импортировать настройки через загруженный YAML-файл
- Частый кейс: встроенная или уже созданная роль почти подходит, но нужно что-то подправить. Чтобы не создавать роль с нуля, можно использовать существующую роль как шаблон для новой
Результат
Новый сервис по созданию и управлению ролями снизил нагрузку на техподдержку и команду разработки. Теперь пользователи самостоятельно создают и редактируют роли с нужным набором действий.