적용 대상:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
SPN(서비스 사용자 이름)은 Kerberos를 사용하여 클라이언트 및 서비스 ID를 상호 인증하는 경우 Active Directory 도메인의 서비스 인스턴스를 고유하게 식별합니다. SPN은 서비스 인스턴스가 실행되는 로그온 계정과 연결됩니다.
Kerberos 인증을 통해 Analysis Services에 연결하는 클라이언트 애플리케이션의 경우 Analysis Services 클라이언트 라이브러리는 연결 문자열의 호스트 이름과 지정된 Analysis Services 릴리스에서 수정된 서비스 클래스와 같은 기타 잘 알려진 변수를 사용하여 SPN을 생성합니다.
상호 인증이 수행되려면 클라이언트에서 생성된 SPN이 DC(Active Directory 도메인 컨트롤러)의 해당 SPN 개체와 일치해야 합니다. 즉, 사용자가 연결 문자열에 호스트 이름을 지정할 수 있는 모든 방법을 다루기 위해 단일 Analysis Services 인스턴스에 여러 SPN을 등록해야 할 수 있습니다. 예를 들어 서버의 FQDN(정규화된 도메인 이름)과 짧은 컴퓨터 이름을 모두 처리하려면 두 개의 SPN이 필요할 수 있습니다. 성공적인 연결을 위해서는 Analysis Services SPN을 올바르게 등록해야 합니다. SPN이 존재하지 않거나, 형식이 잘못되었거나, 중복된 경우 연결이 실패합니다.
SPN 등록은 Analysis Services 관리자가 수행하는 수동 작업입니다. SQL Server 데이터베이스 엔진과 달리 Analysis Services는 서비스 시작 시 SPN을 자동으로 등록하지 않습니다. Analysis Services가 서비스별 SID를 포함하여 기본 가상 계정, 도메인 사용자 계정 또는 기본 제공 계정으로 실행되는 경우 수동 등록이 필요합니다.
서비스가 도메인 관리자가 만든 미리 정의된 관리 서비스 계정으로 실행되는 경우 SPN 등록이 필요하지 않습니다. 도메인의 기능 수준에 따라 SPN을 등록하려면 도메인 관리자 권한이 필요할 수 있습니다.
팁 (조언)
SQL Server용 Microsoft Kerberos 구성 관리자는 SQL Server과의 Kerberos 관련 연결 문제를 해결하는 진단 도구입니다. 자세한 내용은 SQL Server용 Microsoft Kerberos 구성 관리자를 참조하십시오.
이 항목에는 다음과 같은 섹션이 포함되어 있습니다.
HTTP 액세스를 위해 구성된 SSAS 인스턴스에 대한 SPN 등록
고정 포트에서 수신 대기하는 SSAS 인스턴스에 대한 SPN 등록
SPN 등록이 필요한 경우
연결 문자열에서 "SSPI=Kerberos"를 지정하는 모든 클라이언트 연결은 Analysis Services 인스턴스에 대한 SPN 등록 요구 사항을 도입합니다.
SPN 등록은 다음과 같은 경우에 필요합니다. 자세한 내용은 Kerberos 제한 위임에 대한 Analysis Services 구성을 참조하세요.
클라이언트 애플리케이션 또는 중간 계층 서비스에서 Analysis Services로 사용자 ID를 전달하려면 ID 위임이 필요합니다. ID 위임은 일반적으로 사용자별 사용 권한 또는 필터가 특정 개체에 정의된 경우에 사용됩니다.
ID 위임과 관련된 일반적인 시나리오는 Analysis Services에서 데이터를 검색할 때 사용자 ID를 가장하기 위해 제한된 위임을 위해 Excel Services 또는 Reporting Services와 같은 중간 계층 서비스를 구성하는 것입니다. 이 동작을 지원하려면 제한된 위임을 위해 Excel Services 또는 Reporting Services를 구성할 때 Analysis Services SPN을 대상 서비스로 제공해야 합니다.
Analysis Services는 DirectQuery 모드를 사용하여 테이블 형식 데이터베이스에 대한 SQL Server 관계형 데이터베이스에서 데이터를 검색할 때 사용자 ID를 위임합니다. Analysis Services에서 사용자 ID를 다른 서비스에 위임하는 유일한 시나리오입니다.
Analysis Services에 대한 SPN 형식
setspn을 사용하여 SPN을 등록합니다. 최신 운영 체제에서 setspn 은 시스템 유틸리티로 설치됩니다. 자세한 내용은 SetSPN을 참조하세요.
다음 표에서는 Analysis Services SPN의 각 부분을 설명합니다.
| 요소 | Description |
|---|---|
| 서비스 클래스 | MSOLAPSvc.3은 서비스를 Analysis Services 인스턴스로 식별합니다. .3은 Analysis Services 전송에 사용되는 XMLA over-TCP/IP 프로토콜의 버전에 대한 참조입니다. 제품 릴리스와 관련이 없습니다. 따라서 MSOLAPSvc.3은 SQL Server 2005, 2008, 2008 R2, 2012 및 프로토콜 자체가 수정될 때까지 Analysis Services의 향후 릴리스에 적합한 서비스 클래스입니다. |
| 호스트 이름 | 서비스가 실행 중인 컴퓨터를 식별합니다. 정규화된 도메인 이름 또는 NetBIOS 이름일 수 있습니다. 둘 다에 대해 SPN을 등록해야 합니다. 서버의 NetBIOS 이름에 대한 SPN을 등록할 때, 중복 등록을 확인하려면 SetupSPN -S를 사용해야 합니다. NetBIOS 이름은 포리스트에서 고유하도록 보장되지 않으며 중복된 SPN 등록이 있으면 연결이 실패합니다.Analysis Services 부하 분산 클러스터의 경우 호스트 이름은 클러스터에 할당된 가상 이름이어야 합니다. IP 주소를 사용하여 SPN을 만들지 않습니다. Kerberos는 도메인의 DNS 확인 기능을 사용합니다. IP 주소를 지정하면 해당 기능이 무시됩니다. |
| 포트 번호 | 포트 번호는 SPN 구문의 일부이지만 Analysis Services SPN을 등록할 때는 포트 번호를 지정하지 않습니다. 일반적으로 표준 SPN 구문에서 포트 번호를 제공하는 데 사용되는 콜론(: ) 문자는 Analysis Services에서 인스턴스 이름을 지정하는 데 사용됩니다. Analysis Services 인스턴스의 경우 포트는 기본 포트(TCP 2383) 또는 SQL Server 브라우저 서비스(TCP 2382)에서 할당한 포트로 간주됩니다. |
| 인스턴스 이름 | Analysis Services는 동일한 컴퓨터에 여러 번 설치할 수 있는 복제 가능한 서비스입니다. 각 인스턴스는 인스턴스 이름을 통해 식별됩니다. 인스턴스 이름 앞에 콜론(: ) 문자가 수록되어 있습니다. 예를 들어 SRV01이라는 호스트 컴퓨터와 SSAS 테이블 형식의 명명된 인스턴스가 있는 경우 SPN은 SRV01:SSAS 테이블 형식이어야 합니다. 명명된 Analysis Services 인스턴스를 지정하는 구문은 다른 SQL Server 인스턴스에서 사용하는 구문과 다릅니다. 다른 서비스는 백슬래시(\)를 사용하여 SPN에 인스턴스 이름을 추가합니다. |
| 서비스 계정 | MSSQLServerOLAPService Windows 서비스의 시작 계정입니다. Windows 도메인 사용자 계정, 가상 계정, MSA(관리 서비스 계정) 또는 서비스별 SID, NetworkService 또는 LocalSystem과 같은 기본 제공 계정일 수 있습니다. Windows 도메인 사용자 계정은 도메인\사용자 또는 user@___domain 형식으로 지정할 수 있습니다. |
가상 계정에 대한 SPN 등록
가상 계정은 SQL Server 서비스의 기본 계정 유형입니다. 가상 계정은 기본 인스턴스의 경우 NT Service\MSOLAPService 이고 명명된 인스턴스의 경우 NT Service\MSOLAP$<instance-name> 입니다.
이름에서 알 수 있듯이 이러한 계정은 Active Directory에 없습니다. 가상 계정은 로컬 컴퓨터에만 존재합니다. 외부 서비스, 애플리케이션 또는 디바이스에 연결할 때 로컬 컴퓨터 계정을 사용하여 연결합니다. 이러한 이유로 가상 계정으로 실행되는 Analysis Services에 대한 SPN 등록은 실제로 컴퓨터 계정에 대한 SPN 등록입니다.
NT Service\MSOLAPService로 실행되는 기본 인스턴스에 대한 예제 구문
이 예제에서는 기본 가상 계정으로 실행되는 Analysis Services 기본 인스턴스에 대한 setspn 구문을 보여 줍니다. 이 예제에서 컴퓨터 호스트 이름은 AW-SRV01입니다. 언급했듯이 SPN 등록은 가상 계정인 NT Service\MSOLAPService 대신 컴퓨터 계정을 지정해야 합니다.
Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01
비고
NetBIOS 호스트 이름과 호스트의 정규화된 도메인 이름 각각에 대해 SPN 등록을 두 개 만들어야 합니다. Analysis Services에 연결할 때 다른 클라이언트 애플리케이션은 서로 다른 호스트 이름 규칙을 사용합니다. SPN 등록이 두 개 있으면 호스트 이름의 두 버전이 모두 고려됩니다.
NT Service\MSOLAP$<instance-name으로 실행되는 명명된 인스턴스에 대한 예제 구문>
이 예제에서는 기본 가상 계정에서 실행되는 명명된 인스턴스에 대한 setspn 구문을 보여 줍니다. 이 예제에서 컴퓨터 호스트 이름은 AW-SRV02이고 인스턴스 이름은 AW-FINANCE입니다. 다시 말하지만, 가상 계정 NT Service\MSOLAP$<instance-name>이 아닌 SPN에 대해 지정된 컴퓨터 계정입니다.
Setspn -s MSOLAPSvc.3/AW-SRV02.AdventureWorks.com:AW-FINANCE AW-SRV02
도메인 계정에 대한 SPN 등록
도메인 계정을 사용하여 Analysis Services 인스턴스를 실행하는 것이 일반적입니다.
네트워크 또는 하드웨어 부하 분산 클러스터에서 실행되는 Analysis Services 인스턴스의 경우 동일한 도메인 계정으로 실행되는 클러스터의 각 인스턴스와 함께 도메인 계정이 필요합니다.
도메인 사용자로 실행되는 기본 인스턴스에 대한 예제 구문
이 예제에서는 AdventureWorks 도메인의 도메인 사용자 계정인 SSAS-Service에서 실행되는 Analysis Services 기본 인스턴스에 대한 setspn 구문을 보여 줍니다.
Setspn -s msolapsvc.3/AW-SRV01.Adventureworks.com AdventureWorks\SSAS-Service
팁 (조언)
Analysis Services 서버에 대한 SPN이 생성되었는지 확인하려면 SPN의 등록 방식에 따라 Setspn -L <___domain account> 또는 Setspn -L <machinename>을 실행하십시오. 목록에 MSOLAPSVC.3/<hostname> 이 표시됩니다.
기본 제공 계정에 대한 SPN 등록
이 방법은 권장되지 않지만 이전 Analysis Services 설치는 네트워크 서비스, 로컬 서비스 또는 로컬 시스템과 같은 기본 제공 계정에서 실행되도록 구성되기도 합니다.
기본 제공 계정에서 실행되는 기본 인스턴스에 대한 예제 구문
기본 제공 계정 또는 서비스별 SID에서 실행되는 서비스에 대한 SPN 등록은 가상 계정에 사용되는 SPN 구문과 동일합니다. 계정 이름 대신 컴퓨터 계정을 사용합니다.
Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01
명명된 인스턴스에 대한 SPN 등록
기본적으로 Analysis Services의 명명된 인스턴스는 SQL Server 브라우저 서비스에서 검색되는 동적 포트 할당을 사용합니다. Kerberos 연결을 사용하도록 설정하려면 명명된 인스턴스에 대한 NetBIOS 및 FQDN SPN만 만들어야 합니다.
도메인 사용자로 실행되는 명명된 인스턴스에 대한 예제 구문
다음 예제에서는 AdventureWorks 도메인의 도메인 사용자 계정인 SSAS-Service에서 실행되는 Analysis Services의 명명된 인스턴스 setspn에 대한 구문을 AW-FINANCE 보여줍니다. 이 예제에서 컴퓨터 호스트 이름은 AW-SRV01입니다.
FQDN SPN: Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com:AW-FINANCE AdventureWorks\SSAS-Service
NetBIOS SPN: Setspn -s MSOLAPSvc.3/AW-SRV01:AW-FINANCE AdventureWorks\SSAS-Service
비고
고정 포트에서 수신 대기하도록 명명된 인스턴스를 구성한 경우 다음 단계를 수행하여 클라이언트 애플리케이션의 Kerberos 연결을 사용합니다.
- SQL Server Browser 서비스를 시작합니다.
- 연결 문자열에서 포트 번호를 사용하는 경우 포트 번호를 제거하고 인스턴스 이름을 추가하고 애플리케이션이 SQL Server Browser 서비스를 통해 포트 번호를 받도록 합니다.
팁 (조언)
SPN이 등록된 방법에 따라 명령을 실행 Setspn -L <___domain account>Setspn -L <machinename> 하여 SQL 명명된 인스턴스에 대해 SPN이 만들어졌는지 확인합니다.
MICROSOFT Kerberos Configuration Manager for SQL Server는 SQL Server와 관련된 Kerberos 연결 문제를 해결하는 데 도움이 되는 진단 도구입니다. 이 도구는 SPN 및 위임의 잠재적인 문제를 식별하고 식별된 문제를 해결하기 위한 자동화된 절차를 제공하는 데 도움이 될 수 있습니다. 자세한 내용은 SQL Server용 Microsoft Kerberos 구성 관리자를 참조하십시오.
SSAS 클러스터에 대한 SPN 등록
Analysis Services 장애 조치(failover) 클러스터의 경우 호스트 이름은 클러스터에 할당된 가상 이름이어야 합니다. 기존 WSFC 위에 Analysis Services를 설치할 때 SQL Server 설치 중에 지정된 SQL Server 네트워크 이름입니다. Active Directory에서 이 이름을 찾을 수 있습니다. 장애 조치(failover) 클러스터 관리자 | 역할 | 리소스 탭에서도 찾을 수있습니다. 리소스 탭의 서버 이름은 SPN 명령에서 '가상 이름'으로 사용해야 합니다.
Analysis Services 클러스터에 대한 SPN 구문
Setspn -s msolapsvc.3/<virtualname.FQDN > <___domain user account>
Analysis Services 클러스터의 노드는 기본 포트(TCP 2383)를 사용하고 각 노드에 동일한 SID가 있도록 동일한 도메인 사용자 계정으로 실행해야 합니다. 자세한 내용은 SQL Server Analysis Services를 클러스터하는 방법을 참조하세요.
HTTP 액세스를 위해 구성된 SSAS 인스턴스에 대한 SPN 등록
솔루션 요구 사항에 따라 HTTP 액세스를 위해 Analysis Services를 구성했을 수 있습니다. 솔루션에 IIS가 중간 계층 구성 요소로 포함되어 있고 Kerberos 인증이 솔루션 요구 사항인 경우 IIS용 SPN을 수동으로 등록해야 할 수 있습니다. 자세한 내용은 Kerberos 인증을 사용하도록 SQL Server 2008 Analysis Services 및 SQL Server 2005 Analysis Services를 구성하는 방법의 "IIS를 실행하는 컴퓨터에서 설정 구성"을 참조하세요.
Analysis Services 인스턴스에 대한 SPN 등록 측면에서 TCP 또는 HTTP에 대해 구성된 인스턴스 간에는 차이가 없습니다. MSMDPUMP ISAPI 확장을 사용하여 IIS에서 Analysis Services에 대한 연결은 항상 TCP입니다.
즉, 기본 또는 명명된 인스턴스에 대해 이전 섹션의 지침을 사용하여 SPN을 등록할 수 있습니다. 호스트 이름을 지정할 때 HTTP 액세스를 위해 서비스를 구성할 때 msmdpump.ini 파일에 지정한 호스트 이름을 사용해야 합니다.
HTTP 액세스에 대한 자세한 내용은 IIS(인터넷 정보 서비스) 8.0에서 Analysis Services에 대한 HTTP 액세스 구성을 참조하세요.
고정 포트에서 수신 대기하는 SSAS 인스턴스에 대한 SPN 등록
Analysis Services SPN 등록에는 포트 번호를 지정할 수 없습니다. Analysis Services SPN 등록은 인스턴스 이름만 사용할 수 있습니다. Analysis Services를 기본 인스턴스로 설치하고 기본 포트가 아닌 포트에서 수신하도록 구성한 경우 Kerberos를 사용하여 해당 인스턴스에 연결할 수 없습니다. 해당 인스턴스에 Kerberos 연결을 사용하도록 설정하려면 기본 포트(TCP 2383)에서 수신 대기하도록 구성해야 합니다. 기본 포트가 아닌 포트에서 수신 대기하는 Analysis Services의 기본 인스턴스는 NTLM 연결만 허용할 수 있습니다. 명명된 인스턴스의 경우 SQL Server Browser 서비스를 시작하고 포트 번호 대신 연결 문자열에서 인스턴스 이름을 사용해야 합니다.
Analysis Services 인스턴스는 단일 포트에서만 수신 대기할 수 있습니다. 여러 포트 사용은 지원되지 않습니다. 포트 구성에 대한 자세한 내용은 Analysis Services 액세스를 허용하도록 Windows 방화벽 구성을 참조하세요.
또한 참조하십시오
Microsoft BI 인증 및 ID 위임
Kerberos를 사용한 상호 인증
서비스 주체 이름(SPN) SetSPN 구문(Setspn.exe)
SetSPN
서비스 계정 단계별 가이드
Windows 서비스 계정 및 권한 구성
인터넷 정보 서비스에서 호스트되는 웹 애플리케이션을 구성할 때 SPN을 사용하는 방법
서비스 계정의 새로운 기능
SharePoint 2010 제품에 대한 Kerberos 인증 구성(백서)