Usando o OAuth para conectar-se ao Servidor de Relatórios do Power BI e ao SSRSUsing OAuth to connect to Power BI Report Server and SSRS

Saiba como configurar seu ambiente para dar suporte à autenticação OAuth com o aplicativo móvel do Power BI para conectar-se ao Servidor de Relatórios do Power BI e ao SQL Server Reporting Services 2016 ou posterior.Learn how to configure your environment to support OAuth authentication with the Power BI mobile app to connect to Power BI Report Server and SQL Server Reporting Services 2016 or later.

Você pode usar o OAuth para conectar-se ao Servidor de Relatórios do Power BI e ao Reporting Services para exibir relatórios móveis ou KPIs.You can use OAuth to connect to Power BI Report Server and Reporting Services to display mobile reports or KPIs. O Windows Server 2016 oferece algumas melhorias à função do WAP (Proxy de Aplicativo Web) para permitir esse tipo de autenticação.Windows Server 2016 provides some improvements to the Web Application Proxy (WAP) role to allow this type of authentication. Observe que essa configuração não permite a visualização de relatórios do Power BI nos aplicativos móveis do Power BI.Note that this configuration doesn’t support viewing Power BI reports in the Power BI mobile apps. No entanto, você pode exibi-los em um navegador em um dispositivo móvel.However, you can view them in a browser on a mobile device. Para exibir os relatórios do Power BI no aplicativo móvel, você precisa usar a autenticação do Windows.To view Power BI Reports in the mobile app, you must use Windows authentication.

RequisitosRequirements

O Windows Server 2016 é necessário para os servidores WAP (Proxy de aplicativo Web) e Serviços de Federação do Active Directory (AD FS).Windows Server 2016 is required for the Web Application Proxy (WAP) and Active Directory Federation Services (ADFS) servers. Não é necessário ter um domínio de nível funcional do Windows 2016.You do not need to have a Windows 2016 functional level domain.

Configuração DNS (Serviços de nomes de domínio)Domain Name Services (DNS) configuration

Será necessário determinar qual será a URL pública à qual o aplicativo móvel do Power BI se conectará.You will need to determine what the public URL will be that the Power BI mobile app will connect to. Por exemplo, ela deve ser semelhante à seguinte.For example, it may look similar to the following.

https://reports.contoso.com

Será necessário apontar seu registro DNS de relatórios para o endereço IP público do servidor WAP (Proxy de aplicativo Web).You will need to point your DNS record for reports to the public IP address of the Web Application Proxy (WAP) server. Também será necessário configurar um registro DNS público para seu servidor AD FS.You will also need to configure a public DNS record for your ADFS server. Por exemplo, talvez você tenha configurado o servidor AD FS com a seguinte URL.For example, you may have configured the ADFS server with the following URL.

https://fs.contoso.com

Será necessário apontar seu registro DNS de fs para o endereço IP público do servidor WAP (Proxy de aplicativo Web), uma vez que ele será publicado como parte do aplicativo 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.

CertificadosCertificates

Será necessário configurar certificados para o aplicativo WAP e o servidor AD FS.You will need to configure certificates for both the WAP application and the ADFS server. Esses certificados devem fazer parte de uma autoridade de certificado válida que seus dispositivos móveis reconheçam.Both of these certificates must be part of a valid certificate authority that your mobile devices recognize.

Configuração do Reporting ServicesReporting Services configuration

Não há muito o que configurar no lado do Reporting Services.There isn’t much to configure on the Reporting Services side. Nós só precisamos nos certificar de que temos um SPN (Nome da Entidade de Serviço) válido para habilitar a autenticação Kerberos adequada que deve ocorrer e que o servidor do Reporting Services está habilitado para negociar a autenticação.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 (Nome da Entidade de Serviço)Service Principal Name (SPN)

O SPN é um identificador exclusivo para um serviço que usa a autenticação Kerberos.The SPN is a unique identifier for a service that uses Kerberos authentication. Será necessário certificar-se de que você tem um SPN HTTP apropriado presente para o servidor de relatório.You will need to make sure you have a proper HTTP SPN present for your report server.

Para obter informações sobre como configurar o SPN (Nome da Entidade de Serviço) adequado para seu servidor de relatório, consulte Registrar um SPN (Nome da Entidade de Serviço) para um servidor de relatório.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.

