Power BI 보고서를 사용하도록 Kerberos 구성Configure Kerberos to use Power BI reports

분산된 환경의 경우 Power BI 보고서 내에서 사용된 데이터 소스에 Kerberos 인증을 위해 Report Server를 구성하는 방법을 알아봅니다.Learn how to configure your report server for Kerberos authentication to data sources used within your Power BI reports for a distributed environment.

Power BI Report Server는 Power BI 보고서를 호스트하는 기능을 포함합니다.Power BI Report Server includes the ability to host Power BI reports. 여러 데이터 원본은 보고서 서버에서 사용할 수 있습니다.Many data sources are supported by your report server. 이 문서에서는 특히 SQL Server Analysis Services에 초점을 맞추지만 개념을 사용할 수 있으며 해당 사항을 SQL Server와 같은 다른 데이터 원본에 적용할 수 있습니다.While this article focuses specificly on SQL Server Analysis Services, you can use the concepts and apply that to other data sources such as SQL Server.

단일 컴퓨터에서 Power BI Report Server, SQL Server 및 Analysis Services를 설치할 수 있으며 추가 구성 없이 모든 항목이 작동해야 합니다.You can install Power BI Report Server, SQL Server and Analysis Services on a single machine and everything should work without additional configuration. 이 기능은 테스트 환경에 적합합니다.This is great for a test environment. 이러한 서비스를 분산된 환경이라는 별도 컴퓨터에 설치한 경우 오류가 발생할 수 있습니다.You may hit errors if you have these services installed on separate machines which is called a distributed environment. 이 환경에서는 Kerberos 인증을 사용해야 합니다.In this environment, you are required to use Kerberos authentication. 이를 구현하는 데 필요한 구성이 없습니다.There is configuration required to implement this.

특히, 제한된 위임을 구성해야 합니다.Specifically, you will need to configure constrained delegation. Kerberos를 사용자 환경에 구성했지만 제한된 위임에 구성되지 않을 수 있습니다.You may have Kerberos configured in your environment but it may not be configured for constrained delegation.

오류 실행 보고서Error running report

Report Server가 제대로 구성되지 않은 경우 다음과 같은 오류가 나타날 수 있습니다.If your report server is not configured properly, you may receive the following error.

Something went wrong.

We couldn’t run the report because we couldn’t connect to its data source. The report or data source might not be configured correctly. 

기술 세부 정보 내에서 다음과 같은 메시지가 표시됩니다.Within Technical details, you will see the following message.

We couldn’t connect to the Analysis Services server. The server forcibly closed the connection. To connect as the user viewing the report, your organization must have configured Kerberos constrained delegation.

Kerberos 제한 위임 구성Configuring Kerberos constrained delegation

Kerberos 제한 위임이 작동하기 위해 구성해야 하는 몇 가지 항목이 있습니다.There are several items that need to be configured in order for Kerberos constrained delegation to work. 서비스 계정의 SPN(서비스 주체 이름) 및 위임 설정을 포함합니다.This includes Service Principal Names (SPN) and delegation settings on service accounts.

참고

SPN 및 위임 설정을 구성하려면 사용자가 도메인 관리자여야 합니다.In order to configure SPNs and delegation settings, you need to be a domain administrator.

다음을 구성하거나 유효성을 검사해야 합니다.We will need to configure, or validate, the following.

  1. Report Server 구성 내의 인증 형식Authentication type within Report Server config.
  2. Report Server 서비스 계정의 SPNSPNs for the report server service account.
  3. Analysis Services 서비스의 SPNSPNs for the Analysis Services service.
  4. Analysis Services 컴퓨터의 SQL Browser 서비스에 대한 SPNSPNs for the SQL Browser service on the Analysis Services machine. 명명된 인스턴스 전용입니다.This is for named instances only.
  5. Report Server서비스 계정의 위임 설정Delegation settings on the report server service account.

Report Server 구성 내의 인증 형식Authentication type within Report Server configuration

Kerberos 제한 위임을 허용하도록 Report Server에 대한 인증 형식을 구성해야 합니다.We need to configure the authentication type for the report server to allow for Kerberos constrained delegation. 이 작업은 rsreportserver.config 파일 내에서 수행됩니다.This is done within the rsreportserver.config file. 이 파일의 기본 위치는 C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer입니다.The default location for this file is C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

rsreportserver.config 파일 내에서 Authentication/AuthenticationTypes 섹션을 찾습니다.Within the rsreportserver.config file, you will want to fine the Authentication/AuthenticationTypes section.

RSWindowsNegotiate가 표시되어 있고 인증 형식 목록에서 첫 번째인지 확인하려고 합니다.We want to make sure that RSWindowsNegotiate is listed and the first in the list of authentication types. 다음과 유사하게 나타납니다.It should look similar to the following.

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

구성 파일을 변경해야 하는 경우 변경 내용이 적용되도록 Report Server를 중지하고 시작하려고 합니다.If you had to change the configuration file, you will want to stop and start the report server to make sure the changes take effect.

자세한 내용은 Report Server에서 Windows 인증 구성을 참조하세요.For more information, see Configure Windows Authentication on the Report Server.

Report Server 서비스 계정의 SPNSPNs for the report server service account

다음으로, Report Server에서 유효한 SPN을 사용할 수 있는지 확인해야 합니다.Next, we need to make sure that the report server has valid SPNs available. 이 항목은 Report Server에 구성된 서비스 계정에 기반합니다.This is based on the service account that is configured for the report server.

가상 서비스 계정 또는 네트워크 서비스Virtual Service Account or Network Service

Report Server를 가상 서비스 계정 또는 네트워크 서비스 계정에 대해 구성한 경우 작업을 수행할 필요가 없습니다.If your report server is configured for the Virtual Service Account or Network Service account, you should not have to do anything. 컴퓨터 계정의 컨텍스트입니다.These are in the context of the machine account. 컴퓨터 계정에는 기본적으로 HOST SPN이 있습니다.The machine account will have HOST SPNs by default. 이 항목은 HTTP 서비스를 처리하고 Report Server에서 사용됩니다.These will cover the HTTP service and will be used by the report server.

컴퓨터 계정과 동일하지 않은 가상 서버 이름을 사용하는 경우 HOST 항목에서 처리하지 않고 가상 서버 호스트 이름의 SPN을 수동으로 추가해야 합니다.If you are using a virtual server name, one that is not same as the machine account, the HOST entries will not cover you and you will need to manually add the SPNs for the virtual server host name.

도메인 사용자 계정Domain user account

Report Server가 도메인 사용자 계정을 사용하도록 구성된 경우 해당 계정에 HTTP SPN을 수동으로 만들어야 합니다.If your report server is configured to use a domain user account, you will have to manually create HTTP SPNs on that account. 이렇게 하려면 Windows와 함께 제공되는 setspn 도구를 사용합니다.This can be done using the setspn tool that comes with Windows.

참고

SPN을 만들기 위해 도메인 관리자 권한이 필요합니다.You will need domain admin rights in order to create the SPN.

두 개의 SPN을 만드는 것이 좋습니다.It is recommended to create two SPNs. 하나는 NetBIOS 이름을 갖고 다른 하나는 FQDN(정규화된 도메인 이름)을 갖습니다.One with the NetBIOS name and the other with the fully qualified domain name (FQDN). SPN은 다음과 같은 형식이어야 합니다.The SPN will be in the following format.

<Service>/<Host>:<port>

Power BI Report Server는 HTTP 서비스를 사용합니다.Power BI Report Server will use a Service of HTTP. HTTP SPN의 경우 포트를 나열하지 않습니다.For HTTP SPNs you will not list a port. 여기에서 관심이 있는 서비스는 HTTP입니다.The service we are interested in here is HTTP. SPN의 호스트는 URL에서 사용하는 이름이 됩니다.The host of the SPN will be the name you use in a URL. 일반적으로 컴퓨터 이름입니다.Typically, this is the machine name. 부하 분산 장치 뒤에 있다면 가상 이름일 수 있습니다.If you are behind a load balancer, this may be a virtual name.

참고

브라우저의 주소 표시줄에 입력한 내용을 보거나 웹 포털 URL 탭의 Report Server 구성 관리자에서 보면 URL을 확인할 수 있습니다.You can verify the URL by either looking at what you enter into the address bar of the browser, or you can look in the Report Server Configuration Manager on the Web Portal URL tab.

컴퓨터 이름이 ContosoRS이면 SPN은 다음과 같습니다.If your machine name is ContosoRS, your SPNs would be the following.

SPN 형식SPN Type SPNSPN
FQDN(정규화된 도메인 이름)Fully Qualified Domain Name (FQDN) HTTP/ContosoRS.contoso.comHTTP/ContosoRS.contoso.com
NetBIOSNetBIOS HTTP/ContosoRSHTTP/ContosoRS

SPN 위치Location of SPN

