Использование OAuth для подключения к Сервер отчетов Power BI и SSRS

Вы можете использовать OAuth для подключения к Сервер отчетов Power BI и службам Reporting Services для отображения мобильных отчетов или ключевых показателей эффективности. Узнайте, как настроить среду для поддержки проверки подлинности OAuth с помощью мобильного приложения Power BI для подключения к Сервер отчетов Power BI и SQL Server Reporting Services 2016 или более поздней версии.

Примечание.

Просмотр отчетов Power BI, размещенных в Сервер отчетов Power BI с помощью WAP для проверки подлинности, теперь поддерживается для приложений iOS и Android.

Requirements

Windows Server 2016 требуется для серверов прокси веб-приложения (WAP) и службы федерации Active Directory (AD FS) (ADFS). У вас нет домена функционального уровня Windows 2016.

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

Конфигурация служб доменных имен (DNS)

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

https://reports.contoso.com

Запись DNS для отчетов на общедоступный IP-адрес сервера прокси веб-приложения (WAP). Кроме того, необходимо настроить общедоступную запись DNS для сервера ADFS. Например, возможно, вы настроили сервер ADFS со следующим URL-адресом.

https://fs.contoso.com

Запись DNS для fs на общедоступный IP-адрес сервера прокси веб-приложения (WAP), так как она будет опубликована как часть приложения WAP.

Сертификаты

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

Конфигурация служб Reporting Services

На стороне служб Reporting Services не нужно настраивать много. Вам просто нужно убедиться, что:

Имя субъекта-службы (SPN)

Имя субъекта-службы — это уникальный идентификатор для службы, которая использует проверку подлинности Kerberos. Необходимо убедиться, что у вас есть соответствующий HTTP-имя участника-службы для сервера отчетов.

Сведения о настройке правильного имени субъекта-службы для сервера отчетов см. в разделе "Регистрация имени субъекта-службы" для сервера отчетов.

Включение проверки подлинности для согласования

Чтобы разрешить серверу отчетов использовать проверку подлинности Kerberos, необходимо настроить тип проверки подлинности сервера отчетов для RSWindowsNegotiate. Это можно сделать в файле rsreportserver.config.

<AuthenticationTypes>  
    <RSWindowsNegotiate />  
    <RSWindowsKerberos />  
    <RSWindowsNTLM />  
</AuthenticationTypes>

Дополнительные сведения см. в разделе "Изменение файла конфигурации служб Reporting Services" и настройка проверки подлинности Windows на сервере отчетов.

конфигурация службы федерации Active Directory (AD FS) (ADFS)

Необходимо настроить ADFS на сервере Windows 2016 в вашей среде. Конфигурацию можно выполнить с помощью диспетчер сервера и выбора добавления ролей и компонентов в разделе "Управление". Дополнительные сведения см. в службы федерации Active Directory (AD FS).

Создать группу приложений

На экране управления AD FS необходимо создать группу приложений для служб Reporting Services, которая будет включать сведения для мобильных приложений Power BI.

Вы можете создать группу приложений, выполнив следующие действия.

  1. В приложении ad FS Management щелкните правой кнопкой мыши группы приложений и выберите " Добавить группу приложений".

    ADFS Add Application

  2. В мастере добавления группы приложений укажите имя группы приложений и выберите собственное приложение, обращающееся к веб-API.

    ADFS Application Group Wizard 01

  3. Выберите Далее.

  4. Укажите имя добавляемого приложения.

  5. Хотя идентификатор клиента будет создан автоматически, введите 484d54fc-b481-4eee-9505-0258a13020 для iOS и Android.

  6. Вы хотите добавить следующие URL-адреса перенаправления:

    Записи для Power BI Mobile — iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilems

    Приложения Android должны выполнить следующие действия.
    urn:ietf:wg:oauth:2.0:oob

    ADFS Application Group Wizard 02

  7. Выберите Далее.

  8. Укажите URL-адрес сервера отчетов. URL-адрес — это внешний URL-адрес, который будет попасть в прокси веб-приложения. Он должен быть в следующем формате.

    Примечание.

    Этот URL-адрес учитывает регистр!

    https://<report server url>/reports

    ADFS Application Group Wizard 03

  9. Выберите Далее.

  10. Выберите политику контроль доступа, которая соответствует потребностям вашей организации.

    ADFS Application Group Wizard 04

  11. Выберите Далее.

  12. Выберите Далее.

  13. Выберите Далее.

  14. Выберите Закрыть.

После завершения вы увидите свойства группы приложений, как показано ниже.

ADFS Application Group Wizard

Конфигурация прокси-сервера веб-приложения (WAP)

