OLS (Object-level security – управление доступом на уровне объектов) представляет собой механизм контроля доступа к данным на уровне таблиц и столбцов. Этот подход обеспечивает возможность гибкой настройки прав доступа, позволяя администраторам определять, какие пользователи или группы могут просматривать данные в определенных таблицах или даже отдельных столбцах внутри них.
Например, вы можете использовать данный подход, чтобы ограничить доступ к чувствительным данным. В этом случае администратор может настроить политику таким образом, чтобы сотрудники отдела маркетинга имели полный доступ ко всем таблицам, связанным с клиентской базой, но при этом могли видеть только определенные столбцы, такие как имя клиента и контактные данные, исключая доступ к финансовым показателям.
Настройка доступа на уровне таблиц и столбцов
Если для набора данных не определена ни одна OLS-роль, пользователь может просматривать все данные этого набора. Если же для данного набора создана хотя бы одна OLS-роль, то пользователь увидит сообщение об ошибке, если ему не присвоена никакая OLS-роль.
Для настройки роли OLS необходимо выполнить следующие шаги:
Находясь в рабочей области, перейдите в набор данных, для которого вы хотите создать роли безопасности. В нашем примере мы выберем Продажи:
В открывшемся окне нажмите Роли в верхней панели:
В появившемся окне нажмите кнопку с крестиком и выберите Роль доступа на уровне таблиц/столбцов:
Переименуйте созданную роль. Мы переименовали в Доступ к данным магазина:
Для назначения роли какому-либо пользователю или группе пользователей нажмите кнопку справа от названия роли:
В строке поиска начните вводить имя/фамилию пользователя, либо название группы пользователей. Платформа отобразит список пользователей и групп, которые содержат вводимые символы:
Выберите требуемого пользователя или группу и нажмите Назначить. Пользователю (группе) будет назначена созданная роль, о чём система проинформирует вас:
Кликните название созданной роли в левой стороне диалогового окна. Отобразится список таблиц набора данных, с которым вы работаете:
Выберите таблицы, к которым вы хотите предоставить доступ, и в панели справа, для каждой таблицы, укажите столбцы, к которым вы хотите предоставить доступ. У нас получилось следующее:
Кнопку Сохранить необходимо нажимать после настройки каждой таблицы.
Теперь пользователь Пушкин, у которого в рабочей области Гипермаркет CreativeElectronix роль Зритель, сможет просматривать только те данные, которые содержатся в указанных таблицах и столбцах.
Если хотя бы один используемый в виджете столбец “закрыт” для пользователя ролью OLS, то виджет, использующий данные этого столбца, будет пустым и отобразит ошибку “Нет доступа к данным”.
Обратите внимание: если вы с помощью OLS запрещаете доступ к таблице или столбцу для одной роли, убедитесь, что этот запрет настроен и для всех остальных ролей пользователя. В противном случае пользователь сможет получить доступ к объекту через другие роли, где ограничения не установлены.
Внешние данные будут доступны пользователю только в том случае, если его OLS-роль разрешает доступ к соответствующим таблицам и столбцам. Это правило действует при условии, что для набора данных назначена хотя бы одна OLS-роль. Если OLS-роли для набора данных не настроены, то пользователю набор данных будет доступен.
Примеры доступа к данным при настроенных ролях OLS
Настройки доступа OLS
Что увидит пользователь в модели данных
Что увидит пользователь на виджете
OLS-роль скрывает столбец в таблице
В таблице отсутствует столбец.
Сообщение об ошибке: Нет доступа к данным
OLS-роль скрывает таблицу
В модели данных отсутствует таблица.
Сообщение об ошибке: Нет доступа к данным
OLS-роль скрывает ключевой столбец, по которому связываются таблицы
Нет ключевого столбца в таблице, связь между таблицами отсутствует.
Сообщение об ошибке: Нет доступа к данным
OLS-роль скрывает столбец, который используется в виджете “Фильтр”
Столбец отсутствует в таблице.
Сообщение об ошибке: Нет доступа к данным Фильтрация по этому виджету перестает работать на всём дашборде.
OLS-роль скрывает столбец, на котором построена дашборд-мера
Мера показывается в таблице, но работать не будет.
Сообщение об ошибке: Нет доступа к данным
Примерные сценарии доступа к данным при настроенных OLS
Сценарий 1
Предположим, набор данных находится в рабочей области, в которой пользователь является зрителем. В этом случае ограничения OLS будут применены и пользователь не увидит данные в «закрытых» для него таблицах и столбцах. Для всех остальных ролей рабочей области (например, редактор или администратор) OLS не будет работать, и пользователь увидит все данные без ограничений.
Сценарий 2
Предположим, набор данных находится в рабочей области, к которой пользователь не имеет доступа, но он имеет доступ к набору данных как к внешнему в этой рабочей области. В этом случае OLS-ограничения будут применены, и пользователь увидит только те данные, которые разрешены в соответствии с его ролью и настройками OLS.