Гибкая и расширяемая система управления доступом на основе ролей (Role-Based Access Control), предназначенная для интеграции в различные проекты и платформы.
Пользователь (User)
- Аккаунт, который взаимодействует с системой
- Может быть человеком или сервисным аккаунтом
- Имеет уникальный идентификатор в системе
Роль (Role)
- Набор разрешений, определяющих возможности пользователя
- Присваивается пользователю в контексте проекта/рабочего пространства
- Определяет уровень доступа и ответственности
Разрешение (Permission)
- Конкретное право на выполнение действия
- Минимальная единица контроля доступа
- Может быть привязано к конкретным ресурсам или действиям
Проект/Рабочее пространство (Project/Workspace)
- Изолированная область для совместной работы
- Контейнер для ресурсов и назначений ролей
- Определяет границы применения прав доступа
Базовые разрешения (CRUD-операции):
read- просмотр информацииcreate- создание новых объектовwrite- редактирование существующих объектовdelete- удаление объектовupdate- обновление объектов (специализированный вариант write)
Специальные разрешения:
security_attributes- управление настройками безопасностиdeploy- развертывание ресурсовundeploy- удаление развернутых ресурсовcreate_from_template- создание из шаблонаcreate_empty- создание пустых объектов
Интеграционные разрешения (формат: сервис:право):
gitlab:<role>- доступ к системам контроля версийsonarqube:<role>- доступ к системам анализа кодаteamstorm:<role>- доступ к инструментам коллаборацииnexus:repository-viewer- просмотр артефактовnexus:repository-editor- полное управление артефактами
admin - Администратор системы
- Полный контроль над всеми ресурсами
- Управление настройками безопасности
- Назначение ролей другим пользователям
- Конфигурация интеграций с внешними сервисами
teamlead - Руководитель команды
- Управление командой разработки
- Контроль технических ресурсов проекта
- Координация работы разработчиков
- Настройка процессов разработки
deplead - Руководитель департамента
- Стратегическое управление на уровне департамента
- Контроль нескольких проектов/команд
- Анализ метрик и эффективности
- Принятие архитектурных решений
project_manager - Менеджер проекта
- Управление жизненным циклом проекта
- Контроль сроков и бюджетов
- Координация между различными ролями
- Управление рисками и коммуникациями
developer - Разработчик
- Разработка и поддержка кода
- Работа с системой контроля версий
- Участие в code review
- Написание тестов и документации
devops - DevOps-инженер
- Настройка и поддержка инфраструктуры
- Управление CI/CD пайплайнами
- Развертывание приложений
- Мониторинг и обеспечение доступности
architect - Архитектор
- Проектирование архитектуры системы
- Определение технических стандартов
- Контроль качества архитектурных решений
- Оптимизация производительности
qa - QA-инженер
- Тестирование функциональности
- Составление тест-кейсов
- Отслеживание и верификация багов
- Обеспечение качества продукта
devsec - Специалист по безопасности
- Контроль политик безопасности
- Аудит кода и инфраструктуры
- Настройка средств защиты
- Мониторинг уязвимостей
analyst - Аналитик
- Анализ требований и данных
- Проектирование бизнес-процессов
- Составление технических заданий
- Формирование отчетности
product_manager - Менеджер продукта
- Управление продуктовой стратегией
- Формирование бэклога продукта
- Приоритизация функциональности
- Анализ рынка и конкурентов
techwriter - Технический писатель
- Создание технической документации
- Поддержка пользовательских руководств
- Описание API и архитектуры
- Ведение внутренней базы знаний
readonly - Наблюдатель
- Только просмотр информации
- Без возможности изменений
- Идеально для аудиторов и руководителей
- Мониторинг состояния системы
service-account - Сервисный аккаунт
- Автоматизированное выполнение задач
- Точечные права под конкретные операции
- Используется для интеграций и скриптов
- Не предназначен для интерактивного использования
| Категория | Роли | Назначение |
|---|---|---|
| Полный контроль | admin |
Полный доступ ко всем функциям системы |
| Управление и стратегия | teamlead, deplead, project_manager |
Управление командами, проектами и стратегией |
| Техническая реализация | developer, devops, architect |
Разработка, инфраструктура и архитектура |
| Специалисты и качество | qa, devsec, analyst |
Обеспечение качества, безопасности и анализа |
| Продукт и документация | product_manager, techwriter |
Управление продуктом и документирование |
| Наблюдение и автоматизация | readonly, service-account |
Мониторинг и автоматическое выполнение задач |
Смотри в Документацию
- Определите ресурсы вашего приложения
- Сопоставьте действия с разрешениями модуля
- Настройте роли под специфику вашего проекта
- Интегрируйте проверки доступа в ключевые точки приложения
- Реализуйте интерфейс управления ролями и разрешениями
Модуль поддерживает добавление:
- Кастомных ролей
- Дополнительных типов разрешений
- Специфичных интеграционных прав
- Иерархических отношений между ролями
- Гибкость - адаптация под различные типы проектов
- Безопасность - централизованное управление доступом
- Масштабируемость - поддержка больших команд и проектов
- Аудит - отслеживание всех операций с доступом
- Интегрируемость - работа с внешними сервисами и системами