Документация Corta
-
Аутентификация
-
Аутентификация внешних приложений
-
Аутентификация с использованием Corta
-
Модель безопасности
-
Управление приложениями
-
Настройка No Code
-
Макеты страниц
-
Версионность изменений
-
Настройка хранения записей
-
Открытие записей во всплывающих окнах
-
Импорт и экспорт приложений
-
Обнаружение дубликатов
-
Справочник типов полей
-
Справочник по блокам страницы
-
Доступ к системе Corta
-
Подключения к базам данных (DAL)
-
Управление подключениями
-
Конфиденциальность данных
-
Автоматизация
-
Детали выполнения автоматизации
Модель безопасности (RBAC)
RBAC: Контроль доступа на платформе Corta
Corta реализует механизм контроля доступа RBAC (Role-Based Access Control). Эта система использует роли пользователя для определения, имеет ли он доступ к определенному ресурсу.
Большинство ресурсов на платформе Corta позволяют вам настроить, какие роли получат доступ к данному ресурсу. Чтобы управлять доступом, найдите кнопку (Разрешения) в пользовательском интерфейсе. Она позволяет гибко настраивать доступ для каждой роли.
RBAC обеспечивает безопасное и эффективное администрирование прав доступа, соответствующее вашим требованиям.

Система RBAC на платформе Corta использует "плоский дизайн", что означает отсутствие иерархии ролей (роли не могут явно задавать отношения "родитель/потомок").
Механизм контекстного членства в ролях позволяет динамически назначать пользователям роли на основе заданных правил.
Хотя управление доступом к конкретным записям поддерживается, управление доступом к отдельным полям этих записей не предусмотрено.
Вы можете обойти это ограничение, используя контекстное членство в ролях и правила для полей модуля.
Поток оценки доступа
Когда система оценивает доступ, она собирает все роли пользователя и правила RBAC (Role-Based Access Control) в рамках контекста безопасности. Порядок оценки правил определяется важностью роли и специфичностью ресурса.
Если пользователь является членом роли с правами обхода (bypass role), все операции разрешены без каких-либо ограничений.
Оценки доступа:
-
Явный запрет (Explicit Deny):
- Если хотя бы одно правило определяет явный запрет, оценка завершается с результатом запрет (deny).
Явное разрешение (Explicit Allow):
- Если хотя бы одно правило определяет явное разрешение, оценка завершается с результатом разрешение (allow).
Отсутствие явных правил:
- Если на текущем уровне нет явных правил разрешения или запрета, оценка продолжается на следующем уровне правил, основываясь на важности роли.
Отсутствие правил:
- Если в процессе оценки не найдено ни одного явного правила разрешения или запрета, результат оценки — запрет (deny).
Специфичность ресурса (Resource Specificity)
Специфичность ресурса определяет порядок, в котором правила для соответствующих ресурсов оцениваются. Она зависит от того, насколько конкретно правило относится к данному ресурсу.
Пример: Правило, разрешающее пользователям создавать записи в модуле "Аккаунт" в пространстве имен "CRM", является более специфичным, чем правило, которое относится только к пространству имен "CRM".
Такая специфичность позволяет запретить доступ ко всем ресурсам определенного типа, за исключением одного. Например, можно запретить доступ ко всем пространствам имен, но разрешить доступ только к одному конкретному пространству имен.
Типы ролей на платформе Corta
Системные роли
Список ролей bypass, authenticated и anonymous задается в конфигурации системы и не может быть изменен во время выполнения. Подробнее о настройке этих ролей можно узнать в DevOps-руководстве.
Эти роли нельзя модифицировать или переименовывать. Если вам нужно изменить роли, вы можете:
- временно изменить список ролей, отредактировать их и затем вернуть изменения обратно;
- изменить скрипты настройки, чтобы задать нужные имена при первом запуске Corta.
Bypass (Пропуск проверки)
Роли типа bypass предоставляют их участникам неограниченный доступ к Corta без проверки разрешений.
По умолчанию в Corta определена роль Super administrator как роль типа bypass.
Common Roles (Общие роли)
Общие роли — это любые дополнительные роли, которые можно определить через административную панель, например, CRM администратор или создатель приложений.
Contextual Roles (Контекстные роли)
Контекстные роли нельзя использовать в клиентах авторизации, а также они не могут иметь явный список участников. Эти роли назначаются пользователям динамически, в зависимости от выполняемой операции и контекста.
Контекстные роли определяют набор выражений, которые задают условия, при которых роль назначается пользователю. Каждая роль может задавать выражение для каждого типа ресурса, но только один раз для каждого типа ресурса.
Контекстные роли скрыты на экранах управления разрешениями ресурса, если для этого ресурса не задано выражение. Например, роль, связанная с конкретной записью, не отображается на экране разрешений модуля.
Пример использования: Контекстные роли можно использовать, чтобы разрешить владельцам ресурсов выполнять операции, которые обычно им недоступны, например, редактирование или удаление этих ресурсов.
Контекстные роли поддерживаются для:
- Записей
Рабочих процессов
Клиентов авторизации
Важные замечания
Настройка системы
Платформа Corta определяет три типа системных ролей: bypass (пропуск проверки), authenticated (аутентифицированные) и anonymous (анонимные). Эти типы ролей задаются на уровне конфигурации сервера и не могут быть изменены напрямую через пользовательский интерфейс.
Если роль назначена в качестве одной из системных ролей, редактирование этой роли ограничено. Если роль каким-либо образом удалена или изменена до такой степени, что система не сможет ее идентифицировать, платформа откажется запускаться.
Причины таких ограничений:
- Конфигурация влияет на RBAC и процесс настройки доступа.
Системы, работающие с токенами доступа, должны учитывать такие изменения.
Модель безопасности на этом уровне крайне редко изменяется, а если изменения происходят, они являются кардинальными.
Роли RBAC типа Bypass
Если роль назначена как bypass, она не может участвовать в других типах ролей. Если это правило нарушено, система откажется запускаться.
Только участники роли bypass могут управлять членством в этой роли.
Роли bypass могут быть указаны в клиентах авторизации как разрешенные или запрещенные роли, но игнорируются, если определены как forced roles(принудительно назначаемые роли).
Authenticated (Аутентифицированные) и Anonymous (Анонимные)
Роли authenticated и anonymous не могут появляться в списках ролей безопасности клиента авторизации (разрешенные, запрещенные или принудительные роли) и игнорируются системой.
Authenticated (Аутентифицированные) и Anonymous (Анонимные)
User (Пользователь) | Сущность, которая получает доступ к Corta. Пользователь может быть участником ролей безопасности и не может напрямую получать права без назначенной роли. |
Role (Роль) | Представляет группу пользователей и набор прав на ресурсы. RBAC в Corta использует плоскую структуру без иерархии ролей, то есть роли не могут быть связаны как "родитель/потомок". |
Access (Доступ) | Определяет, разрешает (allow) или запрещает (deny) правило доступ. |
Resource (Ресурс) | Структурированный фрагмент информации, хранящийся в Corta, доступ к которому может быть ограничен или разрешен. Каждый ресурс принадлежит компоненту и имеет уникальный тип. |
Resource Type (Тип ресурса) | Описывает структуру информации внутри компонента Corta. |
Operation (Операция) | Определяет операцию, к которой данное RBAC-правило регулирует доступ. |
RBAC rule (RBAC-правило) | Комбинирует операцию, роль, доступ и ресурс. Определяет, что можно (или нельзя) делать с одним или несколькими ресурсами внутри Corta. |
Security Session (Сессия безопасности) | Создается, когда пользователь запрашивает доступ к Corta. |