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

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

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

Общедоступные и конфиденциальные клиенты

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

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

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

См. документ : RFC 6749 раздел 2.1: типы клиентов OAuth 2.0.

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

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

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

Типы предоставления авторизации

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

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

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

Примечание к информацииОбмен секретом пользователя в общедоступной среде ставит под угрозу безопасность клиента. Всегда обеспечивайте безопасность и конфиденциальность секрета клиента для приложения.

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

Поток кода авторизации с ключом PKCE

Собственные и одностраничные приложения не могут хранить секрет клиента, так как их исходный код можно открыть путем декомпиляции приложения или просмотра исходного кода в браузере. Ключ PKCE (Proof Key for Code Exchange, ключ подтверждения для обмена кодом) обеспечивает дополнительный уровень защиты в общедоступных клиентах, требуя использования средства верификации кода для получения токена доступа.

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

Ограничение областей, доступных для клиентов OAuth

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

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

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

Управление клиентами OAuth осуществляют администраторы клиента на странице OAuth в Консоль управления.

Клиент OAuth позволяет интегрировать клиентское приложение с Qlik Cloud.

Инструкции по созданию клиента OAuth для развертывания и установки надстройки Qlik для Microsoft Excel см. в разделе Создание клиента OAuth для надстройки Qlik для Microsoft Excel.

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

  1. В Консоль управления перейдите в раздел OAuth.

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

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

    Используйте тип Веб для конфиденциальных клиентов и Одностраничное приложение или Собственное для общедоступных клиентов.

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

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

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

    Область Разрешение
    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

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

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

    identity.name:read

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

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

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

    identity.subject:read

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Затем нажмите Добавить, чтобы добавить URL-адрес перенаправления в список разрешений.

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

  9. Для типа клиента «Веб-приложение» можно установить флажок Разрешить доступ «Машина-машина» (M2M) или Разрешить олицетворение пользователя M2M, чтобы обеспечить автоматизированный доступ к системе без взаимодействия с пользователем. Олицетворение пользователя M2M позволяет приложению действовать от имени пользователей во время проверки подлинности.

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

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

    Примечание к информацииОбщедоступные клиенты не будут иметь секрета клиента.
Примечание к информацииОбзор разных примеров использования см. в разделе Сводка примеров использования и применяемых типов 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

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

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

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

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

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

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

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

  1. В Консоль управления перейдите в раздел OAuth.
  2. Выберите клиент OAuth, который необходимо опубликовать. Нажмите ... и выберите Опубликовать.
  3. Нажмите Опубликовать.

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

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

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

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

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

В разделе OAuth в Консоль управления выберите Просмотреть конфигурацию OAuth, чтобы открыть конфигурацию в виде фрагмента кода и URL-адреса для копирования.

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

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

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

  1. В Консоль управления перейдите в раздел OAuth.

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

    Примечание к информацииМожно удалить несколько клиентов OAuth одновременно.
  3. Подтвердите удаление клиента OAuth.

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

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

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

  1. В Консоль управления перейдите в раздел OAuth.
  2. Выберите клиента OAuth, которым собираетесь управлять. Нажмите ... и выберите Управление секретами.
  3. В диалоговом окне выполните одно из следующих действий.
    • Чтобы добавить новый секрет клиента, нажмите Создать новый секрет клиента.
    • Чтобы удалить секрет клиента, нажмите на Удалить рядом с секретом клиента.
  4. Нажмите Закрыть.

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

После регистрации клиента OAuth в Qlik Cloud можно использовать связанные с ним ИД и секрет клиента в собственном клиентском приложении. В разделе OAuth портала разработчиков доступны учебные пособия по созданию клиентских приложений с использованием некоторых наиболее распространенных языков программирования.

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

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