Reporting Services를 사용한 인증에 대한 확장된 보호

확장된 보호는 최신 버전의 Microsoft Windows 운영 체제에서 향상된 기능 세트입니다. 확장된 보호는 애플리케이션이 자격 증명 및 인증을 보호하는 방법을 향상시킵니다. 이 기능 자체는 자격 증명 전달과 같은 특정 공격에 대한 보호를 직접 제공하지는 않지만 Reporting Services와 같은 애플리케이션에 대한 인프라를 제공하여 인증에 대한 확장된 보호를 적용합니다.

확장된 보호에서 주로 향상된 인증 기능은 서비스 바인딩과 채널 바인딩입니다. 채널 바인딩은 CBT(채널 바인딩 토큰)를 사용하여 두 엔드포인트 간에 설정된 채널이 손상되지 않았는지 확인합니다. 서비스 바인딩은 SPN(서비스 사용자 이름)을 사용하여 인증 토큰의 대상이 유효한지 검사합니다. 확장된 보호에 대한 자세한 배경 정보는 확장된 보호를 사용한 통합 Windows 인증 참조하세요.

SSRS(SQL Server Reporting Services)는 운영 체제에서 사용하도록 설정되고 Reporting Services에 구성된 확장된 보호를 지원하고 적용합니다. Reporting Services는 기본적으로 Negotiate 또는 NTLM 인증을 지정하는 요청을 수락하므로 운영 체제의 확장된 보호 지원 및 Reporting Services 확장된 보호 기능을 활용할 수 있습니다.

Important

기본적으로 Windows는 확장된 보호를 사용하도록 설정하지 않습니다. Windows에서 확장된 보호를 사용하도록 설정하는 방법에 대한 자세한 내용은 인증에 대한 확장 보호를 참조하세요. 운영 체제 및 클라이언트 인증 스택 모두 인증이 성공하려면 확장된 보호를 지원해야 합니다. 이전 운영 체제의 경우 확장된 보호를 사용할 수 있도록 컴퓨터가 완전하게 준비되려면 업데이트를 여러 개 설치해야 할 수도 있습니다. 확장된 보호를 사용한 최근 개발에 대한 자세한 내용은 확장된 보호를 사용하여 업데이트된 정보를 참조하세요.

Reporting Services 확장된 보호 개요

SSRS는 운영 체제에서 사용하도록 설정된 확장된 보호를 지원하고 적용합니다. 운영 체제에서 확장된 보호를 지원하지 않거나 운영 체제의 기능을 사용하도록 설정하지 않은 경우 Reporting Services 확장 보호 기능은 인증에 실패합니다. Reporting Services 확장된 보호를 사용하려면 TLS/SSL 인증서가 필요합니다. 자세한 내용은 기본 모드 보고서 서버에서 TLS 연결 구성을 참조 하세요.

Important

기본적으로 Reporting Services에서는 확장된 보호를 사용할 수 없습니다. rsreportserver.config 구성 파일을 수정하거나 WMI API를 사용하여 구성 파일을 업데이트하여 기능을 사용하도록 설정할 수 있습니다. SSRS는 확장된 보호 설정을 수정하거나 볼 수 있는 사용자 인터페이스를 제공하지 않습니다. 자세한 내용은 이 항목의 구성 설정 섹션을 참조하세요.

확장된 보호 설정의 변경 또는 잘못 구성된 설정으로 인해 발생하는 일반적인 문제는 명백한 오류 메시지 또는 대화 상자 창으로 노출되지 않습니다. 확장된 보호 구성 및 호환성과 관련된 문제가 있으면 Reporting Services 추적 로그에 인증 실패 및 오류가 생성됩니다.

Important

일부 데이터 액세스 기술은 확장된 보호를 지원하지 않을 수 있습니다. 데이터 액세스 기술은 SQL Server 데이터 원본 및 Reporting Services 카탈로그 데이터베이스에 연결하는 데 사용됩니다. 데이터 액세스 기술이 확장된 보호를 지원하지 않는 경우 다음과 같이 Reporting Services에 영향을 미칩니다.

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

데이터 액세스 기술에 대한 설명서에는 확장된 보호 지원에 대한 정보가 있어야 합니다.

