SecurityFlow Кабинет лицензий , откроется в новой вкладке

Документация / Руководство администратора / Доступ

Пользователи

Обновлено 20 октября 2026

Учётная запись Core - это логин, почта, метод входа, набор ролей и API-токен. Раздел: "Аккаунты и роли" → "Пользователи".

Для работы с разделом нужна роль с правом "Роли и пользователи": "Просмотр" открывает список, "Изменение" - создание, правку и удаление. Права и области видимости описаны на странице Роли и права.

Первый администратор

Первую учётную запись создаёт задание инициализации при установке Core. Параметры задаёт команда SecurityFlow вместе с остальными секретами установки:

Параметр установки Назначение По умолчанию
ADMIN_USER имя пользователя admin
ADMIN_EMAIL почта задана в образе, укажите свою
ADMIN_PASSWORD пароль если не задан, генерируется при первой инициализации

Администратор получает встроенную роль superuser (все права, все продукты) и доступ к панели администратора Django. Повторная инициализация, например при обновлении, пароль существующего администратора не меняет.

После первого входа:

  1. Смените пароль: "Глобальные настройки" → "Профиль" → "Изменить пароль".
  2. Создайте именные учётные записи администраторов.
  3. Учётную запись admin оставьте для восстановления доступа.

Создание пользователя

  1. Откройте "Аккаунты и роли" → "Пользователи".
  2. Откройте форму "Создать пользователя" и заполните поля.
  3. Сохраните. Пользователь получит метод входа "Пароль".
Поле Что задаёт Обязательно Ограничения
"Имя пользователя" логин для входа по паролю да уникально
"Почта" адрес; по нему вход через SSO находит пользователя да уникальна
"Пароль" пароль да от 8 до 128 символов
"Роли" роли пользователя нет без выбора назначается default

Роль default не открывает продукты

У встроенной роли default нет области видимости. Пользователь только с ней войдёт в Core, но не увидит ни одного продукта и ни одной уязвимости. Назначьте роль с областью видимости: Область видимости продуктов.

Создание через API:

curl -X POST "https://core.example.ru/api/v1/users/" \
  -H "Authorization: Token <токен>" \
  -H "Content-Type: application/json" \
  -d '{"username": "ivanov", "email": "ivanov@example.ru", "password": "<пароль>", "roles": [5]}'

roles - список идентификаторов ролей из GET /api/v1/roles/. Передавайте поле всегда: пустой список [] назначает роль default. Успешный ответ - 201 с карточкой пользователя без пароля.

Метод входа

Поле "Метод авторизации" в карточке пользователя: "Пароль" или "SSO". Метод у пользователя один.

Метод Как входит Ограничения
"Пароль" форма входа, кнопка "Войти через пароль" вход через SSO для его почты отклоняется: "SSO is not available for this email"
"SSO" кнопка "Войти через SSO" вход по паролю отклоняется: 403 "You can't login with password"; смена пароля в профиле недоступна

Пользователи, созданные при первом входе через SSO, сразу получают метод "SSO". Подробнее: Вход через SSO.

Сменить метод:

  • "Разрешить вход через SSO" - переводит пользователя на SSO, вход по паролю закрывается.
  • "Запретить вход через SSO" - возвращает вход по паролю. Если пароля у пользователя нет, форма "Разрешить вход через пароль" попросит его задать.

Через API: POST /api/v1/users/<id>/set-auth-method/ с телом {"auth_method": 1} (0 - пароль, 1 - SSO). При переходе на пароль у пользователя без пароля добавьте поле "password". Повторная установка того же метода - 400 "Already set".

Роли пользователя

Роли назначают в карточке пользователя (поле "Роли") или массово: отметьте пользователей в списке и нажмите "Назначить роли" или "Снять роли".

  • Права из всех ролей складываются: для действия достаточно одной роли с нужным уровнем.
  • Роль default снять нельзя. Запрос снять только её - 400 "This role can not be unassigned"; в наборе с другими ролями она пропускается.

Массовые операции через API выбирают пользователей фильтром в строке запроса:

curl -X POST "https://core.example.ru/api/v1/users/roles/assign/?id__in=12,15" \
  -H "Authorization: Token <токен>" \
  -H "Content-Type: application/json" \
  -d '{"roles": {"ids": [5]}}'

Снятие - тот же запрос на /api/v1/users/roles/remove/.

Фильтр обязателен

Без фильтра id__in операция применяется ко всем пользователям Core.

Доступ к панели администратора

Переключатель "Доступ к панели администратора" открывает пользователю панель администратора Django по адресу /admin/. Через неё доступны все данные и критичные настройки системы в обход ролей. Вход в панель - только по паролю.

Выдавайте этот доступ только администраторам платформы. Пункты меню Core он не открывает: их определяют роли.

Блокировка

Закрыть пользователю доступ можно тремя способами:

