Подключение к Reporting Services с помощью OAuthUsing OAuth to connect to Reporting Services

Узнайте, как с помощью мобильного приложения Power BI настроить в среде поддержку проверки подлинности OAuth для подключения к Reporting Services 2016 или более поздней версии.Learn how to configure your environment to support OAuth authentication with the Power BI mobile app in order to connect to Reporting Services 2016 or later.

Раньше мобильное приложение Power BI поддерживало только обычную проверку подлинности по протоколу HTTPS для служб Reporting Services, чтобы отображать мобильные отчеты или ключевые показатели эффективности.In the past, the Power BI mobile app only supported basic authentication, over HTTPS, to Reporting Services in order to display Mobile Reports or KPIs. Многие организации не допускают такой конфигурации из соображений безопасности.Many organizations do not allow this type of configuration due to security concerns. Теперь, после обновления мобильного приложения Power BI, можно использовать OAuth для подключения к службам Reporting Services.With an update to the Power BI mobile app, you can now use OAuth to connect to Reporting Services. Windows Server 2016 предоставляет некоторые улучшения для роли прокси-службы веб-приложения, чтобы разрешить такой тип проверки подлинности.Windows Server 2016 provides some improvements to the Web Application Proxy role to allow this type of authentication.

ТребованияRequirements

ОС Windows Server 2016 является обязательным компонентом для прокси-службы веб-приложения (WAP) и серверов службы федерации Active Directory (AD FS).Windows Server 2016 is required for the Web Application Proxy (WAP) and Active Directory Federation Services (ADFS) servers. Домен функционального уровня Windows 2016 не требуется.You do not need to have a Windows 2016 functional level domain.

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

Вы должны определить, к какому общедоступному URL-адресу будет подключаться мобильное приложение Power BI.You will need to determine what the public URL will be that the Power BI mobile app will connect to. Например, он может выглядеть следующим образом.For example, it may look similar to the following.

https://reports.contoso.com

Вам нужно направить запись DNS для имени reports на общедоступный IP-адрес сервера прокси-службы веб-приложения (WAP).You will need to point your DNS record for reports to the public IP address of the Web Application Proxy (WAP) server. Также необходимо будет настроить общедоступную запись DNS для сервера AD FS.You will also need to configure a public DNS record for your ADFS server. Например, вы можете настроить для сервера AD FS следующий URL-адрес.For example, you may have configured the ADFS server with the following URL.

https://fs.contoso.com

Вам нужно направить запись DNS для имени fs на общедоступный IP-адрес сервера прокси-службы веб-приложения (WAP), так как он будет опубликован как часть приложения WAP.You will need to point your DNS record for fs to the public IP address of the Web Application Proxy (WAP) server as it will be published as part of the WAP application.

СертификатыCertificates

Вы должны настроить сертификаты для приложения WAP и сервера AD FS.You will need to configure certificates for both the WAP application and the ADFS server. Оба сертификата должны быть частью действительного центра сертификации, который распознают ваши мобильные устройства.Both of these certificates must be part of a valid certificate authority that your mobile devices recognize.

Настройка служб Reporting ServicesReporting Services configuration

На стороне служб Reporting Services не требуется сложная настройка.There isn’t much to configure on the Reporting Services side. Необходимо просто указать допустимое имя субъекта-службы (SPN), которое обеспечивает правильную проверку подлинности Kerberos, и включить сервер Reporting Services для проверки подлинности с согласованием.We just need to make sure that we have a valid Service Principal Name (SPN) to enable the proper Kerberos authentication to occur and that the Reporting Services server is enabled for negotiate authentication.

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

Имя субъекта-службы — это уникальный идентификатор для службы, которая использует проверку подлинности Kerberos.The SPN is a unique identifier for a service that uses Kerberos authentication. Убедитесь, что вы указали правильное имя субъекта-службы HTTP для сервера отчетов.You will need to make sure you have a proper HTTP SPN present for your report server.

Руководство по настройке правильного имени субъекта-службы (SPN) для сервера отчетов см. в статье о регистрации имени субъекта-службы (SPN) для сервера отчетов.For information on how to configure the proper Service Principal Name (SPN) for your report server, see Register a Service Principal Name (SPN) for a Report Server.

Включение проверки подлинности с согласованиемEnabling negotiate authentication

