Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Модуль ролевой модели доступа

Модуль ролевой модели доступа

Гибкая и расширяемая система управления доступом на основе ролей (Role-Based Access Control), предназначенная для интеграции в различные проекты и платформы.

Основные компоненты

1. Сущности модели

Пользователь (User)

  • Аккаунт, который взаимодействует с системой
  • Может быть человеком или сервисным аккаунтом
  • Имеет уникальный идентификатор в системе

Роль (Role)

  • Набор разрешений, определяющих возможности пользователя
  • Присваивается пользователю в контексте проекта/рабочего пространства
  • Определяет уровень доступа и ответственности

Разрешение (Permission)

  • Конкретное право на выполнение действия
  • Минимальная единица контроля доступа
  • Может быть привязано к конкретным ресурсам или действиям

Проект/Рабочее пространство (Project/Workspace)

  • Изолированная область для совместной работы
  • Контейнер для ресурсов и назначений ролей
  • Определяет границы применения прав доступа

2. Типы разрешений

Базовые разрешения (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 Мониторинг и автоматическое выполнение задач

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

Смотри в Документацию

Интеграция с проектами

Шаги интеграции:

  1. Определите ресурсы вашего приложения
  2. Сопоставьте действия с разрешениями модуля
  3. Настройте роли под специфику вашего проекта
  4. Интегрируйте проверки доступа в ключевые точки приложения
  5. Реализуйте интерфейс управления ролями и разрешениями

Расширение модели:

Модуль поддерживает добавление:

  • Кастомных ролей
  • Дополнительных типов разрешений
  • Специфичных интеграционных прав
  • Иерархических отношений между ролями

Преимущества использования

  • Гибкость - адаптация под различные типы проектов
  • Безопасность - централизованное управление доступом
  • Масштабируемость - поддержка больших команд и проектов
  • Аудит - отслеживание всех операций с доступом
  • Интегрируемость - работа с внешними сервисами и системами

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages