Share via


확장된 보호 문제 해결(Reporting Services)

이 항목으로 SQL Server 2008 R2 Reporting Services에서 확장된 보호를 사용할 때 발생하는 문제를 해결할 수 있습니다. 일반적인 인증 문제를 해결하려는 경우에도 확장된 보호의 구성이 문제의 근본 원인일 수 있으므로 이 항목이 유용할 수 있습니다. 확장된 보호와 관련된 최신 개발 내용은 확장된 보호에 대한 업데이트된 정보를 참조하십시오.

Common issues and support scenarios

Error messages

Error states

일반적인 문제 및 지원 시나리오

확장된 보호의 현재 설정을 어떻게 확인할 수 있습니까?

library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: 구성 파일에 지정된 대로 RSWindowsExtendedProtectionLevel을 'Off'로 초기화합니다.

library!DefaultDomain!698!12/29/2009-10:14:49:: i INFO: 구성 파일에 지정된 대로 RSWindowsExtendedProtectionScenario를 'Proxy'로 초기화합니다.

확장된 보호로 인해 인증이 실패했다는 것을 어떻게 알 수 있습니까?

보고서 서버의 서비스 추적 로그 파일에 다음과 비슷한 항목이 포함됩니다.

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: 오류 상태로 인해 인증 실패했습니다. 46

이 항목의 끝 부분에 나오는 error states 목록에서 오류 상태 번호 및 추가 정보를 참조하십시오.

확장된 보호 검사가 수행 중인지 어떻게 확인할 수 있습니까?

reportingservicesservice.exe.config 구성 파일을 업데이트하여 자세한 로깅을 사용합니다. <RStrace> 섹션에서 다음과 같이 설정합니다.

<add name=”Components” value=”all:4” /> 
  • 서비스를 다시 시작합니다.

  • 자세한 로깅을 사용하면 인증 시 채널 바인딩, 서비스 바인딩 또는 둘 모두에 대한 확인이 수행되고 있음을 나타내는 다음과 비슷한 줄이 기록됩니다.

http!rshost!ec0!12/29/2009-11:01:37:: v VERBOSE: 프록시로 채널 바인딩 확인을 수행하고 있습니다.

http!rshost!7b0!12/29/2009-11:26:23:: v VERBOSE: 서비스 바인딩 확인을 수행하고 있습니다.

자세한 내용은 ReportingServicesService 구성 파일을 참조하십시오.

보고서 서버 카탈로그

Microsoft SQL 클라이언트는 SQL Server 2008 R2가 릴리스될 당시 확장된 보호를 지원하도록 업데이트되지 않았습니다. SQL 클라이언트는 SQL Server 데이터 원본 및 Reporting Services 카탈로그 데이터베이스에 연결하는 데 사용됩니다. SQL 클라이언트의 이러한 제한은 다음과 같은 방식으로 Reporting Services에 영향을 줍니다.

  • Reporting Services 카탈로그 데이터베이스를 실행하는 SQL Server에서 확장된 보호를 사용할 수 없습니다. 사용할 경우 보고서 서버에서 카탈로그 데이터베이스에 연결되지 않고 인증 오류가 반환됩니다.

  • Reporting Services 보고서 데이터 원본으로 사용되는 모든 SQL Server에서 확장된 보호를 사용할 수 없습니다. 사용할 경우 보고서 서버에서 보고서 데이터 원본에 연결하려는 시도가 실패하고 인증 오류가 반환됩니다. 이 문제를 해결하려면 SQL 클라이언트가 아니라 기본 공급자를 사용하도록 Reporting Services 데이터 원본을 변경해야 합니다. 예를 들어 ODBC 드라이버를 사용하도록 데이터 원본을 구성하면 확장된 보호를 지원하는 SQL Native Client가 사용됩니다.

SSL을 구성하지 않고 확장된 보호를 사용하면 어떻게 됩니까?

rsreportserver.config 구성 파일의 RSWindowsExtendedProtectionScenario 설정에 따라 동작이 달라집니다.

RSWindowsExtendedProtectionScenario가 Direct로 설정되어 있고 SSL이 없는 경우

RSWindowsExtendedProtectionScenario가 Direct이고 보고서 서버 또는 보고서 관리자에 대한 SSL URL 예약이 없는 경우 보고서 서버나 보고서 관리자를 보는 사용자에게 일반적으로 빈 보고서 관리자 창이 나타납니다.

이는 SSL이 없고 RSWindowsExtendedProtectionScenario가 Direct로 설정되어 있으면 보고서 서버에서 <RSWindowsNTLM />, <RSWindowsNegotiate /> 및 <RSWindowsKerberos /> 인증 유형을 사용할 수 없기 때문입니다. 따라서 어떤 인증 유형도 사용할 수 없으므로 보고서 서버에서 요청에 응답하지 않게 되고 그 결과 빈 창이 표시됩니다.

추적 로그 파일에 다음과 비슷한 오류 메시지가 포함됩니다.

configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: ExtendedProtectionScenario가 Direct로 설정되어 있으면 보고서 서버 연결에 SSL이 필요합니다.

configmanager!DefaultDomain!938!12/29/2009-11:39:39:: e ERROR: ExtendedProtectionScenario가 Direct로 설정되어 있으면 보고서 관리자 연결에 SSL이 필요합니다.

RSWindowsExtendedProtectionScenario가 Proxy로 설정되어 있고 SSL이 없는 경우

RSWindowsExtendedProtectionScenario가 Proxy로 설정되어 있고 SSL이 환경에 포함되지 않은 경우 일반적으로 보고서 서버나 보고서 관리자를 보는 사용자에게 자격 증명을 요청하는 페이지가 표시되고 인증이 실패합니다. 보고서 서버에 SSL이 구성되어 있을 경우 브라우저에서 보고서 서버나 보고서 관리자의 URL에 's'를 추가하면 문제가 해결됩니다. 예를 들어 RSWindowsExtendedProtectionSscenario가 proxy로 설정되어 있기 때문에 문제가 발생한 것이라면 https://<uri>를 지정하면 인증 대화 상자가 나타나는 문제가 해결됩니다.

보고서 서버의 추적 로그 파일에 다음과 비슷한 메시지가 포함됩니다.

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: 프록시로 채널 바인딩 확인을 수행하고 있습니다.

http!rshost!76c!12/29/2009-10:26:12:: i INFO: 오류 상태로 인해 인증 실패했습니다. 45

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: 프록시로 채널 바인딩 확인을 수행하고 있습니다.

http!rshost!ec0!12/29/2009-11:01:37:: i INFO: 오류 상태로 인해 인증 실패했습니다. 46

확장된 보호를 사용하도록 설정한 후 Internet Explorer에서는 연결할 수 있지만 보고서 작성기, Management Studio 또는 .NET 클라이언트를 사용해서는 연결할 수 없습니다.

이 시나리오는 Windows 7 및 Windows 2008 R2 이전의 운영 체제에만 적용됩니다. 이전 버전의 Windows는 처음부터 확장된 보호 기능과 함께 릴리스되지 않았기 때문에 이전 버전 운영 체제가 설치된 컴퓨터에는 .NET Framework용 확장된 보호 업데이트를 비롯하여 모든 확장된 보호 업데이트가 없을 수 있습니다.

RSWindowsExtendedProtectionLevel이 Allow나 Require일 경우 확장된 보호를 지원하는 운영 체제에서 실행되는 클라이언트 응용 프로그램은 채널 바인딩 및 필요에 따라 서비스 바인딩을 제공해야 합니다. 이 예에서는 다음과 같습니다.

  • Windows 확장된 보호 업데이트의 일부로 Internet Explorer가 확장된 보호를 사용할 수 있도록 업데이트되었습니다.

  • 그러나 .NET Framework는 패치되지 않았습니다. 보고서 작성기 및 Management Studio와 같은 .NET 클라이언트에는 .NET Framework가 필요합니다.

이 문제를 진단하려면 확장된 보호를 사용하지 않도록 설정하고 .NET 클라이언트 응용 프로그램이 연결할 수 있는지 확인합니다. 확장된 보호를 사용하지 않도록 설정하려면 다음을 수행합니다.

  1. RSReportServer.config 파일에서 RSWindowsExtendedProtectionLevel을 Off로 설정합니다.

  2. 보고서 서버 서비스를 다시 시작합니다.

문제를 해결하려면 .NET Framework 업데이트를 모두 다운로드합니다.

