Перейти к основному содержимому

Доступ и разрешения

Как управлять пользователями, группами и обеспечивать безопасность приложения.

Введение​

Безопасность — один из основополагающих столпов любого приложения. Будь то простое внутреннее приложение или сложная система с тысячами внешних пользователей через API.

Netuno изначально предлагает надёжную систему контроля доступа и разрешений, предоставляя необходимые инструменты для централизованного и эффективного управления безопасностью. Это устраняет необходимость разрабатывать такие функции с нуля.

Среди основных механизмов безопасности выделяются:

  • Управление пользователями и группами.
  • Контроль разрешений на данные и управление данными.
  • Подробная история попыток аутентификации.
  • Автоматическая блокировка по IP после последовательных неудачных попыток доступа.
  • Встроенная аутентификация с LDAP, Google, GitHub, Discord и др.
  • Модуль JWT-аутентификации для фронтенда.
  • И другие возможности...

Управление пользователями​

Речь идёт об администрировании отдельных учётных записей, которые получают доступ к платформе. Каждый пользователь, сервис или интеграция, которым нужно войти в систему, должны иметь уникальную учётную запись пользователя.

В разделе управления пользователями Netuno вы полностью контролируете жизненный цикл этих учётных записей:

  • Создание: регистрация новых членов команды или клиентов.
  • Сопровождение: обновление адресов электронной почты, изменение паролей и регистрационных данных.
  • Контроль доступа: быстрая блокировка учётных записей (деактивация) без необходимости удаления исторических данных.
Визуальное руководство

Для получения подробной информации об управлении пользователями см. Руководство по интерфейсу: Пользователи и группы

Управление группами​

Правила авторизации определяются с помощью групп, которые устанавливают, к каким меню, формам, сервисам и данным каждый пользователь имеет право доступа или может их изменять. Вместо индивидуальной настройки разрешений лучше определить правила в группе, а затем связать с ней пользователей. Этот подход гарантирует:

  • Масштабируемость: лёгкость управления сотнями пользователей.
  • Безопасность: меньший риск случайного предоставления ненадлежащего доступа.
  • Организация: чёткое разделение между администраторами, менеджерами, супервизорами и обычными пользователями.

Netuno уже включает нативные группы, такие как dev и admin, и предоставляет полную свободу для создания пользовательских групп, соответствующих бизнес-правилам вашего приложения.

Визуальное руководство

Для получения подробной информации об управлении группами см. Руководство по интерфейсу: Пользователи и группы

Управление разрешениями на данные​

Чтобы обеспечить функциональность группы или разрешения пользователя, важно определить, какие данные ему разрешено обрабатывать. В Netuno контроль доступа детализирован и применяется непосредственно к формам (таблицам) вашего приложения.

Система использует матрицу разрешений, которая позволяет определить для каждой функции, имеет ли конкретная группа соответствующее разрешение на:

  • Чтение: только просмотр записей.
  • Запись: вставка и редактирование записей в базе данных.
  • Удаление: безвозвратное удаление записей.

Эта гибкость обеспечивает защиту конфиденциальных данных, так как каждый сотрудник имеет доступ только к информации, необходимой для выполнения его задач.

Визуальное руководство

Для получения подробной информации о настройке разрешений на данные см. Руководство по интерфейсу: Пользователи и группы

История аутентификации​

Для обеспечения прозрачности и контроля все попытки доступа (успешные или неудачные) регистрируются и могут быть просмотрены в Истории аутентификации.

Система подробно отслеживает и сохраняет информацию о каждой попытке входа пользователя:

  • IP-адрес источника: сетевой адрес, с которого пришёл запрос.
  • Время: точный момент действия.
  • Доступ: был ли доступ разрешён, отклонён или заблокирован.

Обозначение значков доступа​

🟩 Замок/check_mark зелёного цвета: означает успех. Пользователь ввёл правильные учётные данные, и вход был разрешён. Также означает, что IP-адрес источника разблокирован.

🟧 Значок с «X» оранжевого цвета: указывает количество неудачных попыток.

🟥 Замок красного цвета: означает блокировку IP-адреса источника.

Автоматическая блокировка​

Netuno имеет активную систему безопасности, предназначенную для защиты вашего приложения от атак и несанкционированного доступа.

