Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Для данного примера давайте представим, что у вас есть аналитик, который работает с данными по нескольким странам, но вы также хотите, чтобы у него был доступ к данным по отдельному городу ещё одной страны. Для этого необходимо сделать следующее:

  1. Создать несколько атрибутов пользователя для предоставления доступа к странам.

  2. Создать роль доступа на платформе с использованием этих атрибутов и назначить ее пользователю.

  3. Создать роль с фиксированным правилом для доступа к определенному городу и назначить ее пользователю.

Создание нескольких атрибутов пользователя для предоставления доступа к странам

  1. Откройте Keycloak, введя соответствующий адрес в адресной строке браузера:
    <domain>/v3/keycloak
    где <domain> – адрес вашего сервера.

  2. Откройте консоль администратора и в боковой панели нажмите Users:

    keycloak-users.png
  3. Выберите пользователя, для которого будут создаваться RLS-роли. В нашем примере это пользователь ivanov:

    user.png

  4. В открывшемся окне перейдите на вкладку Attributes и нажмите Add an attribute, чтобы добавить атрибут:

    attribute.png
  5. В поле Key укажите уникальный ключ атрибута, например Countries, а в поле Value укажите его значение. В нашем примере это Россия:

    dynamic-attribute.png
  6. Добавьте еще несколько атрибутов с таким же ключом. Наличие единого ключа позволит обратиться к ним как к массиву при создании правил доступа. В нашем примере мы добавим Франция и Куба:

    Без имени-20241120-064350.png
  7. Нажмите Save для сохранения изменений.

Создание роли доступа на платформе и назначение её пользователю

  1. Перейдите в требуемую рабочую область и откройте набор данных, для которого вы хотите создать роли безопасности. В нашем примере это Продажи:

    select-dataset.png
  2. В открывшемся окне нажмите Данные > Роли безопасности:

    menu.png
  3. В появившемся окне нажмите кнопку с крестиком для создания роли:

    create.png
  4. Переименуйте созданную роль. Мы переименовали её в Доступные страны:

    new-name.png
  5. Для назначения роли пользователю нажмите кнопку справа от названия роли:

    new-name.png

  6. В строке поиска начните вводить имя пользователям (в нашем случае ivanov):

    select-user.png
  7. Выберите найденного пользователя и нажмите Назначить. Пользователю будет назначена созданная роль, о чём система проинформирует вас:

    assign-user.png

  8. Кликните название созданной роли в левой стороне диалогового окна. Отобразится список таблиц набора данных, с которым вы работаете:

    tables.png

  9. Выберите таблицу, для которой вы хотите создать правило. В нашем примере это Локация:

    location.png

  10. В поле справа от списка таблиц введите выражение DAX фильтра таблицы. В нашем примере мы хотим, чтобы пользователь Иванов, у которого в рабочей области Филиалы CreativeElectronix роль Зритель, мог просматривать только те данные, которые относятся к странам Россия, Франция и Куба. Для этого мы введем следующее выражение:
    'Локация' [Country] IN USERATTRIBUTEASARRAY ("Countries")

    formula1.png

  11. Данный запрос вернёт все строки из таблицы Локация, в которых столбец Country содержит значения, указанные в атрибутах с ключом Countries (т.е. Россия, Франция, Куба).

  12. Нажмите Сохранить DAX в правом нижнем углу.

Создание роли с фиксированным правилом для доступа к определенному городу и назначение её пользователю

  1. Находясь в рабочей области, перейдите в набор данных, для которого вы хотите создать роли безопасности. В нашем примере это Продажи:

    select-dataset.png

  2. В открывшемся окне нажмите Данные > Роли безопасности:

    menu.png

  3. В появившемся окне нажмите кнопку с крестиком для создания роли:

    Без имени-20241120-065527.png

  4. Переименуйте созданную роль. Мы переименовали в Шанхай, т.к. хотим предоставить доступ к данным по этому городу:

    Без имени-20241120-065559.png

  5. Для назначения роли пользователю нажмите кнопку справа от названия роли:

    Без имени-20241120-065626.png

  6. В строке поиска начните вводить имя/фамилию/электронный адрес пользователя. Платформа отобразит список пользователей и групп, которые содержат вводимые символы:

    Без имени-20241120-065654.png

  7. Выберите требуемого пользователя и нажмите Назначить. Пользователю будет назначена созданная роль, о чём система проинформирует вас:

    Без имени-20241120-065714.png

  8. Кликните название созданной роли в левой стороне диалогового окна. Отобразится список таблиц набора данных, с которым вы работаете:

    Без имени-20241120-065739.png

  9. Выберите таблицу, для которой вы хотите создать правило. В нашем примере это Локация:

    location.png

  10. В поле справа от списка таблиц введите выражение DAX фильтра таблицы. В нашем примере мы хотим, чтобы пользователь ivanov мог дополнительно просматривать данные, которые относятся к городу Шанхай. Для этого мы введем следующее выражение:
    'Локация' [City] IN {"Шанхай"}

    formula2.png

    Данный запрос вернёт все строки из таблицы Локация, в которых столбец City содержит Шанхай.

  11. Нажмите Сохранить DAX в правом нижнем углу.

После выполнения всех вышеописанных действий пользователь ivanov получит доступ к данным, относящимся к России, Кубе и Франции, а также к городу Шанхай.


Смотрите также

📄 Настройка динамической RLS
📄 Настройка статической RLS

На этой странице

Оглавление
minLevel1
maxLevel6
outlinefalse
styledisc
typelist
printabletrue

Видео


🕑 Время чтения: 3 2 мин.


Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.