Чтобы включить сервер отчетов для использования проверки подлинности Kerberos, необходимо указать RSWindowsNegotiate в качестве типа проверки подлинности на сервере отчетов.To enable a report server to use Kerberos authentication, you will need to configure the Authentication Type of the report server to be RSWindowsNegotiate. Это можно сделать в файле rsreportserver.config.This is done within the rsreportserver.config file.

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

Дополнительные сведения см. в статьях об изменении файла конфигурации Reporting Services и настройке проверки подлинности Windows на сервере отчетов.For more information, see Modify a Reporting Services Configuration File and Configure Windows Authentication on a Report Server.

Настройка служб федерации Active Directory (AD FS)Active Directory Federation Services (ADFS) Configuration

Вам необходимо настроить AD FS на сервере Windows 2016 в вашей среде.You will need to configure ADFS on a Windows 2016 server within your environment. Для этого в диспетчере серверов в разделе "Управление" выберите "Добавить роли и компоненты".This can be done through the Server Manager and selecting Add Roles and Features under Manage. Дополнительные сведения см. в документации служб федерации Active Directory.For more information, see Active Directory Federation Services.

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

На экране управления AD FS необходимо создать группу приложений для Reporting Services, которая будет содержать информацию для приложений Power BI Mobile.Within the AD FS Management screen, you will want to create an application group for Reporting Services which will include information for the Power BI Mobile apps.

Вот как создать группу приложений.You can create the application group with the following steps.

  1. В приложении управления AD FS щелкните правой кнопкой мыши элемент Группы приложений и выберите команду Добавить группу приложений....Within the AD FS Management app, right click Application Groups and select Add Application Group…

  2. В мастере добавления группы приложений укажите имя группы приложений и выберите параметр Собственное приложение, подключающееся к веб-API.Within the Add Application Group Wizard, provide a name for the application group and select Native application accessing a web API.

  3. Нажмите кнопку Далее.Select Next.
  4. Укажите имя приложения, которое вы добавляете.Provide a name for the application you are adding.
  5. Пока будет автоматически создаваться идентификатор клиента, укажите 484d54fc-b481-4eee-9505-0258a1913020 для iOS и Android.While the Client ID will be auto generated for your, enter in 484d54fc-b481-4eee-9505-0258a1913020 for both iOS and Android.
  6. Необходимо добавить следующие URL-адреса перенаправления.You will want to add the following Redirect URLs:

    Записи для Power BI Mobile для iOS:Entries for Power BI Mobile – iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobilemsauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilemsmsauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobilemspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilemsmspbi-adalms://com.microsoft.powerbimobilems

    Приложениям Android требуется только следующая запись:Android Apps only need the following:
    urn:ietf:wg:oauth:2.0:ooburn:ietf:wg:oauth:2.0:oob

  7. Нажмите кнопку Далее.Select Next.
  8. Укажите URL-адрес сервера отчетов.Supply the URL for your Report Server. Это внешний URL-адрес, который будет обращаться к прокси-службе веб-приложения.This is the external URL that will hit your Web Application Proxy. Он должен быть в следующем формате.It should be in the following format.

    Примечание

    URL-адрес вводится с учетом регистра.This URL is case sensitive!

    https:///reportshttps:///reports

  9. Нажмите кнопку Далее.Select Next.
  10. Выберите политику управления доступом, которая соответствует требованиям вашей организации.Choose the Access Control Policy that fits your organization’s needs.

  11. Нажмите кнопку Далее.Select Next.
  12. Нажмите кнопку Далее.Select Next.
  13. Нажмите кнопку Далее.Select Next.
  14. Выберите Закрыть.Select Close.

По завершении свойства вашей группы приложений будут выглядеть приблизительно так:When completed, you should see the properties of your application group look similar to the following.

Настройка прокси-службы веб-приложения (WAP)Web Application Proxy (WAP) Configuration

Вам понадобится включить роль Windows прокси-службы веб-приложения (роль) на сервере в вашей среде.You will want to enable the Web Application Proxy (Role) Windows role on a server in your environment. Эта роль должна быть включена на сервере Windows 2016.This must be on a Windows 2016 server. Дополнительные сведения см. в статье о прокси-службе веб-приложения в Windows Server 2016 и в разделе о публикации приложений с помощью предварительной проверки подлинности AD FS.For more information, see Web Application Proxy in Windows Server 2016 and Publishing Applications using AD FS Preauthentication.

