Подписанное встраивание с помощью Looker

1. Прежде чем начать

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

Встраивание подписи начинается с создания специального URL-адреса Looker, который вы будете использовать в iframe. URL-адрес содержит информацию, которой вы хотите поделиться, идентификатор пользователя в вашей системе и разрешения, которые вы хотите предоставить этому пользователю. Затем вы подпишите URL-адрес секретным ключом, предоставленным Looker.

Предварительные условия

  • Иметь работающий экземпляр Looker
  • Будьте администратором своего экземпляра Looker.

Что вы узнаете

  • Как настроить экземпляр Looker для разрешения подписанного встраивания
  • Как сгенерировать секретный ключ
  • Какую информацию вам необходимо собрать для включения в подписанный URL-адрес для встраивания?
  • Как создать подписанный URL-адрес для встраивания
  • Как добавить внедренный элемент в ваше приложение

2. Правильный хостинг Looker

Некоторые браузеры по умолчанию используют политику безопасности, которая блокирует сторонние файлы cookie, что препятствует работе подписанного внедрения. В этой Codelab самый простой способ решить эту проблему — временно разрешить сторонние файлы cookie в вашем браузере:

При производственной настройке вы должны выбрать одну из следующих стратегий для работы со сторонними файлами cookie:

  • Разместите экземпляр Looker и приложения, в которых вы будете использовать подписанное внедрение, в одном домене. Например, ваш экземпляр Looker может быть найден по адресу looker.mycompany.com а ваш подписанный сайт внедрения — по адресу analytics.mycompany.com .
  • Включите функцию внедрения без файлов cookie , которая позволяет браузерам, блокирующим сторонние файлы cookie, выполнять аутентификацию в разных доменах. Использование этой опции требует дополнительной настройки, как подробно описано на странице документации Looker по встраиванию без файлов cookie .

3. Сгенерируйте секретный ключ

Чтобы создать подписанный URL-адрес для встраивания, вам понадобится секретный ключ от Looker. Для этого:

  1. Перейдите на страницу «Встроить» в разделе «Администратор» Looker.
  2. В раскрывающемся списке «Встроить единый вход» выберите «Включено» , а затем выберите «Обновить» .
  3. Нажмите кнопку «Сбросить секрет» в разделе «Встроить секрет», чтобы сгенерировать свой секрет для внедрения.

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

4. Соберите входные данные для подписанного URL-адреса для встраивания.

Чтобы создать подписанный URL-адрес для встраивания, вам необходимо собрать следующую информацию.

URL данных, которые будут отображаться

Получите URL-адрес визуализации Look, Explore, запроса или информационной панели, которую вы хотите внедрить. Затем удалите домен и поместите /embed перед путем.

Например, https://instance_name.cloud.looker.com/looks/4 станет /embed/looks/4 .

Или https://instance_name.cloud.looker.com/explore/my_model/my_explore ://имя_экземпляра.cloud.looker.com/explore/my_model/my_explore станет /embed/explore/my_model/my_explore .

Разрешения, которые вы хотите предоставить встроенному пользователю

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

Для целей этого Codelab следующие разрешения, вероятно, будут минимальным жизнеспособным списком:

  • access_data
  • see_lookml_dashboards
  • see_looks
  • see_user_dashboards
  • explore

Если вы хотите проверить способность встроенных пользователей просматривать и сохранять контент, вы также можете рассмотреть возможность:

  • save_content
  • embed_browse_spaces
  • embed_save_shared_space

Доступ к модели, который вы хотите предоставить встроенному пользователю

Выберите модели Looker, к которым вы хотите, чтобы встроенный пользователь имел доступ. По крайней мере, у пользователя должен быть доступ к модели, лежащей в основе Look, Explore, визуализации запросов или информационной панели, которую вы выбрали для отображения.

Атрибуты пользователя, которые вы хотите, чтобы встроенный пользователь имел

Выберите атрибуты пользователя Looker, которые вы хотите, чтобы встроенный пользователь имел, если таковые имеются. Для этой Codelab может не потребоваться добавлять какие-либо пользовательские атрибуты.

Группы, которые вы хотите, чтобы встроенный пользователь имел

Определите, к каким идентификаторам групп (не именам групп) должен принадлежать пользователь, если таковые имеются. Для этой Codelab может не потребоваться добавление каких-либо групп.

Идентификатор пользователя и группа вашей компании

Подписанные URL-адреса для внедрения Looker требуют, чтобы вы предоставили уникальный идентификатор для каждого пользователя в вашем приложении, который просматривает встроенный элемент Looker. Looker называет это «внешним идентификатором пользователя», и это может быть любая строка.

Если необходимо, вы также можете указать «идентификатор внешней группы». Это уникальный идентификатор группы, к которой принадлежит пользователь в вашем приложении.

5. Выберите сценарий генерации URL-адресов.

Для создания правильного подписанного URL-адреса для встраивания вам потребуется использовать код, чтобы вы могли правильно закодировать URL-адрес с помощью своего секретного ключа и генерировать другие элементы, связанные с безопасностью.

К счастью, несколько примеров сценариев на различных языках программирования доступны в репозитории Looker_embed_sso_examples на Github. Выберите сценарий, который вам подходит, и скопируйте его в свою среду разработки.

6. Заполните данные и запустите скрипт.

Выбранный вами сценарий создания URL-адреса будет содержать переменные или объект, в котором вы сможете разместить всю ранее собранную информацию, а также примеры того, как эта информация должна быть представлена:

Имя сценария

Апкс. строки для вашего ввода

LookerEmbedClientExample.java

15 - 28

csharp_example.cs

18 - 35

go_example.go

193 - 202

node_example.js

87 - 104

python_example.py

103 - 111

ruby_example.rb

88 - 101

sso_embed.php

14–27

После замены примеров собранными вами данными запустите сценарий, чтобы сгенерировать подписанный URL-адрес для внедрения. Запишите URL-адрес для следующего шага.

7. Проверьте URL-адрес

Чтобы проверить конечный URL-адрес, вставьте его в средство проверки встроенного URI на странице «Встраивание» раздела администратора Looker. Хотя эта функция не может определить, правильно ли настроены данные и разрешения, которые вы предполагаете, она может проверить, правильно ли работает ваша аутентификация.

8. Вставьте URL-адрес в iframe.

Наконец, встройте Look, Explore, визуализацию запросов или панель мониторинга в свое приложение, добавив сгенерированный вами URL-адрес в атрибут src iframe . Поместите этот iframe в свое приложение или тестовую среду.

При желании вы можете взаимодействовать с iframe с помощью JavaScript, используя встроенные события JavaScript Looker.

9. Дополнительная информация

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

  • Страница документации по подписанному внедрению Looker содержит подробные сведения о том, как следует генерировать подписанный URL-адрес для внедрения, а также все доступные параметры конфигурации.
  • На странице документации Looker's Security Best Practices for Embedded Analytics представлены рекомендации по безопасной настройке подписанного внедрения.
  • Встраивание со знаком часто используется клиентами Looker для представления данных своим клиентам, при этом требуя, чтобы клиенты из разных компаний или групп не знали друг о друге. В этом случае мы настоятельно рекомендуем настроить Looker как закрытую систему , которую иногда называют «мультитенантной установкой».
  • Функциональность подписанного внедрения доступна через API Looker .