확장된 보호를 사용할 경우 로컬 연결 시에는 인증을 전달하는 데 원격 연결 시에는 실패하는 이유가 무엇입니까?

루프백 인증을 수행할 때는 운영 체제에서 인증 메커니즘을 건너뛰고 채널 바인딩을 적용하지 않습니다.

따라서 HTTP 연결을 사용하며 구성 설정이 다음과 같다고 가정해 보십시오.

  • RSWindowsExtendedProtectionLevel이 Require로 설정됨

    그리고

  • RSWindowsExtendedProtectionScenario가 Proxy로 설정됨

이 경우 로컬 연결은 성공하고 원격 연결은 실패합니다.

로컬 연결을 설정하는 데 사용된 URL과 보고서 서버에 구성된 URL 예약에 따라 URL 예약에서 만들어진 SPN이 유효한 SPN 목록의 SPN과 일치하지 않아서 발생한 서비스 바인딩 오류로 인해 로컬 연결이 실패하는 경우도 있습니다.

HTTP 연결을 설정하고 클라이언트와 SSL 연결을 설정하도록 구성된 보고서 서버 간에 게이트웨이가 없으면 원격 연결이 항상 실패합니다.

호스트 헤더를 사용할 경우 401 권한 없음 오류가 나타남

이 시나리오는 Reporting Services 확장 배포와 관련되며 보고서 관리자와 보고서 서버가 동일한 컴퓨터에 있고 둘 모두 호스트 헤더와 Windows 인증을 사용할 경우 발생합니다. 예를 들어 http://<thename>/reports의 보고서 관리자에 액세스하려고 하면 예상했던 보고서와 폴더가 나열되는 대신 "HTTP 401(권한 없음)" 오류 메시지가 나타납니다.

여기서 <thename>은 컴퓨터의 실제 이름이 아니라 "호스트 헤더"로 간주됩니다. 이 이름은 Reporting Services가 설치된 컴퓨터의 대체 이름입니다. 또한 호스트 헤더는 Reporting Services가 확장된 보호에 대한 유효한 SPN 목록을 계산할 때 유효한 SPN의 원본으로 사용됩니다.

401 권한 없음 오류가 나타나지 않도록 하려면 Windows 레지스트리에 저장된 BackConnectionHostNames 목록에 <thename>의 FQDN(정규화된 도메인 이름) 및 NetBIOS를 추가해야 합니다. 레지스트리를 변경한 후 컴퓨터를 다시 부팅합니다.

레지스트리를 변경하는 방법은 Microsoft 기술 자료 문서 896861, 통합 인증을 사용하며 IIS 5.1 이상 버전에 호스트된 웹 사이트를 탐색할 때 오류 401.1이 나타남의 "방법 2: 호스트 이름 지정" 섹션을 참조하십시오.

오류 메시지

다음은 보고서 서버의 서비스 추적 로그 파일에서 볼 수 있는 메시지입니다.

오류 메시지

유형

원인

문제 해결 단계

ExtendedProtectionScenario 설정이 없거나 잘못되었습니다.

오류

  • RSWindowsExtendedProtectionScenario가 rsreportserver.config 파일에 없습니다.

  • 구성 파일을 기본값으로 업데이트합니다.

  • RSWindowsExtendedProtectionLevel 설정의 기본값은 Off입니다.

  • RSWindowsExtendedProtectionScenario 설정의 기본값은 Proxy입니다.

ExtendedProtectionScenario가 Direct로 설정되어 있으면 보고서 서버 연결에 SSL이 필요합니다.

오류

  • RSWindowsExtendedProtectionScenario가 Direct로 설정되어 있습니다.

  • Direct 옵션을 사용하려면 SSL 연결이 필요합니다.

  • SSL 인증서를 가져오고 보고서 서버 및 보고서 관리자에 대해 SSL URL을 구성합니다. Reporting Services를 SharePoint 통합 모드로 사용할 경우 SharePoint 중앙 관리에 대해서도 같은 작업을 수행해야 합니다.

  • SSL 인증서를 가져와 구성할 때까지 RSWindowsExtendedProtectionLevel을 Off로 설정합니다.

  • SSL 인증서가 구성되지 않지만 일정 수준의 보호가 필요한 경우 RSWindowsExtendedProtectionScenario를 Any로 설정합니다.

