Зачем управлять доступом
Дашборд готов и собран. Но прежде чем делиться им, нужно решить: кто и что сможет увидеть и сделать. Дать всем полный доступ — рискованно: кто-то случайно изменит чарт или увидит данные, не предназначенные для него.
DataLens предлагает гибкую систему доступа. По документации, разграничение прав реализовано на уровне объектов и папок. На каждый объект можно назначить права, которые определяют допустимые операции.
В DataLens доступ настраивается на трёх уровнях: роли (что человек в принципе может делать), права на объекты (к каким дашбордам и датасетам есть доступ) и RLS (какие строки данных внутри одного дашборда видны конкретному пользователю). Разберём все три.
Три права доступа
Согласно документации, на объекты и папки в DataLens назначаются права доступа. Нажмите на каждое право, чтобы увидеть, что оно разрешает.
Из документации: Редактирование включает все разрешения Просмотра, а Администрирование включает все разрешения Редактирования. То есть это «матрёшка» — каждое следующее право добавляет возможности к предыдущему.
Отдельное право: Исполнение на подключение
Есть ещё одно специфичное право. По документации, пользователь с правом Исполнение на подключение может выполнять к нему запросы, но не может создавать датасеты. Это полезно, когда нужно дать доступ к данным, но не позволить менять их структуру.
Право Просмотр не позволяет копировать датасеты, потому что они содержат настройки RLS (о них ниже). Копирование датасетов доступно только при праве Редактирование или Администрирование. Это защита от утечки правил безопасности.
Объекты, папки и наследование
Права назначаются не только на дашборд целиком, но и на отдельные объекты. По документации, доступ можно предоставить к папке или к любому объекту: подключению, датасету, чарту, дашборду.
Наследование прав
Важный механизм: по умолчанию объекты наследуют права родительской папки. Настроили доступ на папку — все объекты внутри получают его автоматически. Это экономит время: не нужно настраивать каждый чарт вручную.
Иванову дали Просмотр на папку — и он автоматически видит всё внутри: подключение, датасет, чарты и дашборд. Не пришлось настраивать четыре раза.
По документации, пользователь может запросить права доступа самостоятельно через форму запроса. Если коллега наткнулся на дашборд без доступа — он отправит запрос, а вы одобрите. Удобно для больших команд.
Давайте право Редактирование только тем, кому оно действительно нужно. Большинству достаточно Просмотра. Чем меньше людей могут менять объекты, тем ниже риск, что кто-то случайно сломает рабочий дашборд.
Публикация и встраивание
Иногда дашборд нужно показать тем, у кого нет аккаунта в Яндексе — клиенту, на сайте, на большом экране в офисе. Для этого есть публикация.
Публичный доступ
Публичный доступ открывает дашборд по ссылке без авторизации. Любой, у кого есть ссылка, увидит дашборд.
В дашборде найдите настройки публичного доступа. Включите публикацию.
Важно: нужно открыть публичный доступ не только к дашборду, но и ко всем чартам, датасетам и подключениям, которые он использует. DataLens проведёт по этим шагам.
Получите ссылку и отправьте клиенту. Он откроет дашборд без входа в аккаунт.
Публичный дашборд видят все, у кого есть ссылка. Никогда не публикуйте данные, содержащие персональную информацию, коммерческую тайну или то, что не должно попасть к конкурентам. Ссылка может разойтись.
Встраивание на сайт (iframe)
Дашборд или отдельный чарт можно встроить на сайт через код вставки. Получаете HTML-код с iframe и вставляете его на страницу — в Tilda, WordPress или любой другой движок.
<iframe src="https://datalens.yandex/..."
width="100%" height="600" frameborder="0"></iframe> Как разбирали в уроках 2 и 6: при подключении через Google Sheets публичный доступ может быть недоступен. Для публичных и встроенных дашбордов используйте CSV-файлы или базы данных.
RLS: фильтрация данных по пользователю
Самый мощный механизм — Row-Level Security. По документации, RLS позволяет ограничить доступ к данным на уровне строк. Один и тот же дашборд показывает разным людям разные данные.
Классический пример из документации: дашборд по продажам в разрезе 4 регионов. Каждый региональный менеджер должен видеть только свой регион, а руководитель — все. Без RLS пришлось бы делать 5 отдельных дашбордов. С RLS — один дашборд, который сам показывает каждому только его данные.
Попробуйте: один дашборд — разные пользователи
Нажмите на пользователя — таблица покажет только те строки, которые ему доступны по правилам RLS. Это симуляция того, что видит каждый человек, открывая один и тот же дашборд.
| Регион | Продажи, ₽ | Сделки |
|---|
Как настраивается RLS (по документации)
Логика настройки на примере регионов из документации:
У каждого пользователя DataLens есть уникальный идентификатор (userid). Его нужно знать для настройки.
В источнике создайте таблицу (например, MANAGER_ID), где регион сопоставлен с id пользователя. Если пользователю доступно несколько регионов — перечислите все уникальные пары.
Подключите таблицу соответствия к датасету и выполните JOIN по полю региона.
По полю с id настройте RLS, добавив правило userid: userid. Теперь DataLens автоматически покажет каждому пользователю только его строки.
Сеть из 10 филиалов. Один дашборд продаж с RLS: директор каждого филиала видит только свои цифры, не подсматривая за соседями. Генеральный директор видит всё. Один объект вместо десяти — и полная конфиденциальность. RLS в документации ↗
Проверьте себя
Что мы разобрали
- Три права: Просмотр, Редактирование, Администрирование — вложены друг в друга
- Исполнение на подключение: запросы можно, создавать датасеты — нельзя
- Права назначаются на объекты и папки; объекты наследуют права папки
- Публичный доступ требует открыть и дашборд, и все его чарты, датасеты, подключения
- Дашборд встраивается на сайт через iframe
- RLS показывает разным пользователям разные строки одного дашборда
Урок 10: Практический проект. Соберём всё изученное в один реальный дашборд по данным рекламных кампаний Яндекс Директа — от подключения и датасета до чартов, фильтров и публикации. Полный цикл от данных до готового отчёта.