업그레이드

  • Reporting Services 서버를 SQL Server 2016으로 업그레이드하면 기본값이 지정된 구성 설정이 rsreportserver.config 파일에 추가됩니다. 설정이 이미 있는 경우 SQL Server 2016 설치는 rsreportserver.config 파일에 해당 설정을 유지합니다.

  • 구성 설정이 rsreportserver.config 구성 파일에 추가되면 기본 동작은 Reporting Services 확장 보호 기능을 해제하는 것이며 이 문서에 설명된 대로 기능을 사용하도록 설정해야 합니다. 자세한 내용은 이 문서의 구성 설정 섹션을 참조하세요.

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

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

  • 업그레이드 관리자 운영 체제 또는 확장된 보호 지원을 사용하는 Reporting Services의 현재 설치가 활성화되었는지 확인하지 않습니다.

Reporting Services 확장된 보호가 다루지 않는 항목

Reporting Services 확장 보호 기능은 다음 기능 영역 및 시나리오를 지원하지 않습니다.

  • Reporting Services 사용자 지정 보안 확장의 작성자는 확장된 보호에 대한 지원을 사용자 지정 보안 확장에 추가해야 합니다.

  • 타사 공급업체는 확장된 보호를 지원하기 위해 Reporting Services 설치에 추가되거나 사용되는 타사 구성 요소를 업데이트해야 합니다. 자세한 내용은 타사 공급업체에 문의하십시오.

배포 시나리오 및 권장 사항

다음 시나리오는 다양한 배포 및 토폴로지와 이들을 Reporting Services 확장된 보호로 보안 설정하는 데 필요한 권장 구성을 보여 줍니다.

Direct

이 시나리오에서는 보고서 서버(예: 인트라넷 환경)에 직접 연결하는 방법을 설명합니다.

시나리오 시나리오 다이어그램 보안 방법
직접 TLS 통신.

보고서 서버는 클라이언트를 보고서 서버 채널 바인딩에 적용합니다.
Diagram that shows direct TLS communication.

1) 클라이언트 애플리케이션

2) 보고서 서버
또는 .로 RequireAllow 설정합니다RSWindowsExtendedProtectionLevel.

RSWindowsExtendedProtectionScenarioDirect로 설정합니다.



-TLS 채널이 채널 바인딩에 사용되므로 서비스 바인딩이 필요하지 않습니다.
직접 HTTP 통신. 보고서 서버는 클라이언트를 보고서 서버 서비스 바인딩에 적용합니다. Diagram that shows HTTP communication.

1) 클라이언트 애플리케이션

2) 보고서 서버
또는 .로 RequireAllow 설정합니다RSWindowsExtendedProtectionLevel.

RSWindowsExtendedProtectionScenarioAny로 설정합니다.



-TLS 채널이 없으므로 채널 바인딩을 적용할 수 없습니다.

-서비스 바인딩의 유효성을 검사할 수 있지만 채널 바인딩 및 서비스 바인딩이 없는 완전한 방어는 기본 위협으로부터만 보호합니다.

프록시 및 네트워크 부하 분산

클라이언트 애플리케이션이 인증을 위해 TLS를 수행하고 서버에 자격 증명을 전달하는 디바이스나 소프트웨어(예: 익스트라넷, 인터넷 또는 보안 인트라넷)에 연결합니다. 클라이언트가 프록시에 연결하거나 모든 클라이언트가 프록시를 사용합니다.

NLB(네트워크 부하 분산) 디바이스를 사용하는 경우의 상황은 동일합니다.

시나리오 시나리오 다이어그램 보안 방법
HTTP 통신. 보고서 서버는 클라이언트를 보고서 서버 서비스 바인딩에 적용합니다. Diagram that shows indirect HTTP communication.

1) 클라이언트 애플리케이션

2) 보고서 서버

3) 프록시
또는 .로 RequireAllow 설정합니다RSWindowsExtendedProtectionLevel.

RSWindowsExtendedProtectionScenarioAny로 설정합니다.



-TLS 채널이 없으므로 채널 바인딩을 적용할 수 없습니다.

-서비스 바인딩이 올바르게 적용되었는지 확인하려면 프록시 서버의 이름을 알도록 보고서 서버를 구성해야 합니다.
HTTP 통신.

보고서 서버는 클라이언트를 프록시 채널 바인딩에 적용하고 클라이언트는 보고서 서버 서비스 바인딩을 적용합니다.
Diagram that shows indirect SSL communication.

1) 클라이언트 애플리케이션

2) 보고서 서버

3) 프록시
설정
RSWindowsExtendedProtectionLevel to Allow 또는 Require.

RSWindowsExtendedProtectionScenarioProxy로 설정합니다.



- 프록시에 대한 TLS 채널을 사용할 수 있으므로 프록시에 대한 채널 바인딩을 적용할 수 있습니다.

-서비스 바인딩을 적용할 수도 있습니다.