보고서 서버에 대한 HTTP 트래픽이 NTLM, Kerberos, Negotiate 인증에 실패합니다.

경고

  • RSWindowsExtendedProtectionScenario가 Direct로 설정되어 있습니다.

  • Direct 옵션을 사용하려면 SSL이 필요합니다.

  • HTTP URI 예약이 구성되어 있습니다. 이 URL 예약에 대한 인증이 실패합니다.

  • HTTPS를 사용하여 보고서 서버와 통신합니다.

  • Reporting Services 구성 관리자를 사용하여 HTTP URL 예약을 제거합니다.

ExtendedProtectionScenario가 Direct로 설정되어 있으면 보고서 관리자 연결에 SSL이 필요합니다.

오류

  • RSWindowsExtendedProtectionScenario가 Direct로 설정되어 있습니다.

  • Direct 옵션을 사용하려면 SSL이 필요합니다.

  • 보고서 관리자에 SSL URI가 구성되어 있지 않습니다.

  • SSL 인증서를 가져오고 보고서 서버 및 보고서 관리자에 대해 SSL URL을 구성합니다. Reporting Services를 SharePoint 통합 모드로 사용할 경우 SharePoint 중앙 관리에 대해서도 같은 작업을 수행해야 합니다.

  • SSL 인증서를 가져와 구성할 때까지 RSWindowsExtendedProtectionLevel을 Off로 설정합니다.

  • SSL 인증서가 구성되지 않지만 일정 수준의 보호가 필요한 경우 RSWindowsExtendedProtectionScenario를 Any로 설정합니다.

보고서 서버에 대한 직접 연결에서 NTLM, Kerberos, Negotiate 인증에 실패합니다.

경고

  • RSWindowsExtendedProtectionScenario가 Proxy입니다. 보고서 관리자에 대해 SSL URI가 구성되어 있지 않습니다.

  • 이런 식으로 구성하면 사용자가 SSL 채널을 통해 프록시에 연결해야 합니다. 프록시 장치에 의해 연결이 종료될 수 있습니다. SSL 채널을 사용하지 않고 SSRS 서버에 직접 연결하면 인증이 실패합니다.

  • 클라이언트에서 HTTPS만 사용하고 있는지 확인합니다.

  • SSL 종료가 구성된 프록시가 구성되어 있는지 확인합니다.

  • 로컬 및 원격 컴퓨터 모두 프록시를 사용하여 보고서 서버 및 보고서 관리자에 연결하도록 구성되어 있는지 확인합니다. 이때 DNS 업데이트 또는 브라우저 프록시 업데이트가 필요하거나 로컬 컴퓨터에 대한 HOSTS 파일 항목을 사용자 지정해야 할 수도 있습니다.

  • Reporting Services 서버에서 보고서 서버 및 보고서 관리자에 대해 또는 Reporting Services를 SharePoint 통합 모드로 사용하는 경우 SharePoint 중앙 관리에 대해 SSL URL을 구성합니다. 로컬 연결에서는 모두 이 SSL URL을 사용해야 합니다. 이 경우 어떤 프록시도 종료로 구성되어 있지 않은 것으로 간주됩니다.

  • SSL이 포함된 프록시 URL을 사용하도록 보고서 관리자 URL을 명시적으로 설정합니다.

보고서 관리자에 대한 HTTP 트래픽이 NTLM, Kerberos, Negotiate 인증에 실패합니다.