그러면 SPN을 어디에 배치하나요?So, where do you put the SPN? SPN은 서비스 계정에 사용하는 모든 항목에 배치됩니다.The SPN will be placed on whatever you are using for your service account. 가상 서비스 계정 또는 네트워크 서비스를 사용하는 위치는 경우 컴퓨터 계정이 됩니다.If you are using Virtual Service Account or Network Service, this will be the machine account. 앞에서 설명했지만 가상 URL에서 이 작업을 수행하기만 하면 됩니다.Although we mentioned before you should only need to do this for a virtual URL. Report Server 서비스 계정에 도메인 사용자를 사용하는 경우 해당 도메인 사용자 계정에 SPN을 배치합니다.If you are using a domain user for the report server service account, then you will place the SPN on that domain user account.

예를 들어, 네트워크 서비스 계정을 사용하고 컴퓨터 이름이 ContosoRS인 경우 ContosoRS에 SPN을 배치합니다.For example, if we are using the Network Service account and our machine name is ContosoRS, we would place the SPN on ContosoRS.

RSService라는 도메인 사용자 계정을 사용하는 경우 RSService에 SPN을 배치합니다.If we are using a domain user account of RSService, we would place the SPN on RSService.

SetSPN을 사용하여 SPN 추가Using SetSPN to add the SPN

SetSPN 도구를 사용하여 SPN을 추가할 수 있습니다.We can use the SetSPN tool to add the SPN. 컴퓨터 계정과 도메인 사용자 계정을 사용하여 위와 동일한 예제를 따릅니다.We will follow the same example as above with the Machine account and the domain user account.

FQDN과 NetBIOS SPN의 경우 컴퓨터 계정에 SPN을 배치하면 contosoreports라는 가상 URL을 사용하는 경우 다음과 비슷하게 표시됩니다.Placing the SPN on a machine account, for both the FQDN and NetBIOS SPN, would look similar to the following if we were using a virtual URL of contosoreports.

  Setspn -a HTTP/contosoreports.contoso.com ContosoRS
  Setspn -a HTTP/contosoreports ContosoRS

FQDN과 NetBIOS SPN의 경우 도메인 사용자 계정에 SPN을 배치하면 SPN의 호스트에 컴퓨터 이름을 사용하는 경우 다음과 비슷하게 표시됩니다.Placing the SPN on a domain user account, for both the FQDN and NetBIOS SPN, would look similar to the following if you were using the machine name for the host of the SPN.

  Setspn -a HTTP/ContosoRS.contoso.com RSService
  Setspn -a HTTP/ContosoRS RSService

Analysis Services 서비스의 SPNSPNs for the Analysis Services service

Analysis Services의 SPN은 Power BI Report Server를 사용한 작업과 비슷합니다.The SPNs for Analysis Services are similar to what we did with Power BI Report Server. 명명된 인스턴스가 있는 경우 SPN의 형식은 약간 다릅니다.The format of the SPN is a little different if you have a named instance.

Analysis Services에서는 MSOLAPSvc.3이라는 서비스를 사용합니다.For Analysis Services, we use a Service of MSOLAPSvc.3. SPN에서 포트 위치의 인스턴스 이름을 지정합니다.We will specify the instance name for the port location on the SPN. SPN의 호스트 부분은 컴퓨터 이름 또는 클러스터 가상 이름입니다.The host part of the SPN will either be the machine name, or the Cluster virtual name.

Analysis Services SPN의 예는 다음과 같습니다.An example of an Analysis Services SPN would look like the following.

형식Type 형식Format
기본 인스턴스Default instance MSOLAPSvc.3/ContosoAS.contoso.comMSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoASMSOLAPSvc.3/ContosoAS
명명된 인스턴스Named instance MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAMEMSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:INSTANCENAMEMSOLAPSvc.3/ContosoAS:INSTANCENAME

SPN의 배치는 Power BI Report Server에 언급된 작업과 비슷합니다.Placement of the SPN is also similar to what was mentioned with Power BI Report Server. 서비스 계정에 기반합니다.It is based on the service account. 로컬 시스템 또는 네트워크 서비스를 사용하는 경우 컴퓨터 계정의 컨텍스트입니다.If you are using Local System or Network Service, you will be in the context of the machine account. Analysis Services 인스턴스에 도메인 사용자 계정을 사용하는 경우 해당 도메인 사용자 계정에 SPN을 배치합니다.If you are using a domain user account for the Analysis Services instance, you will place the SPN on the domain user account.

SetSPN을 사용하여 SPN 추가Using SetSPN to add the SPN

SetSPN 도구를 사용하여 SPN을 추가할 수 있습니다.We can use the SetSPN tool to add the SPN. 이 예제에서 컴퓨터 이름은 ContosoAS입니다.For this example, the machine name will be ContosoAS.

FQDN과 NetBIOS SPN의 경우 컴퓨터 계정에 SPN을 배치하면 다음과 비슷하게 표시됩니다.Placing the SPN on a machine account, for both the FQDN and NetBIOS SPN, would look similar to the following.

Setspn -a MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -a MSOLAPSvc.3/ContosoAS ContosoAS

FQDN과 NetBIOS SPN의 경우 도메인 사용자 계정에 SPN을 배치하면 다음과 비슷하게 표시됩니다.Placing the SPN on a domain user account, for both the FQDN and NetBIOS SPN, would look similar to the following.

Setspn -a MSOLAPSvc.3/ContosoAS.contoso.com OLAPService
Setspn -a MSOLAPSvc.3/ContosoAS OLAPService

SQL Browser 서비스의 SPNSPNs for the SQL Browser service

Analysis Services 명명된 인스턴스가 있는 경우 브라우저 서비스의 SPN이 있는지 확인해야 합니다.If you have an Analysis Services named instance, you also need to make sure you have an SPN for the browser service. Analysis Services에 대해 고유합니다.This is unique to Analysis Services.

SQL Browser의 SPN은 Power BI Report Server를 사용한 작업과 비슷합니다.The SPNs for SQL Browser are similar to what we did with Power BI Report Server.

SQL Browser의 경우 MSOLAPDisco.3이라는 서비스를 사용합니다.For SQL Browser, we use a Service of MSOLAPDisco.3. SPN에서 포트 위치의 인스턴스 이름을 지정합니다.We will specify the instance name for the port location on the SPN. SPN의 호스트 부분은 컴퓨터 이름 또는 클러스터 가상 이름입니다.The host part of the SPN will either be the machine name, or the Cluster virtual name. 인스턴스 이름 또는 포트에 대한 어떤 항목을 지정할 필요가 없습니다.You do not have to specify anything for the instance name or port.

Analysis Services SPN의 예는 다음과 같습니다.An example of an Analysis Services SPN would look like the following.

MSOLAPDisco.3/ContosoAS.contoso.com
MSOLAPDisco.3/ContosoAS

SPN의 배치는 Power BI Report Server에 언급된 작업과 비슷합니다.Placement of the SPN is also similar to what was mentioned with Power BI Report Server. 여기서 차이점은 SQL Browser가 항상 로컬 시스템 계정으로 실행된다는 것입니다.The difference here is that SQL Browser always runs under the Local System account. 즉, 해당 SPN은 컴퓨터 계정에서 지속됩니다.This means that the SPNs will always go on the machine account.

SetSPN을 사용하여 SPN 추가Using SetSPN to add the SPN

SetSPN 도구를 사용하여 SPN을 추가할 수 있습니다.We can use the SetSPN tool to add the SPN. 이 예제에서 컴퓨터 이름은 ContosoAS입니다.For this example, the machine name will be ContosoAS.

FQDN과 NetBIOS SPN의 경우 컴퓨터 계정에 SPN을 배치하면 다음과 비슷하게 표시됩니다.Placing the SPN on the machine account, for both the FQDN and NetBIOS SPN, would look similar to the following.

Setspn -a MSOLAPDisco.3/ContosoAS.contoso.com ContosoAS
Setspn -a MSOLAPDisco.3/ContosoAS ContosoAS

자세한 내용은 SQL Server Browser 서비스의 SPN이 필요합니다.를 참조하세요.For more information, see An SPN for the SQL Server Browser service is required.

Report Server 서비스 계정의 위임 설정Delegation settings on the report server service account

구성해야 하는 마지막 부분은 Report Server 서비스 계정에 대한 위임 설정입니다.The last part that we have to configure are the delegation settings on the report server service account. 다른 도구를 사용하여 이러한 단계를 수행할 수 있는 있습니다.There are different tools you can use to perform these steps. 이 문서에서는 Active Directory 사용자 및 컴퓨터에 대해 설명하겠습니다.For the purposes of this document, we will stick with Active Directory Users and Computers.

Active Directory 사용자 및 컴퓨터 내에서 Report Server 서비스 계정의 속성으로 이동하여 시작합니다.You will need to start by going to the properties of the report server service account within Active Directory Users and Computers. 가상 서비스 계정 또는 네트워크 서비스를 사용했거나 도메인 사용자 계정인 경우 컴퓨터 계정입니다.This will either be the machine account, if you used Virtual Service Account or Network Service, or it will be a domain user account.

