1. Прежде чем начать
Встраивание с подписью — это способ предоставлять пользователям доступ к встроенным Looks, визуализациям, Explore или панелям мониторинга в приватном режиме без необходимости отдельной авторизации в 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. Для этого:
- Перейдите на страницу «Встраивание» в разделе «Администрирование » Looker.
- Выберите «Включено» в раскрывающемся списке «Встроить аутентификацию SSO» , а затем выберите «Обновить» .
- Чтобы сгенерировать секретный ключ для встраивания, нажмите кнопку «Сбросить секрет» в разделе «Секретный ключ для встраивания».
Скопируйте этот секретный ключ в надежное место, поскольку вы не сможете получить к нему доступ из 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 превратится в /embed/explore/my_model/my_explore .
Права доступа, которые вы хотите предоставить встроенному пользователю.
Выберите права доступа, которые вы хотите предоставить пользователю, встраивающему данные. Соответствующие права доступа для встраивания с подписью можно найти на странице документации Looker по встраиванию с подписью .
Для целей данного практического занятия, по всей видимости, минимальный допустимый список разрешений будет следующим:
-
access_data -
see_lookml_dashboards -
see_looks -
see_user_dashboards -
explore
Если вы хотите проверить способность пользователей встроенного контента просматривать и сохранять его, вы также можете рассмотреть следующие варианты:
-
save_content -
embed_browse_spaces -
embed_save_shared_space
Доступ к модели, который вы хотите предоставить встроенному пользователю.
Выберите модели Looker, к которым вы хотите предоставить доступ встроенному пользователю. Как минимум, пользователь должен иметь доступ к модели, лежащей в основе выбранных вами визуализаций Look, Explore, запросов или панелей мониторинга.
Атрибуты пользователя, которые вы хотите присвоить встроенному пользователю.
Выберите атрибуты пользователя Looker, которые вы хотите присвоить встроенному пользователю, если таковые имеются. Для данного практического занятия добавление каких-либо атрибутов пользователя может и не потребоваться.
Группы, к которым должен быть привязан встроенный пользователь.
Определите, к каким идентификаторам групп (а не названиям групп) должен принадлежать пользователь, если таковые имеются. Для данного практического занятия добавление каких-либо групп может и не потребоваться.
Идентификатор пользователя и группа вашей компании
Для встраивания URL-адресов с помощью подписи Looker необходимо указать уникальный идентификатор для каждого пользователя в вашем приложении, который просматривает встроенный элемент Looker. Looker называет это «внешним идентификатором пользователя», и это может быть любая строка.
При необходимости вы также можете указать «идентификатор внешней группы». Это уникальный идентификатор группы, к которой принадлежит пользователь в вашем приложении.
5. Выберите скрипт для генерации URL-адресов.
Для создания корректно подписанного URL-адреса для встраивания потребуется использовать код, чтобы правильно закодировать URL-адрес с помощью секретного ключа и сгенерировать другие элементы, связанные с безопасностью.
К счастью, в репозитории Looker_embed_sso_examples на GitHub доступно несколько примеров скриптов на разных языках программирования. Выберите подходящий вам скрипт и скопируйте его в свою среду разработки.
6. Заполните данные и запустите скрипт.
Выбранный вами скрипт генерации URL-адресов будет содержать переменные или объект, в который вы сможете поместить всю ранее собранную информацию, а также примеры того, как эта информация должна быть представлена:
Название скрипта | Примерное количество строк для вашего ввода. |
| 15 - 28 |
| 18 - 35 |
| 193 - 202 |
| 87 - 104 |
| 103 - 111 |
| 88 - 101 |
| 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 , посвященной лучшим практикам обеспечения безопасности при встраивании аналитики, представлены рекомендации по безопасной настройке встраивания с использованием подписанных данных.
- Встраивание данных с подписью часто используется клиентами Looker для представления данных своим собственным клиентам, при этом клиенты из разных компаний или групп не должны знать друг о друге. В этом сценарии мы настоятельно рекомендуем настроить Looker как закрытую систему , иногда называемую «многопользовательской установкой».
- Функция встраивания с подписью доступна через API Looker .