Управление доступом к данным
На платформе Visiology реализованы два механизма управления доступом к данным:
на уровне строк данных (RLS – Row Level Security);
на уровне таблиц и столбцов (OLS – Object Level Security).
При совместном их использовании вы можете обеспечить многослойную защиту и контроль над доступом к данным.
Как это работает
Роли RLS используются для ограничения доступа к строкам внутри таблицы.
Пример использования: В таблице заказов могут существовать строки, относящиеся к разным отделам компании. С помощью ролей RLS вы можете ограничить доступ к “лишним“ строкам с тем, чтобы сотрудники отдела продаж видели только те заказы, которые относятся к их отделу.
Роли OLS используются для управления доступом к объектам (таблицам и столбцам).
Пример использования: Представим, что менеджеры в вашей организации должны иметь полный доступ ко всем таблицам и столбцам, тогда как рядовые сотрудники должны иметь доступ только к определенным таблицам и столбцам в таблицах. Роли OLS позволяют реализовать данный сценарий.
Взаимодействие RLS и OLS
Когда используются оба механизма одновременно, они дополняют друг друга, создавая многоуровневую систему безопасности. Рассмотрим ситуацию, кода у пользователя есть роли OLS и RLS:
При наличии роли OLS пользователь получает доступ к определенному объекту (таблице или столбцам). При этом, если у него нет прав на чтение других объектов, то он не сможет получить доступ к их данным. Например, если у сотрудника отдела маркетинга нет OLS-роли, предоставляющей ему доступ к таблице заказов, то он просто не увидит её.
Роль RLS позволяет системе ограничить доступ к конкретным строкам внутри объекта, к которому получен доступ через OLS. Продолжая пример выше, допустим, что сотруднику отдела маркетинга всё же дали доступ к таблице заказов через OLS. Однако теперь с помощью RLS доступ ограничивается таким образом, чтобы этот сотрудник видел только те записи, которые связаны с маркетинговыми акциями.
Таким образом, OLS управляет доступом к самим объектам (таблицам или столбцам), а RLS контролирует, какие именно строки этих объектов видны пользователю после того, как он получил доступ к объекту.
Комбинирование двух уровней защиты обеспечивает более надёжный контроль доступа к конфиденциальной информации. Даже если пользователь получит доступ к определенному объекту через OLS, он увидит только ту информацию, которая разрешена его правами в рамках RLS. Кроме того, благодаря использованию обоих методов, администратор может легко создавать сложные структуры управления доступом для разных групп пользователей.
Для более подробной информации о настройках прав доступа перейдите в соответствующий раздел:
Управление доступом на уровне строк данных (RLS)
Управление доступом на уровне таблиц/столбцов (OLS)