Habilitando a autenticação do tipo negociarEnabling negotiate authentication

Para habilitar um servidor de relatório para usar a autenticação Kerberos, será necessário configurar o tipo de autenticação do servidor de relatório para ser 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. Isso é feito no arquivo rsreportserver.config.This is done within the rsreportserver.config file.

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

Para obter mais informações, consulte Modify a Reporting Services Configuration File (Modificar um arquivo de configuração de serviços) e Configurar a Autenticação do Windows no servidor de relatório.For more information, see Modify a Reporting Services Configuration File and Configure Windows Authentication on a Report Server.

Configuração do Serviços de Federação do Active Directory (AD FS)Active Directory Federation Services (ADFS) Configuration

Será necessário configurar o AD FS em um servidor do Windows 2016 em seu ambiente.You will need to configure ADFS on a Windows 2016 server within your environment. Isso pode ser feito por meio do Gerenciador do Servidor e selecionando Adicionar funções e Recursos em Gerenciar.This can be done through the Server Manager and selecting Add Roles and Features under Manage. Para obter mais informações, consulte Serviços de Federação do Active Directory.For more information, see Active Directory Federation Services.

Criar um grupo de aplicativosCreate an application group

Na tela Gerenciamento do AD FS, crie um grupo de aplicativos para o Reporting Services, que incluirá as informações dos aplicativos Power BI para Celulares.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.

É possível criar o grupo de aplicativos com as etapas a seguir.You can create the application group with the following steps.

  1. Dentro do aplicativo de gerenciamento do AD FS, clique com botão direito do mouse em Grupos de Aplicativos e selecione Adicionar Grupo de Aplicativos...Within the AD FS Management app, right click Application Groups and select Add Application Group…

  2. No Assistente para Adicionar Grupo de Aplicativos, forneça um nome para o grupo de aplicativos e selecione Aplicativo nativo acessando uma API Web.Within the Add Application Group Wizard, provide a name for the application group and select Native application accessing a web API.

  3. Selecione Avançar.Select Next.

  4. Forneça um nome para o aplicativo que você está adicionando.Provide a name for the application you are adding.

  5. Enquanto a ID do cliente estiver sendo automaticamente gerada para o seu, insira 484d54fc-b481-4eee-9505-0258a1913020 para iOS e Android.While the Client ID will be auto generated for your, enter in 484d54fc-b481-4eee-9505-0258a1913020 for both iOS and Android.

  6. Adicione as seguintes URLs de redirecionamento:You will want to add the following Redirect URLs:

    Entradas para o Power BI para Celulares – 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

    Os aplicativos Android só precisam do seguinte:Android Apps only need the following:
    urn:ietf:wg:oauth:2.0:ooburn:ietf:wg:oauth:2.0:oob

  7. Selecione Avançar.Select Next.

  8. Forneça a URL do seu Servidor de Relatório.Supply the URL for your Report Server. Esta é a URL externa que atingirá o Proxy de aplicativo Web.This is the external URL that will hit your Web Application Proxy. Ela deve estar no formato a seguir.It should be in the following format.

    Observação

    Esta URL diferencia maiúsculas de minúsculas!This URL is case sensitive!

    https:///reportshttps:///reports

  9. Selecione Avançar.Select Next.

  10. Escolha a Política de Controle de Acesso que atenda às necessidades da sua organização.Choose the Access Control Policy that fits your organization’s needs.

  11. Selecione Avançar.Select Next.

  12. Selecione Avançar.Select Next.

  13. Selecione Avançar.Select Next.

  14. Selecione Fechar.Select Close.

Depois de concluir, você deverá ver que as propriedades do seu grupo de aplicativos são semelhantes ao seguinte.When completed, you should see the properties of your application group look similar to the following.

Configuração WAP (Proxy de aplicativo Web)Web Application Proxy (WAP) Configuration

Habilite a função Proxy de aplicativo Web (função) Windows em um servidor no seu ambiente.You will want to enable the Web Application Proxy (Role) Windows role on a server in your environment. Ele deve estar em um servidor Windows 2016.This must be on a Windows 2016 server. Para obter mais informações, consulte Proxy de aplicativo Web no Windows Server 2016 e Publicar aplicativos usando pré-autenticação do AD FS.For more information, see Web Application Proxy in Windows Server 2016 and Publishing Applications using AD FS Preauthentication.