- 프록시 이름은 보고서 서버에 알려야 하며 보고서 서버 관리자는 호스트 헤더를 사용하여 URL 예약을 만들거나 Windows 레지스트리 항목 BackConnectionHostNames에서 프록시 이름을 구성해야 합니다.
보안 프록시를 사용한 간접 HTTPS 통신. 보고서 서버는 클라이언트를 프록시 채널 바인딩에 적용하고 클라이언트는 보고서 서버 서비스 바인딩을 적용합니다. Diagram that shows indirect HTTPS communication with a secure proxy.

1) 클라이언트 애플리케이션

2) 보고서 서버

3) 프록시
설정
RSWindowsExtendedProtectionLevel to Allow 또는 Require.

RSWindowsExtendedProtectionScenarioProxy로 설정합니다.



- 프록시에 대한 TLS 채널을 사용할 수 있으므로 프록시에 대한 채널 바인딩을 적용할 수 있습니다.

-서비스 바인딩을 적용할 수도 있습니다.

- 프록시 이름은 보고서 서버에 알려야 하며 보고서 서버 관리자는 호스트 헤더를 사용하여 URL 예약을 만들거나 Windows 레지스트리 항목 BackConnectionHostNames에서 프록시 이름을 구성해야 합니다.

게이트웨이

이 시나리오에서는 TLS를 수행하고 사용자를 인증하는 디바이스 또는 소프트웨어에 연결하는 클라이언트 애플리케이션에 대해 설명합니다. 그런 다음 디바이스 또는 소프트웨어는 보고서 서버에 요청하기 전에 사용자 컨텍스트 또는 다른 사용자 컨텍스트를 가장합니다.

시나리오 시나리오 다이어그램 보안 방법
간접 HTTP 통신.

게이트웨이는 클라이언트-게이트웨이 채널 바인딩을 적용합니다. 서버 서비스 바인딩을 보고하는 게이트웨이가 있습니다.
Diagram that shows indirect SSL communication.

1) 클라이언트 애플리케이션

2) 보고서 서버

3) 게이트웨이 디바이스
또는 .로 RequireAllow 설정합니다RSWindowsExtendedProtectionLevel.

RSWindowsExtendedProtectionScenarioAny로 설정합니다.



-게이트웨이가 컨텍스트를 가장하여 새 NTLM 토큰을 만들기 때문에 클라이언트에서 보고서 서버로 채널 바인딩을 사용할 수 없습니다.

- 게이트웨이에서 보고서 서버로의 TLS가 없으므로 채널 바인딩을 적용할 수 없습니다.

-서비스 바인딩을 적용할 수 있습니다.

-관리자가 채널 바인딩을 적용하도록 게이트웨이 디바이스를 구성해야 합니다.
보안 게이트웨이와의 간접 HTTPS 통신. 게이트웨이는 클라이언트를 게이트웨이 채널 바인딩에 적용하고 보고서 서버는 게이트웨이를 보고서 서버 채널 바인딩에 적용합니다. Diagram that shows indirect HTTPS communication with a Secure Gateway.

1) 클라이언트 애플리케이션

2) 보고서 서버

3) 게이트웨이 디바이스
또는 .로 RequireAllow 설정합니다RSWindowsExtendedProtectionLevel.

RSWindowsExtendedProtectionScenarioDirect로 설정합니다.



-게이트웨이가 컨텍스트를 가장하여 새 NTLM 토큰을 만들기 때문에 클라이언트에서 보고서 서버로 채널 바인딩을 사용할 수 없습니다.

-TLS 게이트웨이에서 보고서 서버로 채널 바인딩을 적용할 수 있습니다.

-서비스 바인딩이 필요하지 않습니다.

-관리자가 채널 바인딩을 적용하도록 게이트웨이 디바이스를 구성해야 합니다.

조합

이 시나리오에서는 클라이언트가 보고서 서버에 연결하는 인트라넷 환경과 함께 프록시를 연결하는 엑스트라넷 또는 인터넷 환경에 대해 설명합니다.

시나리오 시나리오 다이어그램 보안 방법
클라이언트에서 프록시로 또는 클라이언트에서 보고서 서버 연결에 대한 TLS 없이 클라이언트에서 보고서 서버 서비스로 간접 및 직접 액세스 1) 클라이언트 애플리케이션

2) 보고서 서버

3) 프록시

4) 클라이언트 애플리케이션
또는 .로 RequireAllow 설정합니다RSWindowsExtendedProtectionLevel.

RSWindowsExtendedProtectionScenarioAny로 설정합니다.



-클라이언트에서 보고서 서버로의 서비스 바인딩이 적용될 수 있습니다.