경고

  • ExtendedProtectionScenario가 Proxy로 설정되어 있고 보고서 관리자에 대해 SSL URI가 구성되어 있습니다.

  • 이런 식으로 구성된 경우 프록시에서 보고서 관리자로 연결할 때 SSL 채널을 사용하지 않더라도 프록시를 통해 액세스하는 사용자가 인증에 성공합니다.

  • 보고서 관리자에 대한 로컬 연결에서 SSL을 사용해야 합니다.

  • 클라이언트에서 HTTPS(SSL 채널)를 사용하고 있는지 확인합니다.

  • SSL 종료가 구성된 프록시가 구성되어 있는지 확인합니다.

  • 로컬 및 원격 컴퓨터 모두 프록시를 사용하여 보고서 서버 및 보고서 관리자에 연결하도록 구성되어 있는지 확인합니다. 이때 DNS 업데이트 또는 브라우저 프록시 업데이트가 필요하거나 로컬 컴퓨터에 대한 HOSTS 파일 항목을 사용자 지정해야 할 수도 있습니다.

  • 보고서 서버의 Reporting Services 서버에서 보고서 서버 및 보고서 관리자에 대해 SSL URL을 구성합니다. 로컬 연결에서는 모두 이 SSL URL을 사용해야 합니다. 이 경우 어떤 프록시도 종료로 구성되어 있지 않은 것으로 간주됩니다.

  • SSL이 포함된 프록시 URL을 사용하도록 보고서 관리자 URL을 명시적으로 설정합니다.

오류 상태

이 섹션에는 보고서 서버 서비스 추적 로그에 표시되는 확장된 보호와 관련된 오류 코드의 이름과 해당 설명이 나와 있습니다. 자세한 내용은 보고서 서버 서비스 추적 로그를 참조하십시오.

코드

오류 상태 이름

설명

44

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NOTSUPPORTED

운영 체제에서 채널 바인딩을 지원하지 않는데 보고서 서버가 확장된 보호를 사용하도록 구성되어 있습니다. 운영 체제를 업데이트하거나 확장된 보호를 사용하지 않도록 설정하십시오.

45

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_EMPTYORWRONG

이 클라이언트의 채널 바인딩이 설정된 TLS(전송 계층 보안) 채널과 일치하지 않습니다. 서비스가 공격을 받고 있는 경우이거나, 확장된 보호를 지원하도록 데이터 공급자를 업그레이드해야 할 수 있습니다. 연결이 닫혔습니다.

46

SNIAUTH_ERRST_SSPIHANDSHAKE_CHANNELBINDINGS_NULLOREMPTYORWRONG

이 클라이언트의 채널 바인딩이 없거나 설정된 TLS(전송 계층 보안) 채널과 일치하지 않습니다. 서비스가 공격을 받거나 확장된 보호를 지원하도록 데이터 공급자 또는 운영 체제를 업그레이드해야 할 수 있습니다. 연결이 닫혔습니다.

48

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_UNSUPPORTED

운영 체제에서 서비스 바인딩을 지원하지 않는데 서버가 확장된 보호를 사용하도록 구성되어 있습니다. 운영 체제를 업데이트하거나 확장된 보호를 사용하지 않도록 설정하십시오.

49

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_QUERYCONTEXTATTRIBUTES

QueryContextAttributes에서 서비스 바인딩을 검색할 수 없습니다. Windows 오류 코드는 오류 원인을 나타냅니다.

51

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_NULL

서버의 확장된 보호 수준이 허용 또는 필수로 설정되어 있고, 클라이언트가 SPN(서비스 사용자 이름)을 제공하지 않았습니다. 연결하려면 이 클라이언트는 확장된 보호를 지원해야 합니다. 서비스 바인딩 및 채널 바인딩을 허용하는 운영 체제 서비스 팩을 설치해야 할 수도 있습니다.

52

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_EMPTY

서버의 확장된 보호 수준이 허용 또는 필수로 설정되어 있고, 클라이언트가 SPN을 제공하지 않았습니다. 연결하려면 이 클라이언트는 확장된 보호를 지원해야 합니다.

53

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_SERVICECLASSMISMATCH

받은 SPN의 서비스 클래스 요소가 잘못되었습니다.

54

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_IPADDRESSMISMATCH

받은 SPN의 IP 주소 요소가 잘못되었습니다.

55

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_HOSTNAMEMISMATCH

받은 SPN의 호스트 요소가 잘못되었습니다.

56

SNIAUTH_ERRST_SSPIHANDSHAKE_OOM

받은 SPN의 유효성을 검사하는 동안 메모리를 할당하지 못했습니다.

57

SNIAUTH_ERRST_SSPIHANDSHAKE_SERVICEBINDINGS_WSASTRINGTOADDRESSFAILEDFORIPV6

WSAStringToAddress가 받은 SPN의 IP 주소 요소를 주소 구조로 변환하지 못했습니다. Windows 오류 코드는 오류 원인을 나타냅니다.