프로토콜 전송을 사용하여 제한된 위임을 구성하려고 합니다.We will want to configure constrained delegation with protocol transiting. 제한된 위임을 사용하여 위임하려고 하는 서비스를 노출해야 합니다.With constrained delegation, you need to be explicit with which services we want to delegate to. Analysis Services 서비스 SPN 및 SQL Browser SPN을 Power BI Report Server가 위임할 수 있는 목록에 추가합니다.We will go and add both the Analysis Services service SPN and the SQL Browser SPN to the list that Power BI Report Server can delegate to.

  1. Report Server 서비스 계정을 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.Right click on the report server service account and select Properties.
  2. 위임 탭을 선택합니다.Select the Delegation tab.
  3. 지정한 서비스에 대한 위임의 경우 이 컴퓨터 신뢰를 선택합니다.Select Trust this computer for delegation to specified services only.
  4. 모든 인증 프로토콜 사용을 선택합니다.Select Use any authentication protocol.
  5. 이 계정이 위임된 자격 증명을 표시할 수 있는 서비스에서 추가를 선택합니다.Under the Services to which this account can present delegated credentials: select Add.
  6. 새 대화 상자에서 사용자 또는 컴퓨터를 선택합니다.In the new dialog, select Users or Computers.
  7. Analysis Services 서비스의 서비스 계정을 입력하고 확인을 선택합니다.Enter the service account for the Analysis Services service and select Ok.
  8. 만든 SPN을 선택합니다.Select the SPN that you created. MSOLAPSvc.3로 시작합니다.It will begin with MSOLAPSvc.3. FQDN 및 NetBIOS SPN 모두를 추가한 경우 둘 다 선택합니다.If you added both the FQDN and the NetBIOS SPN, it will select both. 하나만 표시될 수 있습니다.You may only see one.
  9. 확인을 선택합니다.Select OK. 이제 목록에서 SPN이 표시됩니다.You should see the SPN in the list now.
  10. 경우에 따라 확장됨을 선택하여 목록에서 FQDN과 NetBIOS SPN을 모두 표시할 수 있습니다.Optionally, you can select Expanded to show both the FQDN and NetBIOS SPN in the list.
  11. 추가를 다시 선택합니다.Select Add again. 이제 SQL Browser SPN을 추가합니다.We will add the SQL Browser SPN now.
  12. 새 대화 상자에서 사용자 또는 컴퓨터를 선택합니다.In the new dialog, select Users or Computers.
  13. SQL Browser 서비스를 사용하는 컴퓨터의 컴퓨터 이름을 입력하고 확인을 선택합니다.Enter the Machine name for the machine the SQL Browser service is on and select Ok.
  14. 만든 SPN을 선택합니다.Select the SPN that you created. MSOLAPDisco.3로 시작합니다.It will begin with MSOLAPDisco.3. FQDN 및 NetBIOS SPN 모두를 추가한 경우 둘 다 선택합니다.If you added both the FQDN and the NetBIOS SPN, it will select both. 하나만 표시될 수 있습니다.You may only see one.
  15. 확인을 선택합니다.Select Ok. 확장됨을 선택한 경우 대화 상자는 다음과 유사하게 표시됩니다.The dialog should look similar to the following if you checked Expanded.

  16. 확인을 선택합니다.Select Ok.
  17. Power BI Report Server를 다시 부팅합니다.Reboot the Power BI Report Server.

Power BI 보고서 실행Running a Power BI Report

위의 구성이 모두 배치되면 보고서가 제대로 표시되어야 합니다.After all of the above configuration is in place, your report should display properly.

대부분의 경우 이 구성이 Kerberos를 사용하여 작동하는 반면 사용자 환경에 따라 다른 구성이 있을 수 있습니다.While this configuration should work in most cases, with Kerberos, there can be different configuration depending on your environment. 보고서가 로드되지 않은 경우 도메인 관리자에게 알려서 추가로 조사하거나 지원을 문의합니다.If the report will still not load, you will want to reach out to your domain administrator to investigate further or contact support.

다음 단계Next steps

관리자 안내서Administrator handbook
빠른 시작: Power BI Report Server 설치Quickstart: Install Power BI Report Server

궁금한 점이 더 있나요?More questions? Power BI 커뮤니티에 질문합니다.Try asking the Power BI Community