Настройка ограниченного делегированияConstrained delegation configuration

Чтобы перейти с проверки подлинности OAuth на проверку подлинности Windows, понадобится использовать ограниченное делегирование с переходом протоколов.In order to transition from OAuth authentication to Windows authentication, we need to use constrained delegation with protocol transitioning. Это делегирование является частью конфигурации Kerberos.This is part of the Kerberos configuration. Вы уже определили SPN служб Reporting Services во время настройки Reporting Services.We already defined the Reporting Services SPN within the Reporting Services configuration.

Теперь необходимо настроить в Active Directory ограниченное делегирование на учетную запись компьютера сервера WAP.We need to configure constrained delegation on the WAP Server machine account within Active Directory. Если у вас нет прав на доступ Active Directory, обратитесь к администратору домена.You may need to work with a domain administrator if you don’t have rights to Active Directory.

Вот как настроить ограниченное делегирование.To configure constrained delegation, you will want to do the following.

  1. На компьютере со средствами Active Directory запустите средство Пользователи и компьютеры Active Directory.On a machine that has the Active Directory tools installed, launch Active Directory Users and Computers.
  2. Найдите учетную запись компьютера для сервера WAP.Find the machine account for your WAP server. По умолчанию она будет находиться в контейнере компьютеров.By default, this will be in the computers container.
  3. Щелкните правой кнопкой мыши сервер WAP и выберите пункт Свойства.Right click the WAP server and go to Properties.
  4. Выберите вкладку Делегирование.Select the Delegation tab.
  5. Выберите параметр Доверять компьютеру делегирование указанных служб и Использовать любой протокол проверки подлинности.Select Trust this computer for delegation to specified services only and then Use any authentication protocol.

    Теперь для этой учетной записи компьютера сервера WAP настроено ограниченное делегирование.This sets up constrained delegation for this WAP Server machine account. Далее нужно указать службы, которые этот компьютер может делегировать.We then need to specify the services that this machine is allowed to delegate to.

  6. Нажмите кнопку Добавить....Select Add… в поле служб.under the services box.

  7. Выберите Пользователи или компьютеры...Select Users or Computers…
  8. Введите учетную запись службы, которую вы используете для Reporting Services.Enter the service account that you are using for Reporting Services. Это учетная запись, в которую вы добавили имя субъекта-службы во время настройки Reporting Services.This is the account you added the SPN to within the Reporting Services configuration.
  9. Выберите имя субъекта-службы для Reporting Services и нажмите кнопку ОК.Select the SPN for Reporting Services and then select OK.

    Примечание

    Вы можете видеть только имя субъекта-службы NetBIOS.You may only see the NetBIOS SPN. Фактически оно выбирает имена субъекта-службы NetBIOS и полного доменного имени, если они оба существуют.It will actually select both the NetBIOS and FQDN SPNs if they both exist.

  10. Если установлен флажок Развернуто, вы увидите похожий результат.The result should look similar to the following when the Expanded checkbox is checked.

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

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

Хотя вы можете публиковать приложения в консоли управления доступом к отчету, сначала потребуется создать приложение с помощью PowerShell.While you can publish applications within the Report Access Management Console, we will want to create the application via PowerShell. Выполните эту команду, чтобы добавить приложение.Here is the command to add the application.

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/reports/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl http://ContosoSSRS/reports/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
ПараметрParameter КомментарииComments
ADFSRelyingPartyNameADFSRelyingPartyName Это имя веб-API, созданное как часть группы приложений в AD FS.This is the Web API name that you created as part of the Application Group within ADFS.
ExternalCertificateThumbprintExternalCertificateThumbprint Это сертификат, используемый для внешних пользователей.This is the certificate to use for the external users. Важно, чтобы этот сертификат был действителен для мобильных устройств и был издан доверенным центром сертификации.It is important that this certificate be valid on mobile devices and come from a trusted certificate authority.
BackendServerUrlBackendServerUrl Это URL-адрес, который ведет на сервер отчетов с сервера WAP.This is the URL to the Report Server from the WAP server. Если сервер WAP находится в зоне DMZ, может потребоваться использовать полное доменное имя.If the WAP server is in a DMZ, you may need to use a fully qualified domain name. Убедитесь, что вы можете открыть этот URL-адрес из браузера на сервере WAP.Make sure you can hit this URL from the web browser on the WAP server.
BackendServerAuthenticationSPNBackendServerAuthenticationSPN Это имя субъекта-службы, созданное во время настройки служб Reporting Services.This is the SPN you created as part of the Reporting Services configuration.

