Подключение к серверу отчетов 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) , для обеспечения правильной проверки подлинности Kerberos.
- Сервер служб отчетности настроен для согласования проверки подлинности.
- Пользователи имеют доступ к домашней папке сервера отчетов.
Имя субъекта-службы (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.
Вы можете создать группу приложений, выполнив следующие действия.
В приложении управления AD FS щелкните правой кнопкой мыши группы приложений и выберите Добавить группу приложений...
AD FS
В мастере добавления групп приложений укажите имя для группы приложений и выберите нативное приложение, обращающееся к веб-API.
Мастер группы приложений AD FS
Выберите Далее.
Укажите, пожалуйста, имя для приложения, которое вы добавляете.
Хотя ID клиента будет автоматически сгенерирован для вас, введите 484d54fc-b481-4eee-9505-0258a1913020 для iOS и Android.
Вы хотите добавить следующие 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Выберите Далее.
Укажите URL-адрес сервера отчетов. URL-адрес — это внешний URL-адрес, который будет попасть в прокси веб-приложения. Он должен быть в следующем формате.
Заметка
Этот URL-адрес с учетом регистра!
https://<report server url>/reports
Выберите Далее.
Выберите политику управления доступом , которая соответствует потребностям вашей организации.
Выберите Далее.
Выберите Далее.
Выберите Далее.
Выберите Закрыть.
После завершения вы увидите свойства группы приложений, как показано ниже.
Теперь выполните следующую команду 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.
Чтобы настроить ограниченное делегирование, выполните следующие действия.
На компьютере с установленными средствами Active Directory откройте Active Directory Пользователи и Компьютеры.
Найдите учетную запись компьютера для сервера WAP. По умолчанию он находится в контейнере компьютеров.
Щелкните правой кнопкой мыши на сервере WAP и перейдите к Свойствам.
Перейдите на вкладку делегирования.
Выберите Доверять этому компьютеру для делегирования только указанным службам, а затем Использовать любой протокол проверки подлинности.
Это настраивает ограниченное делегирование для этой учетной записи машины WAP Server. Затем необходимо указать службы, которым разрешено делегировать этот компьютер.
Выберите Добавить... в разделе служб.
Выберите Пользователи или компьютеры...
Введите учетную запись службы, используемую для Reporting Services. Эта учетная запись — это та, в которую вы добавили SPN в конфигурацию служб Reporting Services.
Выберите SPN для служб Reporting Services и нажмите ОК.
Заметка
Вы можете увидеть только SPN NetBIOS. Фактически, он выберет SPN NetBIOS и FQDN, если они оба существуют.
Результат должен выглядеть следующим образом, если установлен флажок Расширенный.
Нажмите кнопку ОК.
Добавление приложения 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
Выполните следующую команду, чтобы задать BackendServerAuthenticationMode с помощью идентификатора приложения WAP.
Set-WebApplicationProxyApplication -id 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -BackendServerAuthenticationMode IntegratedWindowsAuthentication
Подключение к мобильному приложению Power BI
В мобильном приложении Power BI необходимо подключиться к экземпляру служб отчетности (Reporting Services). Для этого укажите внешний URL-адрес для приложения WAP.
При выборе Connectвы будете перенаправлены на страницу входа AD FS. Введите допустимые учетные данные для вашего домена.
После того как вы выбрали Войти, вы увидите элементы сервера службы Reporting Services.
Многофакторная проверка подлинности
Вы можете включить многофакторную проверку подлинности, чтобы включить дополнительную безопасность для вашей среды. Дополнительные сведения см. в статье Настройка многофакторной аутентификации Microsoft Entra в качестве поставщика аутентификации с AD FS.
Устранение неполадок
Появится сообщение об ошибке "Не удалось войти на сервер SSRS"
Вы можете настроить Fiddler как прокси-сервер для мобильных устройств, чтобы просмотреть, на каком этапе находится запрос. Чтобы включить прокси-сервер Fiddler для телефонного устройства, необходимо настроить CertMaker для iOS и Android на компьютере под управлением Fiddler. Надстройка от Telerik для работы с Fiddler.
Если вход работает успешно при использовании Fiddler, может возникнуть проблема с сертификатом с приложением WAP или сервером AD FS.
Связанное содержимое
- Зарегистрировать имя учетной записи службы (SPN) для сервера отчетов
- Изменение файла конфигурации Reporting Services
- настройка проверки подлинности Windows на сервере отчетов
- службы федерации Active Directory
- прокси веб-приложения в Windows Server
- Публикация приложений с использованием предварительной аутентификации AD FS
-
Настройка многофакторной аутентификации Microsoft Entra в качестве поставщика аутентификации с помощью AD FS
Дополнительные вопросы? Попробуйте сообщество Power BI