Поделиться через


Подключение к серверу отчетов Power BI и SSRS из мобильных приложений Power BI

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

Требования

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

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

Заметка

По состоянию на 1 марта 2025 г. мобильное приложение Power BI Mobile больше не сможет подключаться к серверу отчетов с помощью протокола OAuth через AD FS, настроенное в Windows Server 2016. Клиентам, которые используют OAuth с AD FS, настроенными в Windows Server 2016 и прокси веб-приложения (WAP), потребуется обновить сервер AD FS до Windows Server 2019 или более поздней версии или использовать прокси приложения Microsoft Entra. После обновления Windows Server пользователям мобильных приложений Power BI может потребоваться повторно войти на сервер отчетов.

Это обновление требует изменения в библиотеке проверки подлинности, используемой мобильным приложением. Изменение никак не влияет на поддержку AD FS в Windows Server 2016, а только возможность подключения к нему приложения Power BI Mobile.

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

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

https://reports.contoso.com

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

https://fs.contoso.com

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

Сертификаты

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

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

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

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

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

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

Включение согласованной аутентификации

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

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

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

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

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

Важный

По состоянию на 1 марта 2025 г. приложения Power BI Mobile больше не смогут подключаться к серверу отчетов через AD FS, настроенные в Windows Server 2016. См. заметку в начале этой статьи.

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

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

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

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

    добавление приложения AD FS

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

    Мастер группы приложений AD FS 01

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

  4. Укажите, пожалуйста, имя для приложения, которое вы добавляете.

  5. Хотя ID клиента будет автоматически сгенерирован для вас, введите 484d54fc-b481-4eee-9505-0258a1913020 для 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

    мастер группы приложений AD FS 02

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

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

    Заметка

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

    https://<report server url>/reports

    Мастер группы приложений AD FS 03

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

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

    мастер группы приложений AD FS 04

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

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

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

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

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

мастер групп приложений AD FS

Теперь выполните следующую команду PowerShell на сервере AD FS, чтобы убедиться, что обновление токена поддерживается.

Set-AdfsApplicationPermission -TargetClientRoleIdentifier '484d54fc-b481-4eee-9505-0258a1913020' -AddScope 'openid'

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

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

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

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

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

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

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

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

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

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

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

    Ограниченный WAP

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

  6. Выберите Добавить... в разделе служб.

    ограниченный WAP 02

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

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

  9. Выберите SPN для служб Reporting Services и нажмите ОК.

    Заметка

    Вы можете увидеть только SPN NetBIOS. Фактически, он выберет SPN NetBIOS и FQDN, если они оба существуют.

    ограничение WAP 03

  10. Результат должен выглядеть следующим образом, если установлен флажок Расширенный.

    ограниченный WAP 04

  11. Нажмите кнопку ОК.

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

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

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

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

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

Get-WebApplicationProxyApplication "Contoso Reports" | fl

снимок экрана: идентификатор, необходимый для приложения WAP.

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

Set-WebApplicationProxyApplication -id 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -BackendServerAuthenticationMode IntegratedWindowsAuthentication

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

Подключение к мобильному приложению Power BI

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

Введите адрес сервера

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

вход в AD FS

После того как вы выбрали Войти, вы увидите элементы сервера службы Reporting Services.

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

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

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

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

ошибка

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

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