Для настройки атрибутов пользователей необходимо выполнить следующие шаги:
Откройте Keycloak, введя соответствующий адрес в адресной строке браузера:
<domain>/v3/keycloak
где <domain>
– адрес вашего сервера.
Откройте консоль администратора и в боковой панели нажмите Users:
Выберите пользователя, для которого будут создаваться RLS-роли. В нашем примере это будет пользователь ivanov:
В открывшемся окне перейдите на вкладку Attributes и нажмите Add an attribute, чтобы добавить атрибут:
В поле Key укажите уникальный ключ атрибута, например City, а в поле Value укажите его значение. В нашем примере это будет город Москва:
Нажмите Save для сохранения изменений.
Перейдите в требуемую рабочую область и откройте набор данных, для которого вы хотите создать роли безопасности. В нашем примере это будет Продажи:
В открывшемся окне нажмите Данные > Роли безопасности:
В появившемся окне нажмите кнопку с крестиком для создания роли:
Переименуйте созданную роль. Мы переименовали в Москва:
Для назначения роли пользователю нажмите кнопку справа от названия роли:
В строке поиска начните вводить имя пользователям (в нашем случае ivanov):
Выберите найденного пользователя и нажмите Назначить. Пользователю будет назначена созданная роль, о чём система проинформирует вас:
Кликните название созданной роли в левой стороне диалогового окна. Отобразится список таблиц набора данных, с которым вы работаете:
Выберите таблицу, для которой вы хотите создать правило. В нашем примере это Города:
В поле справа от списка таблиц введите выражение DAX фильтра таблицы. В нашем примере мы хотим, чтобы пользователь Иванов, у которого в рабочей области Филиалы CreativeElectronix роль Зритель, мог просматривать только те данные, которые относятся к городу Москва. Для этого мы введем следующее выражение:
'Города' [City] = USERATTRIBUTE ("Москва")
Данный запрос вернёт все строки из таблицы Города
, в которых столбец City
содержит значение Москва.
Нажмите Сохранить DAX в правом нижнем углу.
Теперь, при работе с набором данных Продажи, пользователь Иванов будет иметь доступ только к тем данным, которые относятся к городу Москве: