Перейти к основному содержимому Перейти к дополнительному содержимому

Создание клиентов OAuth и управление ими

OAuth — это протокол обеспечения безопасности для авторизации и делегирования. Он разрешает сторонним приложениям доступ к ресурсам API, не раскрывая учетных данных конечного пользователя. Клиент OAuth запрашивает код авторизации и обменивает его на токен доступа, который использует для доступа к содержимому Qlik Cloud через API-интерфейсы.

Типы клиентов OAuth

Клиент OAuth ― это веб-приложение или программное обеспечение, которое запрашивает доступ к ресурсам в Qlik Cloud от имени пользователя. OAuth определяет два типа клиентов (общедоступные и конфиденциальные клиенты), которые обеспечивают безопасную авторизацию между приложением (клиентом) и сервером авторизации (Qlik Cloud).

Qlik Cloud поддерживает конфиденциальные клиенты для традиционных веб-приложений (серверных) и общедоступные клиенты для собственных или одностраничных приложений с использованием определенных потоков авторизации.

Для ознакомления с официальной спецификацией OAuth 2.0 по типам клиентов см. Раздел 2.1 документа RFC 6749: Типы клиентов OAuth 2.0.

Общедоступные клиенты

Общедоступные клиенты — это приложения, которые не используют секрет клиента, так как они не могут обеспечивать конфиденциальность необходимых учетных данных. В Qlik Cloud к ним относятся клиентские приложения, например, одностраничные приложения (SPA) со встроенной аналитикой или пользовательские расширения визуализации в Qlik Sense, требующие проверки подлинности пользователя.

Конфиденциальные клиенты

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

Пример: веб-приложение с защищенной серверной частью, взаимодействующее с API-интерфейсами Qlik Cloud с целью управления доступом пользователей к содержимому и оркестрации задач обновления данных.

Потоки авторизации OAuth

Qlik поддерживает два потока авторизации (типы предоставления авторизации):

  • Поток кодов авторизации: для конфиденциальных клиентов.

  • Поток кода авторизации с ключом PKCE (Proof Key for Code Exchange, ключ подтверждения для обмена кодом): для общедоступных клиентов.

Поток кода авторизации

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

Примечание к информацииНикогда никому не показывайте свой секрет клиента, так как это ставит под угрозу безопасность клиента. Обеспечьте его безопасность и конфиденциальность.

Для получения дополнительной информации о потоке кода авторизации см. официальную документацию OAuth 2.0: Поток кода авторизации.

Поток кода авторизации с PKCE

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

Для получения дополнительной информации о потоке с PKCE см. официальную документацию OAuth 2.0: Поток кода авторизации с PKCE (Proof Key for Code Exchange, ключ подтверждения для обмена кодом).

Области и разрешения OAuth

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

Доступные области OAuth

В таблице перечислены доступные области и связанные с ними разрешения:

Область Разрешение
user_default Полный доступ к вашей учетной записи и содержимому
admin_classic

Полный доступ администратора к клиенту

См. также: Развертывание и администрирование Qlik Cloud

Примечание к информацииНе поддерживается в типах клиента Одностраничное приложение и Собственный.
admin.apps

Чтение всех приложений в клиенте и управление ими.

См. также: Управление приложениями

Обозначает дочерний объект admin.apps:export

Экспорт всех приложений в клиенте

См. также: Экспорт приложений

Обозначает дочерний объект admin.apps:read

Чтение всех приложений в клиенте
admin.automations

Чтение всех автоматизаций в клиенте и управление ими

См. также: Управление автоматизациями

Обозначает дочерний объект admin.automations:read

Чтение всех автоматизаций в клиенте
admin.spaces

Чтение всех пространств в клиенте и управление ими

См. также: Управление пространствами

Обозначает дочерний объект admin.spaces:read

Чтение всех пространств в клиенте
приложения

Чтение ваших приложений и управление ими

См. также: Управление приложениями

Обозначает дочерний объект apps:export

Экспорт ваших приложений

См. также: Экспорт приложений

Обозначает дочерний объект apps:read

Чтение ваших приложений
automations

Чтение ваших автоматизаций и управление ими

См. также: Управление автоматизациями

Обозначает дочерний объект automations:read

Чтение ваших автоматизаций
automl-experiments Чтение ваших экспериментов машинного обучения и управление ими
automl-deployments Чтение ваших развертываний машинного обучения и управление ими
identity.email:read

Чтение вашего адреса электронной почты

См. также: Поставщики удостоверений в Qlik Cloud

identity.name:read

Чтение полного имени
identity.picture:read

Чтение фотографии профиля

См. также: Поставщики удостоверений в Qlik Cloud

identity.subject:read

Чтение идентификатора темы пользователя
spaces.data

Чтение ваших пространств данных и управление ими

См. также: Управление пространствами

Обозначает дочерний объект spaces.data:read

Чтение ваших пространств данных
spaces.managed

Чтение ваших управляемых пространств и управление ими

См. также: Управление пространствами

Обозначает дочерний объект spaces.managed:read

Чтение ваших управляемых пространств
spaces.shared

Чтение ваших общих пространств и управление ими

См. также: Управление пространствами

Обозначает дочерний объект spaces.shared:read

Чтение ваших общих пространств
offline_access

Доступ к ресурсам при нахождении в автономном режиме

Примечание к информацииНе поддерживается для типа клиента Одностраничное приложение.
Примечание к информацииЭтот список отражает области, поддерживаемые в первоначальном выпуске. Полный список областей можно найти на Портале разработчиков Qlik в разделе Области OAuth.

Создание клиентов OAuth

Администраторы клиента управляют клиентами OAuth на странице OAuth в центре активностиАдминистрирование. Клиент OAuth позволяет интегрировать клиентское приложение с Qlik Cloud для обеспечения безопасного доступа к ресурсам.

Ограничения для клиентов OAuth

Действуют следующие ограничения:

  • Максимум 5 URL-адресов перенаправления для одного клиента.

  • Максимум 5 разрешенных источников на одного клиента.

  • Максимум 5 клиентских секретов на одного клиента.

  • Максимум 200 клиентов OAuth на одного клиента.

Шаги по созданию клиента OAuth

Выполните следующие действия.

  1. В центре активности Администрирование выберите OAuth.

  2. Нажмите Создать.

  3. Выберите тип клиента:

    • Веб-приложение для конфиденциальных клиентов.

    • Одностраничное приложение или Собственный для общедоступных клиентов.

  4. В диалоговом окне введите имя для клиента OAuth.

  5. Добавьте описание (необязательно).

  6. Выберите любую из доступных областей в списке (используя полосу прокрутки) или с помощью поля поиска.

    Примечание к подсказкеИспользуйте кнопки Все и Выбранные, чтобы отобразить все области или только выбранные области.
  7. Введите один или несколько URL-адресов перенаправления для клиентского приложения OAuth (максимум 5). Затем нажмите Добавить, чтобы добавить URL-адрес перенаправления в список разрешений.

    • Сервер авторизации перенаправляет браузер пользователя по этому URL-адресу после успешной проверки подлинности и предоставления разрешения на доступ к клиентскому приложению. Например, https://www.exampleapp.com/oauth/callback, где /oauth/callback обрабатывает обратные вызовы проверки подлинности от поставщика OAuth.

    • Qlik Cloud будет перенаправлять пользователя обратно в приложение после успешной авторизации, только если URL-адрес приложения находится в списке разрешенных URL-адресов перенаправления.

    • URL-адреса должны начинаться с https://, однако для домена localhost может использоваться префикс http://. Собственные приложения также могут использовать специальный формат ссылки на приложение, например exampleapp://.

  8. Для клиента типов Веб-приложение или Одностраничное приложение укажите один или несколько разрешенных источников.

    • Доступ к приложению разрешается, только если URL-адрес добавлен в список разрешенных источников.

  9. Для клиента типа Веб-приложение можно включить один из следующих параметров для автоматического доступа к системе без взаимодействия с пользователем:

    • Разрешить доступ «Машина-машина» (M2M): обеспечивает связь между системами без участия пользователя.

    • Разрешить олицетворение пользователя M2M: позволяет приложению проходить проверку подлинности от имени пользователей, выступая в их роли во время процесса проверки подлинности.

  10. Нажмите кнопку Создать.

  11. Нажмите Копировать в буфер, чтобы сохранить ИД и секрет клиента для будущего использования. Сохраните секрет клиента в надежном месте.

    Примечание к информацииОбщедоступные клиенты не имеют секрета клиента.
  12. Щелкните Готово.

Клиенты OAuth для конкретных случаев использования

Для ознакомления с примерами использования клиента OAuth см. следующие ресурсы:

Создание клиента OAuth для надстройки Qlik для Microsoft Excel

Чтобы установить надстройку Qlik для Microsoft Excel, требуется конфигурация клиента OAuth. Надстройка используются разработчиками отчетов для подготовки шаблонов отчетов, которые контролируют вывод табличных отчетов из приложения Qlik Sense.

Чтобы в надстройке работал протокол OAuth, необходимо настроить клиент OAuth, в точности соблюдая приведенную ниже конфигурацию.

Выполните следующие действия.

  1. В центре активности Администрирование в Qlik Cloud выберите OAuth.

  2. Нажмите Создать.

  3. В раскрывающемся списке Тип клиента выберите Одностраничное приложение. Появятся дополнительные поля.

  4. Вставьте Имя. По желанию заполните поле Описание

  5. Как минимум, установите флажок, чтобы включить область user_default. В конфигурацию можно включить другие области, но без user_default установленный экземпляр работать не будет.

    Полное описание каждой доступной области см. в Доступные области OAuth.

  6. В поле Добавить URL-адреса перенаправления вставьте URL клиента, за которым следует фиксированная строка: /office-add-ins/oAuthLoginSuccess.html

    Результат должен выглядеть так, как показано ниже: https://YourServer/office-add-ins/oAuthLoginSuccess.html

  7. Щелкните команду Добавить.

  8. В поле Добавление разрешенных источников вставьте URL-адрес клиента и нажмите кнопку Добавить.

  9. Щелкните Создать.

  10. Откроется окно Копирование идентификатора клиента. По желанию можно скопировать идентификатор клиента в буфер обмена или нажать кнопку Готово, чтобы закрыть окно.

После создания клиента OAuth получите ссылку на обновленный файл манифеста XML из центра активности Администрирование. Перейдите на страницу Параметры, затем выберите Совместное использование и отчетыНадстройка Excel в центре активности Администрирование. Используйте эту ссылку для развертывания и установки надстройки.

Для получения дополнительной информации о создании файла манифеста, а также о развертывании и установке надстройки см.:

Создание клиента OAuth для анонимного встраивания содержимого приложений

Чтобы встроить содержимое приложения для анонимного доступа с помощью qlik-embed, необходимо создать клиент OAuth с типом, специально предназначенным для этого случая использования.

Примечание к информации Эта функция доступна только при использовании подписки Qlik Anonymous Access. Для получения дополнительной информации см. раздел Подписки Qlik Anonymous Access.

Выполните следующие действия.

  1. В центре активности Администрирование откройте раздел OAuth.

  2. Нажмите Создать.

  3. В раскрывающемся списке Тип клиента выберите Анонимное встраивание.

  4. Введите имя и, по желанию, описание для клиента OAuth.

  5. В разделе Разрешенные источники введите каждый источник, который необходимо авторизовать. Это домены, которые будут обращаться к клиенту Qlik Cloud с целью получения информации для встроенной аналитики.

    Щелкайте Добавить после вставки каждого URL-адреса.

  6. После этого нажмите Создать.

  7. Нажмите Копировать в буфер, чтобы сохранить идентификатор клиента для будущего использования. Он понадобится, когда содержимое приложения будет встроено в qlik-embed.

  8. Щелкните Готово.

Редактирование клиентов OAuth

Можно переименовать клиент OAuth, обновить описание или управлять URL-адресами перенаправления.

Выполните следующие действия.

  1. В центре активности Администрирование выберите OAuth.
  2. Выберите клиент OAuth, который необходимо редактировать.
  3. Нажмите Дополнительно и выберите Изменить.
  4. Внесите необходимые изменения в параметры клиента OAuth.
  5. Нажмите кнопку Сохранить.

Удаление клиентов OAuth

Можно удалить клиент OAuth, когда он больше не нужен или когда требуется отозвать доступ.

Выполните следующие действия.

  1. В центре активности Администрирование выберите OAuth.

  2. Выберите один или несколько клиентов OAuth, которые требуется удалить, и нажмите Удалить.

  3. Подтвердите удаление.

Публикация клиентов OAuth

Клиенты OAuth автоматически связываются с клиентом, который их создал. Однако можно настроить клиента OAuth так, чтобы он был общим для нескольких клиентов в одном регионе. Это позволяет сторонним приложениям использовать один и тот же идентификатор клиента на разных клиентах Qlik Cloud.

Владельцы приложений могут выполнять ротацию секретов и обновлять конфигурацию без взаимодействия с администратором клиента. Администраторам клиента не требуется управлять учетными данными или знать какие-либо детали конфигурации опубликованного клиента.

Чтобы позволить другим клиентам подключаться к определенному клиенту OAuth, его необходимо опубликовать.

Выполните следующие действия.

  1. В центре активности Администрирование выберите OAuth.
  2. Выберите клиент OAuth, который необходимо опубликовать.
  3. Щелкните Дополнительно рядом с клиентом и выберите Опубликовать.
  4. Щелкните Опубликовать, чтобы подтвердить.

После публикации клиент OAuth становится доступным для внешнего использования другими клиентами. Когда пользователь переходит на внешний веб-сайт, на котором используется клиент OAuth, появляется запрос на ввод имени хоста клиента и учетных данных пользователя, если в данный момент отсутствует активный сеанс SaaS пользователя.

Для первоначального входа в систему потребуется согласие администратора клиента. После одобрения клиент OAuth появится в центре активности Администрирование клиента.

Методы согласия

По умолчанию Qlik Cloud запрашивает у пользователей согласие при проверке пользователей. Чтобы упростить этот процесс, особенно для доверенных приложений, можно установить метод согласия «Доверенный», что позволит пропустить запрос на согласие.

Предоставляется для варианта согласия:

  • Обязательное: запрос на согласие появляется каждый раз, когда клиент OAuth запрашивает новую область. Этот метод обеспечивает явное одобрение пользователем каждого уровня доступа.

  • Доверенное: пользователь не получает запросы согласия. Этот вариант доступен только для неопубликованных клиентов. Для опубликованных клиентов всегда используется метод согласия Обязательное, чтобы обеспечить безопасность нескольких клиентов.

Примечание к информацииДля клиентов, используемых в режиме доступа «Машина-машина» (M2M), метод согласия необходимо изменить на Доверенное после создания клиента.

Изменение метода согласия

Чтобы изменить метод согласия для клиента OAuth, выполните следующие действия.

  1. В центре активности Администрирование выберите OAuth.
  2. На клиенте OAuth щелкните Дополнительно и выберите Изменить метод согласия.
  3. Выберите Обязательное или Доверенное и затем нажмите Изменить метод согласия.

Просмотр и копирование конфигурации OAuth

В разделе OAuth центра активности Администрирование выберите Просмотр конфигурации OAuth, чтобы отобразить данные для проверки подлинности клиента Qlik Cloud. Будет отображен фрагмент кода с конечными точками OAuth и параметрами, а также URL-адрес, который можно скопировать для использования во внешних приложениях.

Эту конфигурацию можно использовать для интеграции Qlik Cloud с приложениями сторонних разработчиков, автоматизации доступа к API или настройки проверки подлинности для встроенной аналитики.

Управление секретами клиента

Если секрет клиента скомпрометирован или если политика безопасности требует периодического обновления, можно добавить или удалить секреты. Чтобы избежать простоев, можно добавить несколько секретов клиента (максимум 5), обновить клиентское приложение, а затем удалить старый секрет.

Добавление секрета клиента

Выполните следующие действия.

  1. В центре активности Администрирование выберите OAuth.
  2. Найдите клиент OAuth.
  3. Нажмите Дополнительно и выберите Управление секретами.
  4. Нажмите Создать новый секрет клиента.
  5. Скопируйте секрет клиента и идентификатор клиента и храните их в надежном месте.

    Примечание к информацииСекрет клиента будет невозможно просмотреть позже.
  6. Нажмите Закрыть.

Добавление секрета клиента

Выполните следующие действия.

  1. В центре активности Администрирование выберите OAuth.
  2. Найдите клиент OAuth.
  3. Нажмите Дополнительно и выберите Управление секретами.
  4. Нажмите Удалить рядом с секретом клиента.
  5. Нажмите Закрыть.

Создание клиентских приложений OAuth для доступа к Qlik Cloud

После регистрации клиента OAuth в Qlik Cloud можно использовать связанные с ним идентификатор и секрет клиента в клиентском приложении OAuth.

Для получения пошагового руководства см. учебные пособия в разделе Обзор OAuth на портале разработчиков Qlik. В этих учебных пособиях рассказывается о том, как создавать клиентские приложения с помощью популярных языков программирования.

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!