Top.Mail.Ru
Меню
Урок 9: Управление доступом и публикация
Курс по Yandex DataLens · Урок 9 из 10

Управление доступом
и публикация

Роли, права на объекты, публичные дашборды, встраивание и фильтрация данных по пользователю

⏱ Время чтения: ~19 минут
📊 Уровень: Продвинутый
🛠 Практика: Готовый дашборд

Зачем управлять доступом

Дашборд готов и собран. Но прежде чем делиться им, нужно решить: кто и что сможет увидеть и сделать. Дать всем полный доступ — рискованно: кто-то случайно изменит чарт или увидит данные, не предназначенные для него.

DataLens предлагает гибкую систему доступа. По документации, разграничение прав реализовано на уровне объектов и папок. На каждый объект можно назначить права, которые определяют допустимые операции.

Три уровня контроля

В DataLens доступ настраивается на трёх уровнях: роли (что человек в принципе может делать), права на объекты (к каким дашбордам и датасетам есть доступ) и RLS (какие строки данных внутри одного дашборда видны конкретному пользователю). Разберём все три.

Три права доступа

Согласно документации, на объекты и папки в DataLens назначаются права доступа. Нажмите на каждое право, чтобы увидеть, что оно разрешает.

🔐 Права доступа в DataLens
Права вложены друг в друга

Из документации: Редактирование включает все разрешения Просмотра, а Администрирование включает все разрешения Редактирования. То есть это «матрёшка» — каждое следующее право добавляет возможности к предыдущему.

Отдельное право: Исполнение на подключение

Есть ещё одно специфичное право. По документации, пользователь с правом Исполнение на подключение может выполнять к нему запросы, но не может создавать датасеты. Это полезно, когда нужно дать доступ к данным, но не позволить менять их структуру.

Нюанс из документации про копирование

Право Просмотр не позволяет копировать датасеты, потому что они содержат настройки RLS (о них ниже). Копирование датасетов доступно только при праве Редактирование или Администрирование. Это защита от утечки правил безопасности.

Объекты, папки и наследование

Права назначаются не только на дашборд целиком, но и на отдельные объекты. По документации, доступ можно предоставить к папке или к любому объекту: подключению, датасету, чарту, дашборду.

Наследование прав

Важный механизм: по умолчанию объекты наследуют права родительской папки. Настроили доступ на папку — все объекты внутри получают его автоматически. Это экономит время: не нужно настраивать каждый чарт вручную.

📁 Папка «Клиент А» — доступ: Иванов (Просмотр)
🔌 Подключение к данным наследует
📋 Датасет кампаний наследует
📊 Чарт «Расходы» наследует
🖥️ Дашборд «Отчёт» наследует

Иванову дали Просмотр на папку — и он автоматически видит всё внутри: подключение, датасет, чарты и дашборд. Не пришлось настраивать четыре раза.

Запрос прав самим пользователем

По документации, пользователь может запросить права доступа самостоятельно через форму запроса. Если коллега наткнулся на дашборд без доступа — он отправит запрос, а вы одобрите. Удобно для больших команд.

Рекомендация по безопасности

Давайте право Редактирование только тем, кому оно действительно нужно. Большинству достаточно Просмотра. Чем меньше людей могут менять объекты, тем ниже риск, что кто-то случайно сломает рабочий дашборд.

Публикация и встраивание

Иногда дашборд нужно показать тем, у кого нет аккаунта в Яндексе — клиенту, на сайте, на большом экране в офисе. Для этого есть публикация.

Публичный доступ

Публичный доступ открывает дашборд по ссылке без авторизации. Любой, у кого есть ссылка, увидит дашборд.

1
Откройте настройки доступа дашборда

В дашборде найдите настройки публичного доступа. Включите публикацию.

2
Откройте доступ ко всем связанным объектам

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

3
Скопируйте публичную ссылку

Получите ссылку и отправьте клиенту. Он откроет дашборд без входа в аккаунт.

Осторожно с публичным доступом

Публичный дашборд видят все, у кого есть ссылка. Никогда не публикуйте данные, содержащие персональную информацию, коммерческую тайну или то, что не должно попасть к конкурентам. Ссылка может разойтись.

Встраивание на сайт (iframe)

Дашборд или отдельный чарт можно встроить на сайт через код вставки. Получаете HTML-код с iframe и вставляете его на страницу — в Tilda, WordPress или любой другой движок.

<iframe src="https://datalens.yandex/..." width="100%" height="600" frameborder="0"></iframe>
Помните про Google Sheets

Как разбирали в уроках 2 и 6: при подключении через Google Sheets публичный доступ может быть недоступен. Для публичных и встроенных дашбордов используйте CSV-файлы или базы данных.

RLS: фильтрация данных по пользователю

Самый мощный механизм — Row-Level Security. По документации, RLS позволяет ограничить доступ к данным на уровне строк. Один и тот же дашборд показывает разным людям разные данные.

Зачем это нужно

Классический пример из документации: дашборд по продажам в разрезе 4 регионов. Каждый региональный менеджер должен видеть только свой регион, а руководитель — все. Без RLS пришлось бы делать 5 отдельных дашбордов. С RLS — один дашборд, который сам показывает каждому только его данные.

Попробуйте: один дашборд — разные пользователи

Нажмите на пользователя — таблица покажет только те строки, которые ему доступны по правилам RLS. Это симуляция того, что видит каждый человек, открывая один и тот же дашборд.

🔒 Симулятор RLS — продажи по регионам
Кто смотрит:
РегионПродажи, ₽Сделки

Как настраивается RLS (по документации)

Логика настройки на примере регионов из документации:

1
Определите id пользователей

У каждого пользователя DataLens есть уникальный идентификатор (userid). Его нужно знать для настройки.

2
Создайте таблицу соответствия

В источнике создайте таблицу (например, MANAGER_ID), где регион сопоставлен с id пользователя. Если пользователю доступно несколько регионов — перечислите все уникальные пары.

3
Добавьте таблицу в датасет и сделайте JOIN

Подключите таблицу соответствия к датасету и выполните JOIN по полю региона.

4
Настройте RLS по полю

По полю с id настройте RLS, добавив правило userid: userid. Теперь DataLens автоматически покажет каждому пользователю только его строки.

Пример из практики

Сеть из 10 филиалов. Один дашборд продаж с RLS: директор каждого филиала видит только свои цифры, не подсматривая за соседями. Генеральный директор видит всё. Один объект вместо десяти — и полная конфиденциальность. RLS в документации ↗

Проверьте себя

Вопрос 1 из 5
Правильных ответов: 0

Что мы разобрали

  • Три права: Просмотр, Редактирование, Администрирование — вложены друг в друга
  • Исполнение на подключение: запросы можно, создавать датасеты — нельзя
  • Права назначаются на объекты и папки; объекты наследуют права папки
  • Публичный доступ требует открыть и дашборд, и все его чарты, датасеты, подключения
  • Дашборд встраивается на сайт через iframe
  • RLS показывает разным пользователям разные строки одного дашборда
В следующем уроке — финал курса

Урок 10: Практический проект. Соберём всё изученное в один реальный дашборд по данным рекламных кампаний Яндекс Директа — от подключения и датасета до чартов, фильтров и публикации. Полный цикл от данных до готового отчёта.