Configuração de delegação restritaConstrained delegation configuration

Para fazer a transição da autenticação OAuth para a autenticação do Windows, é necessário usar a delegação restrita com transição de protocolos.In order to transition from OAuth authentication to Windows authentication, we need to use constrained delegation with protocol transitioning. Isso faz parte da configuração do Kerberos.This is part of the Kerberos configuration. Já definimos o SPN do Reporting Services na configuração do Reporting Services.We already defined the Reporting Services SPN within the Reporting Services configuration.

É necessário configurar a delegação restrita na conta do computador do servidor WAP dentro do Active Directory.We need to configure constrained delegation on the WAP Server machine account within Active Directory. Talvez seja necessário trabalhar com um administrador de domínio se você não tiver direitos no Active Directory.You may need to work with a domain administrator if you don’t have rights to Active Directory.

Para configurar a delegação restrita, faça o seguinte.To configure constrained delegation, you will want to do the following.

  1. Em um computador com as ferramentas do Active Directory instaladas, abra Usuários e Computadores do Active Directory.On a machine that has the Active Directory tools installed, launch Active Directory Users and Computers.

  2. Localize a conta do computador do servidor WAP.Find the machine account for your WAP server. Por padrão, ela estará no contêiner de computadores.By default, this will be in the computers container.

  3. Clique com botão direito do mouse no servidor WAP e acesse Propriedades.Right click the WAP server and go to Properties.

  4. Selecione a guia Delegação.Select the Delegation tab.

  5. Selecione Confiar no computador para delegação apenas a serviços especificados e Usar qualquer protocolo de autenticação.Select Trust this computer for delegation to specified services only and then Use any authentication protocol.

    Isso configura a delegação restrita para essa conta do computador do servidor WAP.This sets up constrained delegation for this WAP Server machine account. Em seguida, é necessário especificar os serviços aos quais este computador tem permissão para delegar.We then need to specify the services that this machine is allowed to delegate to.

  6. Selecione Adicionar...Select Add… na caixa de serviços.under the services box.

  7. Selecione Usuários ou Computadores...Select Users or Computers…

  8. Insira a conta de serviço que você está usando para o Reporting Services.Enter the service account that you are using for Reporting Services. Esta é a conta que você adicionou o SPN para dentro da configuração do Reporting Services.This is the account you added the SPN to within the Reporting Services configuration.

  9. Selecione o SPN para o Reporting Services e selecione OK.Select the SPN for Reporting Services and then select OK.

    Observação

    Você pode ver apenas o SPN NetBIOS.You may only see the NetBIOS SPN. Na verdade, ele selecionará os SPNs NetBIOS e FQDN se ambos existirem.It will actually select both the NetBIOS and FQDN SPNs if they both exist.

  10. O resultado deverá ser semelhante ao seguinte quando a caixa de seleção Expandido estiver marcada.The result should look similar to the following when the Expanded checkbox is checked.

  11. Selecione OK.Select OK.

Adicionar aplicativo WAPAdd WAP Application

Embora seja possível publicar aplicativos no Console de gerenciamento de acesso a relatórios, nós queremos criar o aplicativo por meio do PowerShell.While you can publish applications within the Report Access Management Console, we will want to create the application via PowerShell. Este é o comando para adicionar o aplicativo.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
ParâmetroParameter ComentáriosComments
ADFSRelyingPartyNameADFSRelyingPartyName Esse é o nome da API Web criada como parte do grupo de aplicativos no AD FS.This is the Web API name that you created as part of the Application Group within ADFS.
ExternalCertificateThumbprintExternalCertificateThumbprint Esse é o certificado a ser usado para os usuários externos.This is the certificate to use for the external users. É importante que esse certificado seja válido em dispositivos móveis e que venha de uma autoridade de certificação confiável.It is important that this certificate be valid on mobile devices and come from a trusted certificate authority.
BackendServerUrlBackendServerUrl Essa é a URL para o servidor de relatório do servidor WAP.This is the URL to the Report Server from the WAP server. Se o servidor WAP estiver em uma rede de perímetro talvez seja necessário usar um nome de domínio totalmente qualificado.If the WAP server is in a DMZ, you may need to use a fully qualified domain name. Certificar-se de que você pode acessar essa URL no navegador da Web no servidor WAP.Make sure you can hit this URL from the web browser on the WAP server.
BackendServerAuthenticationSPNBackendServerAuthenticationSPN Esse é o SPN criado como parte da configuração do Reporting Services.This is the SPN you created as part of the Reporting Services configuration.