Вы хотите включить роль Прокси веб-приложения (роль) Windows на сервере в вашей среде. Он должен находиться на сервере Windows 2016. Дополнительные сведения см. в статье "Прокси веб-приложения" в Windows Server 2016 и публикации приложений с помощью предварительной проверки подлинности AD FS.

Конфигурация ограниченного делегирования

Чтобы перейти с проверки подлинности OAuth на проверка подлинности Windows, необходимо использовать ограниченное делегирование с переходом протокола. Это часть конфигурации Kerberos. Мы уже определили имя субъекта-службы Reporting Services в конфигурации служб Reporting Services.

Необходимо настроить ограниченное делегирование в учетной записи компьютера WAP Server в Active Directory. Возможно, вам потребуется работать с администратором домена, если у вас нет прав на Active Directory.

Чтобы настроить ограниченное делегирование, выполните следующие действия.

  1. На компьютере с установленными средствами Active Directory запустите Пользователи и компьютеры Active Directory.

  2. Найдите учетную запись компьютера для сервера WAP. По умолчанию он будет находиться в контейнере компьютеров.

  3. Щелкните правой кнопкой мыши сервер WAP и перейдите к свойствам.

  4. Перейдите на вкладку "Делегирование".

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

    WAP Constrained

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

  6. Нажмите кнопку "Добавить... в поле "Службы".

    WAP Constrained 02

  7. Выбор пользователей или компьютеров...

  8. Введите учетную запись службы, используемую для служб Reporting Services. Эта учетная запись — это учетная запись, добавленная в службу субъекта-службы в конфигурации служб Reporting Services.

  9. Выберите имя субъекта-службы для служб Reporting Services и нажмите кнопку "ОК".

    Примечание.

    Возможно, вы увидите только имя субъекта-службы NetBIOS. На самом деле он выберет имена субъектов-служб NetBIOS и FQDN, если они существуют.

    WAP Constrained 03

  10. Результат должен выглядеть примерно так, как при проверка развернутой проверка box.

    WAP Constrained 04

  11. Нажмите ОК.

Добавление приложения WAP

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

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl https://ContosoSSRS/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
Параметр Комментарии
ADFSRelyingPartyName Имя веб-API, созданное в составе группы приложений в ADFS.
ExternalCertificateThumbprint Сертификат, используемый для внешних пользователей. Важно, чтобы сертификат действителен на мобильных устройствах и был получен из доверенного центра сертификации.
BackendServerUrl URL-адрес сервера отчетов с сервера WAP. Если сервер WAP находится в dmZ, может потребоваться использовать полное доменное имя. Убедитесь, что этот URL-адрес можно получить из веб-браузера на сервере WAP.
BackendServerAuthenticationSPN Имя субъекта-службы, созданное в рамках конфигурации служб Reporting Services.

Настройка встроенной проверки подлинности для приложения WAP

После добавления приложения WAP необходимо задать backendServerAuthenticationMode для использования IntegrationWindowsAuthentication. Чтобы задать его, необходимо указать идентификатор из приложения WAP.

Get-WebApplicationProxyApplication "Contoso Reports" | fl

Add Application Group

Выполните следующую команду, чтобы задать BackendServerAuthenticationMode с помощью идентификатора приложения WAP.

Set-WebApplicationProxyApplication -id 30198C7F-DDE4-0D82-E654-D369A47B1EE5 -BackendServerAuthenticationMode IntegratedWindowsAuthentication

Add Application Group wizard

Подключение с помощью мобильного приложения Power BI

В мобильном приложении Power BI необходимо подключиться к экземпляру служб Reporting Services. Для этого укажите внешний URL-адрес для приложения WAP.

Type the server address

При выборе Подключение вы будете перенаправлены на страницу входа ADFS. Введите допустимые учетные данные для вашего домена.

Sign-in to ADFS

После нажатия кнопки "Вход" вы увидите элементы на сервере Служб Reporting Services.

Многофакторная проверка подлинности

Вы можете включить многофакторную проверку подлинности, чтобы обеспечить дополнительную безопасность для вашей среды. Дополнительные сведения см. в статье "Настройка Azure MFA в качестве поставщика проверки подлинности с помощью AD FS".

Устранение неполадок

Появится сообщение об ошибке "Не удалось войти на сервер SSRS"

Вы можете настроить Fiddler для работы с прокси-сервером для мобильных устройств, чтобы узнать, насколько далеко выполнен запрос. Чтобы включить прокси-сервер Fiddler для телефонного устройства, необходимо настроить CertMaker для iOS и Android на компьютере под управлением Fiddler. Надстройка из Telerik для Fiddler.

Если вход работает успешно при использовании Fiddler, может возникнуть проблема с сертификатом с приложением WAP или сервером ADFS.