Правила доступа (ACL)
В этом разделе вы узнаете, как создавать и управлять правилами доступа (ACL) в IDENTYX. Правила ACL связывают пользователей или группы с объектами и действиями, определяя, кто и что может делать в системе и приложениях. Вы научитесь работать с разрешениями и запретами, использовать распространение прав на дочерние объекты и создавать гибкие правила доступа.
Что такое правило ACL
ACL (Access Control List) — это правило доступа, которое определяет, какие действия разрешены или запрещены для определённых субъектов (пользователей или групп) над определёнными объектами.
Одно правило ACL может включать:
- Субъект — пользователь или группа, для которых создаётся правило
- Объекты — один или несколько объектов безопасности, к которым применяется правило
- Действия — одно или несколько действий, которые разрешаются или запрещаются
- Тип правила — разрешение (allow) или запрет (deny) для каждого действия
- Распространение — флаг, указывающий, применяется ли правило к дочерним объектам
Одно правило ACL может содержать несколько объектов и несколько действий одновременно. Это позволяет создавать компактные и понятные наборы прав.
Где управлять правилами ACL
Правила доступа можно назначать двумя способами:
Из карточки пользователя или группы
- Перейдите в раздел Локальные пользователи или Локальные группы
- Откройте карточку нужного пользователя или группы
- Перейдите на вкладку Правила доступа
- Здесь отображаются все правила для выбранного субъекта
Это основной и наиболее удобный способ управления правами. Вы видите все правила конкретного пользователя или группы в одном месте.
Итоговые разрешения
Кроме вкладки "Правила доступа" в карточке пользователя или группы есть вкладка "Итоговые разрешения". На ней отображаются:
- Все права с учётом прямых правил пользователя
- Права, полученные через членство в группах (для пользователей)
- Права специальной группы "Все"
- Итоговый результат с учётом приоритета deny над allow
- Источник каждого права (прямое или от группы)
- "Правила доступа" — показывает только прямые правила, назначенные конкретно этому пользователю или группе. Здесь вы можете их создавать и редактировать.
- "Итоговые разрешения" — показывает итоговые вычисленные права с учётом всех источников. Это readonly-представление для анализа прав.
Создание правила доступа
Пошаговая инструкция
- Откройте карточку пользователя или группы, для которых создаётся правило
- Перейдите на вкладку Правила доступа
- Нажмите кнопку Добавить правило
- Откроется окно редактирования правила с двумя колонками: Объекты (слева) и Действия (справа)
Выбор объектов
В левой колонке отображается дерево всех доступных объектов безопасности. Для каждого объекта доступен чекбокс с тремя состояниями:
Объект не выбран. Правило не применяется к этому объекту.
Только этот объект
Правило применяется только к выбранному объекту, но не к его дочерним объектам.
Этот и все дочерние объекты
Правило применяется к выбранному объекту и автоматически распространяется на все его дочерние объекты любой глубины вложенности.
Для переключения состояний: Кликайте по чекбоксу объекта. Состояния меняются циклически: пусто → галочка → звёздочка → пусто.
Вы можете выбрать несколько объектов в одном правиле. Например, можно дать доступ одновременно к /menu/support и /menu/helpdesk.
Выбор действий
В правой колонке отображается дерево всех доступных действий. Для каждого действия доступен чекбокс с тремя состояниями:
Действие не выбрано. Правило не применяется к этому действию.
Allow-правило
Действие разрешено для выбранных объектов.
Deny-правило
Действие запрещено для выбранных объектов, даже если есть разрешающие права из других источников.
Для переключения состояний: Кликайте по чекбоксу действия. Состояния меняются циклически: пусто → разрешено → запрещено → пусто.
Для специальной группы "Все" доступны только разрешающие права (allow). Запрещающие права (deny) для этой группы заблокированы, чтобы избежать случайной блокировки всей системы.
Сохранение правила
- После выбора объектов и действий нажмите кнопку Сохранить
- Система проверит, что выбран хотя бы один объект и хотя бы одно действие
- Правило будет сохранено и отобразится в списке правил доступа
Правила доступа применяются немедленно. Пользователь получит или потеряет доступ сразу после сохранения правила (может потребоваться обновить страницу в браузере).
Разрешения (Allow) и запреты (Deny)
Allow-правила (Разрешения)
Allow-правила предоставляют доступ к ресурсам. Это основной тип правил, который используется для назначения прав.
Примеры разрешающих правил:
/menu/support/*:/menu/allow:allow— разрешён доступ к разделу поддержки и всем подразделам/helpdesk/tickets:/helpdesk/view:allow— разрешён просмотр заявок/settings/users:/settings/edit:allow— разрешено редактирование пользователей в настройках
В большинстве случаев вы будете использовать именно allow-правила. Запреты нужны только для создания исключений.
Deny-правила (Запреты)
Deny-правила явно запрещают доступ к ресурсам. Они используются для создания исключений и ограничений.
Примеры запрещающих правил:
/menu/admin:/menu/allow:deny— запрещён доступ к разделу администрирования/helpdesk/tickets:/helpdesk/delete:deny— запрещено удаление заявок/settings/*:/settings/edit:deny— запрещено редактирование всех настроек
Приоритет Deny над Allow
Самое важное правило системы прав IDENTYX:
Права запрета (deny) ВСЕГДА имеют абсолютный приоритет над правами разрешения (allow)
Если для пользователя найдено хотя бы одно deny-право, доступ будет заблокирован, независимо от всех allow-прав из любых источников (прямых, групповых, wildcard).
Примеры использования Deny
Ситуация:
- Группе "Менеджеры" разрешён доступ:
/menu/support/*:/menu/allow:allow - Пользователь Иван входит в группу "Менеджеры"
- Нужно запретить Ивану доступ к тикетам, но оставить доступ к остальным подразделам поддержки
Решение:
Создать для пользователя Иван личное deny-правило: /menu/support/tickets:/menu/allow:deny
Результат:
Иван не сможет получить доступ к разделу тикетов, несмотря на групповое allow-право. Доступ к остальным подразделам поддержки сохранится.
Ситуация:
- Группе "Редакторы" разрешены все действия:
/helpdesk/*:/helpdesk/*:allow - Нужно запретить удаление заявок всем редакторам
Решение:
Создать для группы "Редакторы" дополнительное deny-правило: /helpdesk/tickets:/helpdesk/delete:deny
Результат:
Редакторы смогут просматривать, создавать и редактировать заявки, но не смогут их удалять.
Ситуация:
- Пользователю Мария даны широкие права через группу
- На время отпуска нужно временно ограничить доступ к критичным разделам
Решение:
Создать временное личное deny-правило для Марии: /settings/*:/settings/allow:deny
Результат:
Мария потеряет доступ к настройкам. После отпуска это правило можно удалить, и доступ восстановится автоматически через групповые права.
Распространение на дочерние объекты
Что такое распространение
При выборе объекта со звёздочкой (синий чекбокс) правило автоматически применяется не только к выбранному объекту, но и ко всем его дочерним объектам любой глубины вложенности.
Внутри системы это реализуется через wildcard-символ /*. Например:
- Выбор
/menu/supportсо звёздочкой →/menu/support/* - Выбор
/helpdeskсо звёздочкой →/helpdesk/*
Преимущества распространения
- Автоматическое покрытие — не нужно создавать отдельное правило для каждого подобъекта
- Масштабируемость — новые дочерние объекты автоматически попадут под действие правила
- Простота управления — одно правило вместо десятков отдельных
- Прозрачность — легко понять, что доступ дан на весь раздел
Примеры распространения
| Правило | Что включается | Что не включается |
|---|---|---|
/menu/support/* |
|
|
/helpdesk/tickets (без звёздочки) |
|
|
/* (корень со звёздочкой) |
|
Нет исключений |
Распространение с Deny
Распространение работает и для deny-правил. Это позволяет создавать широкие ограничения:
/settings/*:/settings/delete:deny— запрещено удаление во всех разделах настроек/admin/*:/menu/allow:deny— запрещён доступ ко всем административным разделам
Будьте внимательны при использовании deny-правил с распространением. Такое правило заблокирует доступ ко всем дочерним объектам, и отменить его можно будет только удалением самого deny-правила.
Множественные объекты и действия
Несколько объектов в одном правиле
Одно правило ACL может включать несколько объектов одновременно. Это полезно, когда нужно дать одинаковые права на разные разделы.
Пример:
- Выбрать объекты:
/menu/supportи/menu/helpdesk - Выбрать действие:
/menu/allow(разрешено) - Результат: доступ одновременно к разделам поддержки и helpdesk
Несколько действий в одном правиле
Одно правило ACL может включать несколько действий, каждое со своим типом (allow или deny).
Пример:
- Выбрать объект:
/helpdesk/tickets - Выбрать действия:
/helpdesk/view(разрешено)/helpdesk/edit(разрешено)/helpdesk/delete(запрещено)
- Результат: можно просматривать и редактировать заявки, но нельзя их удалять
Комбинации объектов и действий
Система автоматически создаёт все комбинации выбранных объектов и действий. Например:
- Объекты:
/menu/support,/menu/helpdesk - Действия:
/menu/allow(разрешено),/menu/admin(запрещено)
Результирующие права:
/menu/support:/menu/allow:allow/menu/support:/menu/admin:deny/menu/helpdesk:/menu/allow:allow/menu/helpdesk:/menu/admin:deny
Вместо создания нескольких отдельных правил вы можете создать одно комплексное правило с несколькими объектами и действиями. Это упрощает управление и делает список правил более компактным.
Просмотр правил доступа
Список правил
На вкладке "Правила доступа" в карточке пользователя или группы отображается таблица со всеми правилами. Для каждого правила показывается:
- Объекты — список объектов, к которым применяется правило
- Понятное название объекта
- Метка "+ наследование", если включено распространение на дочерние объекты
- Предупреждение "Объект удален" для несуществующих объектов
- Действия — список действий с указанием типа
- Понятное название действия
- Зелёная надпись "Разрешено" для allow-правил
- Красная надпись "Запрещено" для deny-правил
- Предупреждение "Действие удалено" для несуществующих действий
Порядок правил
Правила отображаются в том порядке, в котором они были созданы. Порядок не влияет на приоритет применения — система всегда автоматически учитывает:
- Приоритет deny над allow
- Иерархию объектов (от конкретного к общему)
- Wildcard-правила
В отличие от некоторых других систем контроля доступа, в IDENTYX порядок правил не имеет значения. Система всегда применяет правила согласно встроенной логике приоритетов.
Редактирование правил
Изменение правила
Чтобы изменить существующее правило:
- В списке правил кликните по строке с нужным правилом
- Откроется окно редактирования с текущими настройками правила
- Измените выбор объектов или действий
- Измените типы действий (allow/deny)
- Нажмите Сохранить
При редактировании правила нельзя изменить пользователя или группу, для которых оно создано. Если нужно перенести правило на другого субъекта, создайте новое правило и удалите старое.
Удаление правила
Чтобы удалить правило:
- Кликните по строке с правилом, чтобы открыть окно редактирования
- Нажмите кнопку Удалить в нижней части окна
- Правило будет немедленно удалено
При удалении правила доступа не удаляются объекты и действия безопасности — удаляется только связь между субъектом и правами.
Лучшие практики
Используйте групповые права
- Назначайте права группам, а не отдельным пользователям
- Добавляйте пользователей в группы для получения прав
- Используйте личные права пользователям только для исключений
- Создавайте группы по ролям (например, "Менеджеры", "Операторы", "Читатели")
Используйте распространение
- Предпочитайте распространение вместо множества мелких правил
- Создавайте права на родительские объекты с флагом распространения
- Используйте deny-права для точечных исключений из широких allow-правил
Минимизируйте использование Deny
- Deny только для исключений — не злоупотребляйте запретами
- Основная логика должна быть построена на allow-правилах
- Deny используйте для создания исключений из групповых прав
- Документируйте причину каждого deny-правила
Создавайте понятную структуру
- Группируйте права — создавайте комплексные правила с несколькими объектами/действиями
- Не создавайте отдельное правило для каждой мелкой операции
- Используйте понятные имена для объектов и действий
- Регулярно проверяйте и очищайте неиспользуемые правила
Тестируйте права
- Используйте "Итоговые разрешения" для проверки результата
- После назначения прав попросите пользователя проверить доступ
- Создайте тестового пользователя для проверки новых правил
- Проверяйте, что deny-права не блокируют больше, чем нужно
Документируйте правила
- Ведите документацию по назначенным правам для критичных групп
- Объясняйте назначение deny-правил при их создании
- Уведомляйте пользователей об изменении их прав
Типичные сценарии
Сценарий 1: Назначение прав по ролям
Задача: Создать три роли для приложения HelpDesk: Читатель, Оператор, Администратор.
Решение:
- Создать группы: "HelpDesk Читатели", "HelpDesk Операторы", "HelpDesk Администраторы"
- Для группы "HelpDesk Читатели" создать правило:
- Объект:
/helpdesk/*(со звёздочкой) - Действие:
/helpdesk/view:allow
- Объект:
- Для группы "HelpDesk Операторы" создать правило:
- Объект:
/helpdesk/*(со звёздочкой) - Действия:
/helpdesk/view:allow,/helpdesk/edit:allow,/helpdesk/create:allow
- Объект:
- Для группы "HelpDesk Администраторы" создать правило:
- Объект:
/helpdesk/*(со звёздочкой) - Действие:
/helpdesk/*:allow(все действия)
- Объект:
Сценарий 2: Исключение пользователя из групповых прав
Задача: Группе "Менеджеры" дан доступ ко всем разделам поддержки, но конкретному пользователю Иван нужно запретить доступ к финансовым отчётам.
Решение:
- Групповое правило уже существует:
- Группа: "Менеджеры"
- Объект:
/menu/support/* - Действие:
/menu/allow:allow
- Открыть карточку пользователя Иван
- Создать личное deny-правило:
- Объект:
/menu/support/finance-reports - Действие:
/menu/allow:deny
- Объект:
Результат: Иван не сможет получить доступ к финансовым отчётам, но сохранит доступ ко всем остальным разделам поддержки.
Сценарий 3: Временное ограничение прав
Задача: На время аудита ограничить возможность удаления данных для всех операторов.
Решение:
- Открыть карточку группы "Операторы"
- Создать дополнительное deny-правило:
- Объект:
/*(со звёздочкой, на всё) - Действие:
/helpdesk/delete:deny
- Объект:
- После завершения аудита удалить это deny-правило
Результат: Операторы временно потеряют возможность удаления, но сохранят все остальные права. После удаления deny-правила права автоматически восстановятся.
Решение проблем
Пользователь не видит раздел, хотя есть allow-право
Возможные причины:
- Есть deny-право — проверьте вкладку "Итоговые разрешения", возможно, есть deny-право из другого источника
- Неправильный объект или действие — убедитесь, что указан правильный путь к объекту и действию
- Отсутствует распространение — если нужен доступ к дочернему объекту, включите флаг распространения
- Не обновлена страница — попросите пользователя обновить страницу в браузере (F5)
Пользователь видит раздел, хотя не должен
Возможные причины:
- Групповые права — проверьте, в какие группы входит пользователь, возможно, право приходит от группы
- Группа "Все" — проверьте права специальной группы "Все"
- Wildcard-право — возможно, есть широкое право с распространением на родительском объекте
Deny-право не работает
Проверьте:
- Правильность пути — убедитесь, что путь объекта и действия указан точно
- Применено ли правило — проверьте, что правило сохранено и отображается в списке
- Не используется ли другой путь — возможно, приложение проверяет другой путь для доступа
Для диагностики проблем с правами всегда используйте вкладку "Итоговые разрешения" в карточке пользователя. Там показаны все вычисленные права с указанием источников.
Ограничения для локальных администраторов
Если у вас права локального администратора (а не суперадминистратора), то при создании правил вы увидите ограничения:
- Недоступные объекты — вы не сможете выбрать объекты, на которые у вас нет прав администрирования
- Недоступные действия — вы не сможете выбрать действия, которыми сами не обладаете
- Сообщение в интерфейсе — при попытке редактирования чужого правила появится предупреждение "У вас не хватает прав для редактирования этого правила"
Локальный администратор не может выдать права, которыми сам не обладает. Это предотвращает повышение привилегий и обеспечивает безопасность системы.
Связанные разделы
- Обзор системы прав доступа — общие концепции RBAC в IDENTYX
- Объекты и действия — создание и управление объектами и действиями безопасности
- Предустановленные роли — использование готовых ролей системы
- Ограниченное администрирование — настройка локальных администраторов
- Проверка и управление правами — просмотр итоговых разрешений
- Локальные группы — создание групп для назначения прав
Переходите к разделу Предустановленные роли, чтобы узнать о готовых ролях в системе IDENTYX и как их использовать.