Способ Как Результат Обратимо
Отключить учётную запись /admin/ → пользователь → снять флажок "Активный" → сохранить вход по паролю отклоняется; API-токен и сессия браузера перестают приниматься с ответом 401; история и данные сохраняются да
Снять роли "Снять роли" в списке пользователей остаётся default: продукты и уязвимости не видны, вход сохраняется да
Удалить "Удалить пользователя" учётная запись удаляется нет

Для сотрудников, которые ушли или сменили роль, отключайте учётную запись: история действий остаётся привязанной к ней.

Что привязано к пользователю

  • Расписания аудитов Radar, расписания уведомлений и расписания реестров контейнеров, созданные пользователем, удаляются вместе с ним.
  • В интеграциях VCS, где он указан как "Автор интеграции", поле очищается, и сканирование по пушу перестаёт запускаться.
  • Комментарии к уязвимостям остаются без автора.
  • Radar отправляет отчёты в Core с API-токеном пользователя, который запустил аудит. Для расписаний это создатель расписания, для VCS и реестров - автор интеграции. После отключения или удаления такого пользователя отчёты этих аудитов отклоняются.

Перед отключением или удалением передайте расписания и интеграции служебной учётной записи.

Профиль

"Глобальные настройки" → "Профиль" - настройки текущего пользователя:

  • аватар: JPEG или PNG до 10 МБ, ширина до 2000 пикселей;
  • "Изменить пароль": "Старый пароль" и "Новый пароль" от 8 до 128 символов. Неверный старый пароль - 400 "Invalid old password". Для пользователей SSO смена недоступна;
  • "Токен аутентификации API" - см. ниже;
  • "Тема" и "Отображение описания уязвимостей по умолчанию": "Краткое" или "Полное";
  • "Внешний URL приложения" - адрес для запросов к API. Меняется в "Глобальные настройки" → "Рабочий процесс";
  • ссылка на Swagger - описание API Core, см. API Core.

API-токен

Токен нужен для запросов к API Core из скриптов и CI. Свойства:

  • один токен на пользователя, создаётся при первом запросе;
  • срока действия нет: токен работает до ротации, отключения или удаления пользователя;
  • запросы с токеном выполняются с правами и областью видимости ролей пользователя.

Права на токен - право роли "API токен": "Просмотр" - видеть и получать свой токен, "Изменение" - ротировать. У роли default это право "Нет".

Как получить

В интерфейсе: "Глобальные настройки" → "Профиль" → "Токен аутентификации API".

Через API в открытой сессии браузера: GET /api/v1/profile/auth-token/ возвращает {"token": "<токен>"}.

Как передавать

Токен передают в заголовке Authorization со словом Token:

curl -H "Authorization: Token <токен>" "https://core.example.ru/api/v1/profile/"

Схема Bearer не поддерживается: JWT сессии браузера Core принимает только из cookie.

Ротация

Кнопка "Ротировать" выпускает новый токен. Старый перестаёт приниматься сразу. Через API: GET /api/v1/profile/auth-token/rotate/.

Ротация и отчёты Radar

Этот же токен Core передаёт в Radar для доставки отчётов по аудитам, которые запустил пользователь. Пайплайны, запущенные до ротации, не смогут отправить отчёты: Core ответит 401, джобы завершатся с ошибкой. Ротируйте токен, когда нет запущенных аудитов.

Если у пользователя ещё нет токена, Core создаёт его при первом запуске аудита.

Служебная учётная запись для CI

Для CI и интеграций заведите отдельного пользователя с отдельной ролью. Минимальные права по задачам:

Право Уровень Зачем
"Уязвимости" "Изменение" загрузка отчётов POST /api/v1/scan/import/; этим же токеном Radar доставляет отчёты
"Продукты" "Просмотр" поиск ассетов и аудитов
"Radar" "Изменение" запуск аудита, нужен Security checker
"API токен" "Просмотр" получить токен в интерфейсе

В области видимости роли укажите только продукты, с которыми работает CI. Шаблоны джоб: Загрузка отчётов из CI.

Сессия в браузере

После входа Core выдаёт JWT в cookie: access живёт 15 минут, refresh - 1 сутки и обновляется при каждом продлении. "Выйти" отзывает refresh. Cookie получают флаг Secure, когда параметр установки DOMAIN задан со схемой https.

Ошибки входа и доступа

Ответ Причина Что сделать
403 "Invalid username/password." неверные логин или пароль, учётная запись отключена проверьте данные и флажок "Активный"
403 "You can't login with password" у пользователя метод "SSO" войдите через SSO или смените метод
403 "Authentication credentials were not provided." пустые поля формы заполните логин и пароль
401 "Invalid token." токен неверный или ротирован получите текущий токен в профиле
401 "User inactive or deleted." учётная запись отключена включите флажок "Активный"
403 "You do not have permission to perform this action." ни одна роль не даёт нужного уровня права проверьте роли: Роли и права
419 NO_LICENSE в Core нет действующей лицензии Активация лицензии в Core