OAuth를 사용하여 Reporting Services에 연결Using OAuth to connect to Reporting Services

Reporting Services 2016 이상에 연결하기 위해 Power BI 모바일 앱에서 OAuth 인증을 지원하도록 환경을 구성하는 방법을 알아봅니다.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 모바일 앱은 모바일 보고서 또는 KPI를 표시하기 위해 Reporting Services에 HTTPS를 통한 기본 인증만을 지원했습니다.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 모바일 앱에 대한 업데이트를 통해 Reporting Services에 연결하는 데 OAuth를 사용할 수 있습니다.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(웹 응용 프로그램 프록시) 및 ADFS(Active Directory Federation Services) 서버에 필요합니다.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

Power BI 모바일 앱을 연결할 공용 URL을 결정해야 합니다.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

WAP(웹 응용 프로그램 프록시) 서버의 공용 IP 주소에 대한 보고서의 DNS 레코드를 가리키도록 해야 합니다.You will need to point your DNS record for reports to the public IP address of the Web Application Proxy (WAP) server. ADFS 서버에 대한 공용 DNS 레코드도 구성해야 합니다.You will also need to configure a public DNS record for your ADFS server. 예를 들어, 다음 URL로 ADFS 서버르 구성했습니다.For example, you may have configured the ADFS server with the following URL.

https://fs.contoso.com

WAP(웹 응용 프로그램 프록시) 서버의 공용 IP 주소에 대한 fs의 DNS 레코드를 가리키도록 해야 합니다. 해당 항목이 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 응용 프로그램과 ADFS 서버에 대한 인증서를 구성해야 합니다.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 Services 구성Reporting Services configuration

Reporting Services 쪽에서 구성할 항목이 많지 않습니다.There isn’t much to configure on the Reporting Services side. 적절한 Kerberos 인증을 사용하기 위해 유효한 SPN(서비스 주체 이름)을 생성하고 협상 인증에 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)

SPN은 Kerberos 인증을 사용하는 서비스에 대한 고유한 식별자입니다.The SPN is a unique identifier for a service that uses Kerberos authentication. 보고서 서버에 대한 적절한 HTTP SPN이 있는지 확인해야 합니다.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.

ADFS(Active Directory Federation Services) 구성Active Directory Federation Services (ADFS) Configuration

사용자 환경 내의 Windows 2016 서버에서 ADFS를 구성해야 합니다.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 Federation Services를 참조하세요.For more information, see Active Directory Federation Services.

응용 프로그램 그룹 만들기Create an application group

AD FS 관리 화면 내에서 Power BI 모바일 앱에 대한 정보가 포함된 Reporting Services의 응용 프로그램 그룹을 만들려고 합니다.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. 응용 프로그램 그룹 추가 마법사 내에서 응용 프로그램 그룹의 이름을 제공하고 Web 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. 클라이언트 ID가 자동으로 생성되는 반면 iOS 및 Android에 대해 484d54fc-b481-4eee-9505-0258a1913020을 입력합니다.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. Reporting Services 구성 내에서 Reporting Services SPN을 이미 정의했습니다.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 구성 내에서 SPN을 추가할 계정입니다.This is the account you added the SPN to within the Reporting Services configuration.
  9. Reporting Services에 대한 SPN을 선택한 다음 확인을 선택합니다.Select the SPN for Reporting Services and then select OK.

    참고

    NetBIOS SPN만 표시될 수 있습니다.You may only see the NetBIOS SPN. 실제로 NetBIOS와 FQDN SPN이 모두 있는 경우 둘 다 선택합니다.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.

WAP 응용 프로그램 추가Add 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 ADFS 내에서 응용 프로그램 그룹의 일부로 만든 Web API 이름입니다.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 WAP 서버의 보고서 서버에 대한 URL입니다.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. WAP 서버의 웹 브라우저에서 이 URL을 누를 수 있는지 확인합니다.Make sure you can hit this URL from the web browser on the WAP server.
BackendServerAuthenticationSPNBackendServerAuthenticationSPN Reporting Services 구성의 일부로 만들어진 SPN입니다.This is the SPN you created as part of the Reporting Services configuration.

WAP 응용 프로그램에 대한 통합된 인증 설정Setting Integrated Authentication for the WAP Application

WAP 응용 프로그램을 추가한 후에 IntegratedWindowsAuthentication을 사용하도록 BackendServerAuthenticationMode를 설정해야 합니다.After you add the WAP Application, you will need to set the BackendServerAuthenticationMode to use IntegratedWindowsAuthentication. 이를 설정하기 위해 WAP 응용 프로그램에서 ID가 필요합니다.In order to set this, you need the ID from the WAP Application.

Get-WebApplicationProxyApplication “Contoso Reports” | fl

WAP 응용 프로그램의 ID를 사용하여 BackendServerAuthenticationMode를 설정하려면 다음 명령을 실행합니다.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 모바일 앱과 연결Connecting 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. 그렇게 하려면 WAP 응용 프로그램에 대한 외부 URL을 제공합니다.To do that, supply the External URL for your WAP Application.

연결을 선택하면 ADFS 로그인 페이지로 이동합니다.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 AuthenticationMulti-factor authentication

Multi-Factor Authentication을 사용하여 사용자 환경에 대한 추가 보안을 사용할 수 있습니다.You can enable multi-factor authentication to enable additional security for your environment. 자세한 내용은 AD FS 2016 및 Azure MFA 구성을 참조하세요.To learn more, see Configure AD FS 2016 and Azure MFA.

문제 해결Troubleshooting

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 프록시를 사용하려면 Fiddler를 실행하는 컴퓨터에 iOS 및 Android용 CertMaker를 설정해야 합니다.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. Fiddler에 대한 Telerik의 추가 기능입니다.This is an add-on from Telerik for Fiddler.

Fiddler를 사용할 경우 로그인이 성공적으로 작동하면 WAP 응용 프로그램 또는 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. 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 Services 구성 파일 수정Modify a Reporting Services Configuration File
보고서 서버에서 Windows 인증 구성Configure Windows Authentication on a Report Server
Active Directory Federation ServicesActive Directory Federation Services
Windows Server 2016의 웹 응용 프로그램 프록시Web Application Proxy in Windows Server 2016
AD FS 사전 인증을 사용하여 응용 프로그램 게시Publishing Applications using AD FS Preauthentication
AD FS 2016 및 Azure MFA구성Configure AD FS 2016 and Azure MFA
궁금한 점이 더 있나요?More questions? Power BI 커뮤니티를 이용하세요.Try the Power BI Community