- 프록시 이름은 보고서 서버에 알려야 하며 보고서 서버 관리자는 호스트 헤더를 사용하여 URL 예약을 만들거나 Windows 레지스트리 항목 BackConnectionHostNames에서 프록시 이름을 구성해야 합니다.
클라이언트에서 보고서 서버로 간접 및 직접 액세스합니다. 여기서 클라이언트는 프록시 또는 보고서 서버에 대한 TLS 연결을 설정합니다. Diagram that shows indirect and direct access from client to report server.

1) 클라이언트 애플리케이션

2) 보고서 서버

3) 프록시

4) 클라이언트 애플리케이션
또는 .로 RequireAllow 설정합니다RSWindowsExtendedProtectionLevel.

RSWindowsExtendedProtectionScenarioProxy로 설정합니다.



-채널 바인딩을 사용할 수 있습니다.

-프록시 이름을 보고서 서버에 알려야 하며 보고서 서버 관리자는 호스트 헤더를 사용하여 프록시에 대한 URL 예약을 만들거나 Windows 레지스트리 항목 BackConnectionHostNames에서 프록시 이름을 구성해야 합니다.

Reporting Services 확장 보호 구성

rsreportserver.config 파일에는 Reporting Services 확장된 보호의 동작을 제어하는 구성 값이 있습니다.

rsreportserver.config 파일을 사용하고 편집하는 방법에 대한 자세한 내용은 RsReportServer.config 구성 파일을 참조하세요. WMI API를 사용하여 확장된 보호 설정을 변경하고 검사할 수도 있습니다. 자세한 내용은 SetExtendedProtection설정 메서드(WMI MSReportServer_ConfigurationSetting)를 참조하세요.

구성 설정의 유효성 검사가 실패하면 인증 유형 RSWindowsNTLMRSWindowsKerberosRSWindowsNegotiate 이 보고서 서버에서 비활성화됩니다.

Reporting Services 확장 보호에 대한 구성 설정

다음 표에서는 확장된 보호를 위해 표시되는 구성 설정에 rsreportserver.config 대한 정보를 제공합니다.

설정 설명
RSWindowsExtendedProtectionLevel 확장된 보호 적용 수준을 지정합니다. 유효한 값은 다음과 같습니다.

Off: 기본값. 채널 바인딩 또는 서비스 바인딩 확인을 지정하지 않습니다.

Allow 는 확장된 보호를 지원하지만 필요하지는 않습니다. 지정:

-확장된 보호는 확장된 보호를 지원하는 운영 체제에서 실행되는 클라이언트 애플리케이션에 적용됩니다. 보호를 적용하는 방법은 설정에 따라 결정됩니다. RsWindowsExtendedProtectionScenario

-확장된 보호를 지원하지 않는 운영 체제에서 실행되는 애플리케이션에 대해 인증이 허용됩니다.

Require은 다음을 지정합니다.

-확장된 보호는 확장된 보호를 지원하는 운영 체제에서 실행되는 클라이언트 애플리케이션에 적용됩니다.

-확장된 보호를 지원하지 않는 운영 체제에서 실행되는 애플리케이션에는 인증 이 허용되지 않습니다.
RsWindowsExtendedProtectionScenario 유효성이 검사되는 확장된 보호 형식을 지정합니다. 채널 바인딩, 서비스 바인딩 또는 둘 다. 유효한 값은 다음과 같습니다.

Proxy: 기본값. 지정:

- 채널 바인딩 토큰이 있는 경우 Windows NTLM, Kerberos 및 협상 인증입니다.

-서비스 바인딩이 적용됩니다.

Any 지정:

-Windows NTLM, Kerberos 및 Negotiate 인증 및 채널 바인딩은 필요하지 않습니다.

-서비스 바인딩이 적용됩니다.

Direct 지정:

- CBT가 있고, 현재 서비스에 대한 TLS 연결이 있고, TLS 연결에 대한 CBT가 NTLM, Kerberos 또는 협상 토큰의 CBT와 일치하면 Windows NTLM, Kerberos 및 협상 인증이 있습니다.

-서비스 바인딩이 적용되지 않습니다.



참고: 설정은 RsWindowsExtendedProtectionScenario 무시됩니다(로 설정된 OFF경우RsWindowsExtendedProtectionLevel).

rsreportserver.config 구성 파일의 예제 항목:

<Authentication>  
         <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>  
         <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionLevel>  
</Authentication>  

서비스 바인딩 및 포함된 SPN