Настройка встроенной проверки подлинности для приложения WAPSetting Integrated Authentication for the WAP Application

После добавления приложения WAP необходимо указать для параметра BackendServerAuthenticationMode (Режим проверки подлинности внутреннего сервера) значение IntegratedWindowsAuthentication (Встроенная проверка подлинности Windows).After you add the WAP Application, you will need to set the BackendServerAuthenticationMode to use IntegratedWindowsAuthentication. Для этого требуется идентификатор приложения WAP.In order to set this, you need the ID from the WAP Application.

Get-WebApplicationProxyApplication “Contoso Reports” | fl

Выполните следующую команду, чтобы указать для параметра BackendServerAuthenticationMode идентификатор приложения WAP.Run the following command to set the BackendServerAuthenticationMode using the ID of the WAP Application.

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

Подключение к приложению Power BI MobileConnecting with the Power BI Mobile App

В мобильном приложении Power BI необходимо подключиться к экземпляру служб Reporting Services.Within the Power BI mobile app, you will want to connect to your Reporting Services instance. Для этого укажите внешний URL-адрес приложения WAP.To do that, supply the External URL for your WAP Application.

После того как вы нажмете кнопку Подключиться, вы будете перенаправлены на страницу входа в AD FS.When you select Connect, you will be directed to your ADFS login page. Введите действительные учетные данные для домена.Enter valid credentials for your domain.

После того как вы нажмете кнопку Войти, вы увидите элементы с сервера Reporting Services.After you select Sign in, you will see the elements from your Reporting Services server.

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

Вы можете включить многофакторную проверку подлинности, чтобы повысить уровень безопасности среды.You can enable multi-factor authentication to enable additional security for your environment. Дополнительные сведения см. в статье о настройке AD FS 2016 и Многофакторной идентификации Azure.To learn more, see Configure AD FS 2016 and Azure MFA.

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

Появилась ошибка "Failed to login to SSRS server. Please verify server configuration" (Не удалось войти на сервер SSRS. Проверьте конфигурацию сервера).You receive the error Failed to login to SSRS server. Please verify server configuration.

Вы можете настроить Fiddler в качестве прокси-сервера для мобильных устройств, чтобы проанализировать ошибку.You can set up Fiddler to act as a proxy for your mobile devices to see how far the request made it. Чтобы включить прокси-сервер Fiddler для мобильного устройства, необходимо настроить CertMaker для iOS и Android на компьютере, на котором будет работать Fiddler.To enable a Fiddler proxy for your phone device, you will need to setup the CertMaker for iOS and Android on the machine running Fiddler. Это дополнительный компонент, разработанный компанией Telerik для Fiddler.This is an add-on from Telerik for Fiddler.

Если при использовании Fiddler вы можете войти на сервер, это означает, что существуют проблемы с сертификатом приложения WAP или сервера AD FS.If the sign in works successfully when using Fiddler, you may have a certificate issue with either the WAP application or the ADFS server. Чтобы проверить правильность сертификатов, можно использовать средство Microsoft Message Analyzer.You can use a tool such as Microsoft Message Analyzer to verify if the certificates are valid.

Дальнейшие действияNext steps

Регистрация имени субъекта-службы (SPN) для сервера отчетовRegister a Service Principal Name (SPN) for a Report Server
Изменение файла конфигурации служб Reporting ServicesModify a Reporting Services Configuration File
Настройка проверки подлинности Windows на сервере отчетовConfigure Windows Authentication on a Report Server
Службы федерации Active DirectoryActive Directory Federation Services
Прокси-служба веб-приложения в Windows Server 2016Web Application Proxy in Windows Server 2016
Публикация приложений с помощью предварительной проверки подлинности AD FSPublishing Applications using AD FS Preauthentication
Настройка AD FS 2016 и Многофакторной идентификации AzureConfigure AD FS 2016 and Azure MFA
Появились дополнительные вопросы?More questions? Ответы на них см. в сообществе Power BI.Try the Power BI Community