Создание клиентов OAuth и управление ими | Qlik Cloud Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

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

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

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

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

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

Официальную спецификацию OAuth 2.0 по типам клиентов см. в разделе RFC 6749 Section 2.1: OAuth 2.0 Client Types.

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

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

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

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

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

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

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

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

  • Поток кода авторизации с ключом доказательства для обмена кодом (PKCE): для общедоступных клиентов.

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

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

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

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

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

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

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

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

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

Примечание к информации

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

Доступные области действия 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. Для типов клиентов Веб или Одностраничное приложение укажите один или несколько разрешенных источников (не более 5).

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

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

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

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

  10. Для типа клиента Веб выберите одну или обе опции в разделе Метод аутентификации:

    • Секрет клиента (по умолчанию)

    • Закрытый ключ JWT, более безопасный вариант, который аутентифицирует клиента с использованием пары открытого/закрытого ключей вместо общего секрета.

      • При выборе Закрытый ключ JWT появляется поле Открытый ключ. Введите открытый ключ вашего стороннего приложения в формате JSON Web Key (JWK). Закрытый ключ остается в вашем приложении для подписи JWT. Для получения дополнительной информации о формате открытого ключа см. Create a public/private key pair for signing JWTs на портале разработчиков Qlik.

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

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

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

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

Информацию о вариантах использования клиентов OAuth см. в следующих ресурсах:

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

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

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

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

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

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

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

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

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

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

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

    Результат должен выглядеть так, как показано ниже: https://<tenant or alias hostname>.<region>.qlikcloud.com/office-add-ins/oAuthLoginSuccess.html. Например: http://example-company-123.us.qlikcloud.com/office-add-ins/oAuthLoginSuccess.html

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

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

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

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

После создания клиента OAuth получите ссылку на обновленный манифест XML из центра активности Администрирование. Перейдите на страницу Настройки и выберите вкладку Электронная почта и отчеты. В разделе Общий доступ и отчеты выберите надстройки Qlik для Microsoft Office. Используйте предоставленную ссылку для развертывания и установки надстройки.

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

Создание клиента 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

Следующие шаги: создание клиентских приложений OAuth

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

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

Клиенты OAuth на уровне организации

В дополнение к клиентам OAuth, специфичным для клиента, вы можете использовать клиенты OAuth на уровне организации. Как владелец сервисной учетной записи (SAO), вы можете создавать этих клиентов и управлять ими. Клиенты OAuth на уровне организации предоставляют доступ к информации о клиенте во всех клиентах в ваших подписках.

Для получения дополнительной информации см. Управление клиентами OAuth в My Qlik.

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

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