서비스 바인딩은 SPN(서비스 사용자 이름)을 사용하여 인증 토큰의 대상이 유효한지 검사합니다. Reporting Services는 기존 URL 예약 정보를 사용하여 유효한 것으로 간주되는 SPN 목록을 빌드합니다. SPN 및 URL 예약의 유효성 검사에 대한 URL 예약 정보를 사용하면 시스템 관리자가 단일 위치에서 둘 다 관리할 수 있습니다.

다음 작업 중 하나가 발생하면 유효한 SPN 목록이 업데이트됩니다.

  • 보고서 서버가 시작됩니다.
  • 확장된 보호에 대한 구성 설정이 변경됩니다.
  • 애플리케이션이 기본 재활용됩니다.

유효한 SPN 목록은 각 애플리케이션에 따라 다릅니다. 예를 들어 보고서 관리자와 보고서 서버에는 각각 다른 유효한 SPN 목록이 계산됩니다.

다음 요인은 애플리케이션에 대해 계산된 유효한 SPN을 결정합니다.

  • 각 URL 예약.

  • Reporting Services의 서비스 계정에 대한 do기본 컨트롤러에서 검색된 각 SPN입니다.

  • URL 예약에 야생카드 문자('*' 또는 '+')가 포함된 경우 보고서 서버는 호스트 컬렉션의 각 항목을 추가합니다.

컬렉션 원본을 호스트합니다.

다음 표에서는 호스트 컬렉션의 가능한 원본을 보여 줍니다.

원본 유형 설명
ComputerNameDnsDo기본 DNS의 이름은 기본 로컬 컴퓨터에 할당됩니다. 로컬 컴퓨터가 클러스터의 노드인 경우 DNS는 클러스터 가상 서버의 기본 이름을 사용합니다.
ComputerNameDnsFullyQualified 로컬 컴퓨터를 고유하게 식별하는 정규화된 DNS 이름입니다. 이 이름은 호스트 이름 형식을 사용하는 DNS 호스트 이름과 DNS do기본 이름의 조합입니다.Do기본Name. 로컬 컴퓨터가 클러스터의 노드인 경우 클러스터 가상 서버의 정규화된 DNS 이름이 사용됩니다.
ComputerNameDnsHostname 로컬 컴퓨터의 DNS 호스트 이름입니다. 로컬 컴퓨터가 클러스터의 노드인 경우 클러스터 가상 서버의 DNS 호스트 이름이 사용됩니다.
ComputerNameNetBIOS 로컬 컴퓨터의 NetBIOS 이름입니다. 로컬 컴퓨터가 클러스터의 노드인 경우 클러스터 가상 서버의 NetBIOS 이름이 사용됩니다.
ComputerNamePhysicalDnsDomain DNS의 이름은 기본 로컬 컴퓨터에 할당됩니다. 로컬 컴퓨터가 클러스터의 노드인 경우 DNS는 클러스터 가상 서버의 이름이 아니라 로컬 컴퓨터의 기본 이름을 사용합니다.
ComputerNamePhysicalDnsFullyQualified 컴퓨터를 고유하게 식별하는 정규화된 DNS 이름입니다. 로컬 컴퓨터가 클러스터의 노드인 경우 클러스터 가상 서버의 이름이 아닌 로컬 컴퓨터의 정규화된 DNS 이름이 사용됩니다.

정규화된 DNS 이름은 DNS 호스트 이름과 DNS do기본 이름의 조합으로, HostName 형식을 사용합니다.Do기본Name.
ComputerNamePhysicalDnsHostname 로컬 컴퓨터의 DNS 호스트 이름입니다. 로컬 컴퓨터가 클러스터의 노드인 경우 클러스터 가상 서버의 이름이 아니라 로컬 컴퓨터의 DNS 호스트 이름이 사용됩니다.
ComputerNamePhysicalNetBIOS 로컬 컴퓨터의 NetBIOS 이름입니다. 로컬 컴퓨터가 클러스터의 노드인 경우 이 원본은 클러스터 가상 서버의 이름이 아니라 로컬 컴퓨터의 NetBIOS 이름입니다.

자세한 내용은 보고서 서버 의 SPN(서비스 사용자 이름) 등록 및 URL 예약 및 등록 정보(보고서 서버 구성 관리자)를 참조하세요.

확장된 보호를 사용하여 데이터베이스 엔진에 커넥트
인증에 대한 확장된 보호 개요
확장된 보호를 사용하여 통합된 Windows 인증
Microsoft 보안 권고: 인증에 대한 확장된 보호
보고서 서버 서비스 추적 로그
RsReportServer.config 구성 파일
SetExtendedProtection설정 메서드(WMI MSReportServer_ConfigurationSetting)

추가 질문이 있으신가요? Reporting Services 포럼에서 질문하기