Configurando a autenticação integrada do aplicativo WAPSetting Integrated Authentication for the WAP Application

Depois de adicionar o aplicativo WAP, será necessário definir BackendServerAuthenticationMode para usar IntegratedWindowsAuthentication.After you add the WAP Application, you will need to set the BackendServerAuthenticationMode to use IntegratedWindowsAuthentication. Para configurar isso, é necessária a ID do aplicativo WAP.In order to set this, you need the ID from the WAP Application.

Get-WebApplicationProxyApplication “Contoso Reports” | fl

Execute o seguinte comando para definir BackendServerAuthenticationMode usando a ID do aplicativo 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

Conectando-se ao aplicativo Power BI para CelularesConnecting with the Power BI Mobile App

Dentro do aplicativo móvel do Power BI, conecte-se à sua instância do Reporting Services.Within the Power BI mobile app, you will want to connect to your Reporting Services instance. Para fazer isso, forneça a URL Externa para seu aplicativo WAP.To do that, supply the External URL for your WAP Application.

Quando você seleciona Conectar, você será direcionado para a página de logon do AD FS.When you select Connect, you will be directed to your ADFS login page. Insira credenciais válidas para seu domínio.Enter valid credentials for your domain.

Depois de selecionar Entrar, você verá os elementos do seu servidor do Reporting Services.After you select Sign in, you will see the elements from your Reporting Services server.

Autenticação multifatorMulti-factor authentication

É possível habilitar a autenticação multifator para habilitar a segurança adicional do seu ambiente.You can enable multi-factor authentication to enable additional security for your environment. Para saber mais, consulte Configurar o AD FS 2016 e MFA Azure.To learn more, see Configure AD FS 2016 and Azure MFA.

Solução de problemasTroubleshooting

Você recebe o erro Falha ao fazer logon no servidor SSRS.You receive the error Failed to login to SSRS server. Verifique a configuração do servidor.Please verify server configuration.

É possível configurar o Fiddler para funcionar como um proxy para seus dispositivos móveis para ver até onde a solicitação chegou.You can set up Fiddler to act as a proxy for your mobile devices to see how far the request made it. Para habilitar um proxy do Fiddler para seu dispositivo de telefone, será necessário configurar o CertMaker para iOS e Android no computador que estiver executando o 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. Esse é um suplemento da Telerik para o Fiddler.This is an add-on from Telerik for Fiddler.

Se for possível entrar com êxito usando o Fiddler, talvez você tenha um problema de certificado com o aplicativo WAP ou com o servidor ADFS.If the sign in works successfully when using Fiddler, you may have a certificate issue with either the WAP application or the ADFS server. É possível usar uma ferramenta como o Microsoft Message Analyzer para verificar se os certificados são válidos.You can use a tool such as Microsoft Message Analyzer to verify if the certificates are valid.

Próximas etapasNext steps

Registrar um SPN (Nome da Entidade de Serviço) para um servidor de relatórioRegister a Service Principal Name (SPN) for a Report Server
Como modificar um arquivo de configuração do Reporting ServicesModify a Reporting Services Configuration File
Configurar a Autenticação do Windows no servidor de relatórioConfigure Windows Authentication on a Report Server
Serviços de Federação do Active DirectoryActive Directory Federation Services
Proxy de aplicativo Web no Windows Server 2016Web Application Proxy in Windows Server 2016
Publicar aplicativos usando a pré-autenticação do AD FSPublishing Applications using AD FS Preauthentication
Configurar o AD FS 2016 e MFA AzureConfigure AD FS 2016 and Azure MFA
Mais perguntas?More questions? Experimente a Comunidade do Power BITry the Power BI Community