Главная Документация Описание API АСК Легарус Руководство администратора

Поиск

Релиз

Содержание

Нужна помощь?

Не нашли ответ на свой вопрос? Свяжитесь с нашей службой поддержки.

Обратиться в поддержку

Руководство администратора

Обновлено: 07 Декабрь 2025 Версия: 2.2

Требования для работы API

Для работы API необходимо:

  1. Установленные зависимости -- все необходимые библиотеки должны быть установлены (устанавливаются автоматически при развертывании)
  2. Настроенная база данных -- должна быть создана и настроена база данных PostgreSQL
  3. Настроенный кэш -- должен быть настроен Redis для кэширования
  4. Примененные миграции -- все миграции базы данных должны быть применены
  5. Созданные пользователи -- в системе должны быть созданы пользователи, для которых будут создаваться токены

Создание токенов API

Токены API создаются и управляются только администраторами системы (пользователями с правами суперпользователя) через административную панель Django.

Создание нового токена

  1. Войдите в административную панель системы
  2. Перейдите в раздел "API Tokens" (API Токены)
  3. Нажмите кнопку "Add API Token" (Добавить API токен)
  4. Заполните форму:
  5. Name (Название) -- понятное название токена, например "Токен для интеграции с 1С"
  6. User (Пользователь) -- выберите пользователя, от имени которого будут выполняться запросы
  7. Expires at (Истекает) -- опционально, укажите дату истечения токена
  8. Is active (Активен) -- установите галочку, чтобы токен был активен
  9. Model Permissions (Права на модели) — выберите HTTP методы для каждой модели через удобный интерфейс с таблицей
  10. Нажмите "Save" (Сохранить)
  11. Важно! После сохранения система покажет сгенерированный токен. Обязательно скопируйте его и сохраните в безопасном месте -- токен больше не будет показан!

Интерфейс выбора прав доступа

В форме создания токена доступен удобный интерфейс для настройки прав доступа:

  • Таблица моделей и методов — отображается таблица со всеми моделями, доступными в API
  • Чекбоксы для методов — для каждой модели можно выбрать разрешенные HTTP методы:
  • GET — просмотр данных
  • POST — создание новых записей
  • PUT — полное обновление записи
  • PATCH — частичное обновление записи
  • DELETE — удаление записей
  • Автоматическое заполнение — при выборе методов для модели, она автоматически добавляется в список разрешенных моделей (allowed_models)
  • Группировка по приложениям — модели сгруппированы по приложениям системы для удобства навигации

Как работает выбор прав

  1. В таблице "Model Permissions" отображаются все модели, которые доступны в API
  2. Для каждой модели можно выбрать один или несколько HTTP методов, установив соответствующие галочки
  3. Если для модели выбраны методы, она автоматически добавляется в список разрешенных моделей
  4. Если для модели не выбраны методы, но она есть в списке разрешенных моделей, разрешаются все методы
  5. Если для модели не выбраны методы и её нет в списке разрешенных, доступ к этой модели запрещен

Настройка прав доступа для токена

Выбор доступных моделей и методов

В форме создания токена доступна таблица "Model Permissions", которая позволяет визуально выбрать права доступа для каждой модели:

  • Таблица моделей — показывает все модели, доступные в API, сгруппированные по приложениям
  • Чекбоксы методов — для каждой модели можно выбрать разрешенные HTTP методы через удобный интерфейс
  • Автоматическое управление — при выборе методов для модели, она автоматически добавляется в список разрешенных моделей
Формат хранения прав

Права хранятся в формате JSON в поле model_permissions:

{
  "tasks.task": ["GET", "POST"],
  "servicedesk.request": ["GET"],
  "crm.deal": ["GET", "POST", "PUT", "PATCH"]
}

Где:

  • Ключ -- это название модели в формате приложение.модель
  • Значение -- массив разрешенных методов: GET, POST, PUT, PATCH, DELETE

Если для модели не указаны права в этом поле, но модель выбрана в "Allowed Models", то разрешаются все методы.

Примеры:

  1. Только чтение для всех разделов:

json { "tasks.task": ["GET"], "servicedesk.request": ["GET"], "crm.deal": ["GET"] }

  1. Полный доступ к задачам, только чтение к заявкам:

json { "tasks.task": ["GET", "POST", "PUT", "PATCH", "DELETE"], "servicedesk.request": ["GET"] }

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

json {}

(при условии, что модель выбрана в "Allowed Models")

Управление существующими токенами

Просмотр токенов

В списке токенов отображается:

  • Название токена
  • Пользователь, к которому привязан токен
  • Статус активности
  • Дата создания
  • Дата истечения
  • Дата последнего использования
Редактирование токена

Можно изменить:

  • Название
  • Пользователя
  • Дату истечения
  • Статус активности
  • Разрешенные модели
  • Права на методы

Важно: Сам токен изменить нельзя. Если токен был скомпрометирован, нужно создать новый токен и удалить старый.

Деактивация токена

Чтобы временно отключить токен без его удаления:

  1. Откройте токен для редактирования
  2. Снимите галочку "Is active"
  3. Сохраните

Деактивированный токен не будет работать, но его можно снова активировать позже.

Удаление токена

Для полного удаления токена:

  1. Выберите токен в списке
  2. Нажмите "Delete" (Удалить)
  3. Подтвердите удаление

Внимание: Удаление токена необратимо. Все приложения, использующие этот токен, перестанут работать.

Мониторинг использования токенов

В списке токенов отображается дата последнего использования. Это позволяет:

  • Определить, какие токены активно используются
  • Найти неиспользуемые токены для удаления
  • Выявить подозрительную активность

Настройка ограничений частоты запросов

Ограничения частоты запросов настраиваются в файле настроек системы (config/settings.py). По умолчанию:

  • Аутентифицированные пользователи: 1000 запросов в час
  • Неаутентифицированные пользователи: 100 запросов в час

Для изменения этих значений обратитесь к разработчикам системы.

Безопасность

Рекомендации по безопасности

  1. Храните токены в безопасности -- токены должны храниться в защищенном месте, не передавайте их по незащищенным каналам связи
  2. Используйте минимальные права -- создавайте токены с минимально необходимыми правами доступа
  3. Устанавливайте срок действия -- для временных интеграций устанавливайте дату истечения токена
  4. Регулярно проверяйте токены -- периодически проверяйте список токенов и удаляйте неиспользуемые
  5. Мониторьте использование -- следите за датами последнего использования токенов
  6. Используйте HTTPS -- все запросы к API должны выполняться по защищенному протоколу HTTPS
  7. Ротация токенов -- периодически создавайте новые токены и удаляйте старые

Что делать при компрометации токена

Если токен был скомпрометирован (попал в чужие руки):

  1. Немедленно деактивируйте токен в административной панели
  2. Создайте новый токен с теми же правами
  3. Обновите токен во всех приложениях, которые его используют
  4. Удалите старый токен после обновления всех приложений

Резервное копирование

Токены API хранятся в базе данных и включаются в стандартное резервное копирование базы данных. Однако сами токены не нужно резервировать отдельно -- при необходимости их можно пересоздать.

Логирование и аудит

Все операции через API логируются в стандартный журнал аудита системы. В журнале фиксируется:

  • Кто выполнил операцию (пользователь, связанный с токеном)
  • Какая операция была выполнена
  • Когда была выполнена операция
  • Какие данные были изменены

Журнал аудита доступен администраторам системы через административную панель.