Вопрос или проблема
Итак, я пытаюсь добиться того, чтобы доступ к индивидуальным данным имели только их прямые менеджеры, а все остальные могли видеть агрегированные данные. В этом конкретном случае я хочу, чтобы в разделе группировки были менеджер, логин и другие различные атрибуты, а затем набор метрик, рассчитанных на основе групп. Затем, в зависимости от пользователя, просматривающего информационную панель, я хочу, чтобы поле логина динамически скрывалось или отображалось.
Я пробовал RLS и CLS, но это не совсем работает в моем случае.
Ответ или решение
В Amazon QuickSight нет встроенного способа динамического скрытия полей в сводной таблице в зависимости от пользователя, который просматривает дашборд. Однако вы можете использовать комбинацию фильтров, управления правами доступа и параметров для достижения желаемого эффекта.
Вот несколько шагов, которые вы можете выполнить для условного скрытия поля ("login") в сводной таблице на основе того, кто просматривает дашборд:
1. Настройка Row-Level Security (RLS)
Хотя вы упомянули, что RLS не сработал, его правильная настройка — это один из способов контроля доступа к данным. Сначала создайте таблицу безопасности (например, UserAccess
), которая будет содержать информацию о пользователе и его роли (например, "менеджер", "сотрудник").
Пример структуры таблицы:
Login | Role |
---|---|
user1 | Manager |
user2 | Employee |
user3 | Manager |
После этого настройте RLS, указывая, какие пользователи могут видеть какие данные. Например, "Менеджеры" могут видеть свои данные, а "Сотрудники" — агрегированные.
2. Использование параметров
Создайте параметр типа "Строка" для управления доступом к полю. Назовите его, например, UserRole
.
- Используйте параметр
UserRole
для фильтрации данных в зависимости от роли пользователя.
3. Создание вычисляемого поля
Создайте вычисляемое поле, которое будет возвращать значение либо для менеджеров, либо для сотрудников. Например, можно использовать следующую формулу:
ifelse(
{UserRole} = 'Manager', {Login}, 'Скрыто'
)
Это поле будет возвращать Login
, если пользователь — менеджер, и 'Скрыто'
, если это сотрудник.
4. Добавление условий в сводную таблицу
В вашей сводной таблице используйте созданное вами вычисляемое поле вместо оригинального поля Login
. Теперь, в зависимости от того, кто просматривает дашборд, поле "login" будет либо отображаться с реальными данными, либо как "Скрыто".
5. Настройка прав доступа к дашборду
Убедитесь, что у вас правильно настроены права доступа для каждого пользователя или группы пользователей. Это поможет избежать ситуаций, когда недопустимые данные могут быть видны.
Заключение
Эти шаги позволяют вам контролировать доступ к данным на уровне строк, а также создавать динамические представления данных в зависимости от ролей пользователей. Имейте в виду, что из-за особенностей QuickSight могут потребоваться дополнительные настройки в зависимости от вашей конкретной ситуации.