Когда обнаруживается подозрительная активность, например несколько последовательных попыток неверного входа, система автоматически блокирует IP-адрес источника.

После блокировки IP не сможет выполнять новые запросы в течение определённого периода или до тех пор, пока блокировка не будет снята вручную.

Настройка правил блокировки​

Это правило определяется в файлах конфигурации среды вашего приложения «development.json» или «production.json».

1. Найдите файл конфигурации​

В корне вашего проекта перейдите в папку config. Откройте файл, соответствующий среде, которую вы хотите защитить:

  • Для разработки: _development.json

  • Для продакшена: _production.json

2. Вставьте код защиты​

В JSON-файле найдите раздел auth. Если его нет, добавьте блок attempts как в примере ниже:

{
...
"auth": {
"attempts": {
"interval": 60,
"maxFails": 3
}
}
}

3. Понимание параметров​

  • interval: временное окно в минутах (например: 60 минут = 1 час).

  • maxFails: максимальное число неудач, разрешённых в этом интервале до блокировки.

4. Поведение системы​

  • После автоматической блокировки пользователь лишается возможности доступа к приложению.

  • По умолчанию система настроена на три неудачные попытки с блокировкой на один час. После этого периода попытки снова разрешаются.

  • Этот процесс можно настроить в соответствии с потребностями вашего приложения.

Разблокировка через интерфейс​

Только пользователь с разрешением «Администратор» может разблокировать доступ напрямую через бэк-офис, не обращаясь к базе данных.

  1. Откройте меню приложения в режиме «Просмотр» и нажмите на раздел «Конфигурация > Пользователи». Раздел настройки пользователя

  2. В поле «Редактировать существующего пользователя» выберите нужного пользователя. Выбор существующего пользователя

  3. В разделе «История аутентификации» проверьте, отображается ли в статусе «Доступ» значок «Замок» зелёного цвета; Раздел истории аутентификации

  4. Нажмите на значок Часы, чтобы просмотреть полный список доступов пользователя. История аутентификации

  5. Нажмите на зелёный замок в столбце «Доступ», чтобы разблокировать пользователя. После этого действия отображается сообщение об успехе.

Разблокировка выполняется сразу, позволяя пользователю снова попытаться войти.

Интегрированная аутентификация​

Ваше приложение может требовать более сложных методов входа, особенно если вы создаёте мобильное приложение или интегрируетесь с корпоративной сетью.

Netuno спроектирован так, чтобы быть гибким и интегрироваться с экосистемой вашей организации. Помимо стандартного входа (пользователь и пароль), платформа поддерживает различные рыночные протоколы аутентификации.

Это позволяет реализовать стратегии Single Sign-On (единого входа), при которых пользователи получают доступ к системе с помощью уже имеющихся учётных данных, централизуя управление доступами.

Корпоративные среды: совместимость с каталогами пользователей (например, LDAP и Active Directory), идеально подходит для интранета и внутренних систем.

Социальный вход (OAuth): возможность интеграции с такими провайдерами, как Google, Microsoft, GitHub и другими, что упрощает регистрацию и доступ в публичных приложениях.

Аутентификация по токену (JWT)​

В проектах с выделенным фронтендом (например, сайты на React, Vue.js или мобильные приложения) традиционный экран входа Netuno не используется. В таких сценариях применяется стандарт JWT (JSON Web Token).

Netuno предоставляет нативный сервис, который автоматически генерирует и проверяет эти токены, обеспечивая безопасность и эффективность взаимодействия через API.

Визуальное руководство

Для получения дополнительной информации о том, как реализовать и настроить JWT в файлах конфигурации, см. Руководство по JWT-аутентификации

Заключение​

Освоение функций безопасности Netuno имеет основополагающее значение для успеха вашего проекта. Правильно используя инструменты управления пользователями, группами и мониторинга истории, вы создаёте среду, которая сочетает защиту данных с удобством использования.

Таким образом, вы гарантируете, что ваша система на Netuno будет:

  • Безопасной: защита конфиденциальной информации от несанкционированного доступа.

  • Организованной: установление чётких иерархий и обязанностей.

  • Масштабируемой: готовой к росту вместе с современными интеграциями.

Соблюдайте лучшие практики: периодически пересматривайте разрешения групп и проверяйте историю доступов, чтобы поддерживать вашу среду в хорошем состоянии.