SQL Server Reporting Services용 ID 위임(SharePoint Server 2010)

 

적용 대상: SharePoint Server 2010

마지막으로 수정된 항목: 2016-11-30

이 시나리오에서는 수평 확장 구성에서 SharePoint 통합 모드로 실행되는 부하 분산된 SSRS(SQL Server Reporting Services) 서버 쌍을 구성합니다. 이러한 서버는 Kerberos 인증을 허용하도록 구성되며 백 엔드 SQL Server 클러스터로 인증을 위임합니다.

이 시나리오에서 SharePoint Server 팜 및 Reporting Services 데이터 원본은 모두 같은 도메인에 있으므로, 백 엔드 데이터 원본으로 ID를 위임할 수 있도록 Kerberos 제한 위임을 구성합니다. 같은 포리스트 내의 다른 도메인에 있는 데이터 원본에 인증해야 하는 경우에는 제한되지 않은 기본 Kerberos 위임을 구성해야 합니다. Reporting Services는 C2WTS를 사용하지 않으므로 기본 위임을 사용할 수 있습니다.

시나리오 종속성

구성 검사 목록

구성 영역 설명

Active Directory

SSRS 서비스 계정 만들기

Kerberos 제한 위임 구성

SQL Server Reporting Services

부하 분산된 수평 확장 모드에서 SSRS 설치 및 구성

Web.Config 수정

ReportingServer.config 수정

SharePoint Server 구성

Reporting Services 통합 구성

통합에 보고서 서버 추가

서버 기본값 설정

구성 확인

보고서용 문서 라이브러리 만들기

Reporting Services의 사이트 모음 설정 구성

SQL Server Business Intelligence Development Studio에서 테스트 보고서 만들기 및 게시

Internet Explorer에서 테스트 보고서 보기

시나리오 환경 세부 정보

시나리오 환경 다이어그램

이 시나리오에서 IIS(인터넷 정보 서비스) 응용 프로그램 풀 서비스 계정은 SSRS(SQL Server Reporting Services) 서비스로 위임하도록 구성됩니다. SSRS 서비스 계정은 SQL Server 서비스로 자격 증명을 위임하도록 구성됩니다. SharePoint 통합 모드의 SQL Server Reporting Services는 팜 간 클레임 인증을 사용하지 않으며, 위임된 인증에 대해서는 Kerberos를 사용해야 합니다. 자세한 내용은 클레임 인증 및 Reporting Services를 참조하십시오.

도메인 간 Kerberos 위임

이 시나리오에서 SSRS가 연결하는 데이터 원본은 SSRS 서버와 같은 도메인에 있습니다. SSRS가 있는 도메인 외부의 데이터 원본에 액세스해야 하는 경우 도메인 간 위임을 사용하여 인증하려면, SSRS 서비스 계정에 대해 제한되지 않은 기본 위임을 구성해야 합니다. SSRS 서비스는 C2WTS(Windows 토큰 서비스에 대한 클레임)를 사용하지 않기 때문에 기본 위임을 구성할 수 있으며, 따라서 Kerberos 제한 위임을 통해 프로토콜을 전환하지 않아도 됩니다. 또한 포리스트 간 위임은 기본 위임을 사용하는 경우에도 불가능합니다.

단계별 구성 지침

DNS 구성

작업 환경에서 SSRS NLB 서버 그룹에 대해 DNS를 구성합니다. 이 예제에서는 VMSSRS01과 VMSSRS02의 두 SSRS 서버가 있는데, 이들 서버는 부하 분산되며 동일한 NLB VIP(192.168.24.180/24)로 확인됩니다. VIP는 호스트 FarmReports에 매핑되며 URL은 http://FarmReports로 지정됩니다.

DNS를 구성하는 방법에 대한 일반 정보는 DNS 레코드 관리(영문일 수 있음)를 참조하십시오.

SSRS 호스트에 대해 새 DNS A 레코드를 구성합니다. 이 예제에서는 부하 분산된 VIP로 확인되도록 호스트 FarmReports를 구성합니다.

Active Directory 디렉터리 서비스

SSRS 서비스 계정 만들기

SQL Server Reporting Services는 자체 도메인 ID로 실행하는 것이 가장 좋습니다. 이 예제에서는 다음과 같은 계정을 만들었습니다.

서비스 서비스 ID

SQL Server Reporting Services

vmlab\svcSQLRS

서비스 사용자 이름 구성

SSRS가 Kerberos 인증을 사용하여 외부 데이터 원본에 연결해 인증을 하려면 보고서 서버 웹 서비스 및 보고서 관리자 서비스 계정과 외부 데이터 원본용 서비스 계정에 서비스 사용자 이름이 구성되어 있어야 합니다. 이 문서 시리즈의 시나리오 1 및 2(핵심 구성SQL OLTP용 Kerberos 인증)를 참조하여 SharePoint Server 웹 응용 프로그램 및 SQL Server 서비스 계정에 대해 필요한 SPN을 구성하고 유효성을 검사합니다. SSRS 서버의 경우 다음 SPN을 정의했습니다.

DNS 호스트 IIS 응용 프로그램 풀 ID 서비스 사용자 이름

FarmReports.vmlab.local

vmlab\svcSQLRS

HTTP/FarmReports

HTTP/ FarmReports.vmlab.local

이 예제에서는 다음 명령을 실행했습니다.

SetSPN -S HTTP/FarmReports vmlab\svcSQLRS

SetSPN -S HTTP/FarmReports.vmlab.local vmlab\svcSQLRS

위임 구성

SSRS가 클라이언트의 ID를 백 엔드 데이터 원본에 위임하려면 Kerberos 위임을 구성해야 합니다. 이 예제에서 SSRS는 클라이언트의 ID를 사용하여 SQL Server 트랜잭션 데이터베이스에서 데이터를 쿼리하므로 Kerberos 위임을 사용해야 합니다. 이 시나리오에서는 프로토콜을 전환할 필요가 없으므로 KDC(Kerberos 제한 위임)를 반드시 사용해야 하는 것은 아니지만 모범 사례로 KDC를 구성했습니다.

SSRS 서비스를 실행하는 SSRS 서비스 계정을 신뢰하여 자격 증명을 각 백 엔드 서비스로 위임할 수 있습니다. 이 예제에서는 다음 위임 경로가 필요합니다.

사용자 유형 사용자 이름 위임 대상 서비스

User

Vmlab\svcPortal10App

HTTP/FarmReports

HTTP/FarmReports.vmlab.local

User

Vmlab\svcSQLRS

MSSQLSVC/MySqlCluster.vmlab.local:1433

Analysis Services 데이터 원본에 대해 보고해야 하는 경우에는 선택적으로 다음 위임 경로를 구성합니다.

사용자 유형 사용자 이름 위임 대상 서비스

User

Vmlab\svcSQLRS

MSOLAPSvc.3/MySqlCluster.vmlab.local

제한 위임을 구성하려면

  1. Active Directory 사용자 및 컴퓨터에서 Active Directory 개체의 속성을 엽니다.

  2. 위임 탭으로 이동합니다.

  3. 지정한 서비스에 대한 위임용으로만 이 사용자 트러스트를 선택합니다.

    참고

    SSRS 서비스 계정의 경우 동일한 포리스트 내에서 SSRS 서버가 있는 도메인 외부에 있는 데이터 원본에 인증해야 하는 경우에는 제한 위임 대신 기본 위임을 구성합니다. 이렇게 하려면 모든 서비스에 대한 위임용으로 이 컴퓨터 트러스트를 선택하면 됩니다. 포리스트 간 Kerberos 위임은 사용할 수 없습니다.

  4. 원하는 경우 모든 인증 프로토콜 사용을 선택합니다. 그러면 프로토콜을 전환할 수 있습니다.

  5. 추가 단추를 클릭하여 서비스를 위임할 수 있는 서비스 사용자를 선택합니다.

  6. 사용자 및 컴퓨터를 선택합니다.

  7. 위임할 서비스를 실행 중인 서비스 계정을 선택합니다. 이 예제에서는 SQL Server Reporting Service의 서비스 계정을 선택하면 됩니다.

    참고

    선택한 서비스 계정에는 SPN이 적용되어 있어야 합니다. 이 예제에서는 해당 계정의 SPN(HTTP/FarmReports.vmlab.local)을 시나리오 앞부분에서 구성했습니다.

  8. 확인을 클릭합니다. 그러면 다음 페이지에서 위임할 SPN을 선택하라는 메시지가 표시됩니다.

  9. 서비스를 선택하거나 모두 선택을 선택하고 확인을 클릭합니다.

    이 계정이 위임된 자격 증명을 사용할 수 있는 서비스 목록에 선택한 SPN이 표시됩니다.

  10. 이 섹션 앞부분에서 확인한 각 위임 경로에 대해 이 단계를 반복합니다. SQL Server Reporting Services 서비스 계정에서 하나 이상의 백 엔드 데이터 원본(이 시나리오에서는 SQL OLTP 또는 SQL AS)으로의 위임을 구성해야 합니다.

    참고

    SSRS 서비스 계정의 경우 동일한 포리스트 내에서 SSRS 서버가 있는 도메인 외부에 있는 데이터 원본에 인증해야 하는 경우에는 제한 위임 대신 기본 위임을 구성합니다. 이렇게 하려면 모든 서비스에 대한 위임용으로 이 컴퓨터 트러스트를 선택하면 됩니다. 포리스트 간 Kerberos 위임은 사용할 수 없습니다.

SQL Server에서 서비스를 실행하는 서비스 계정의 MSSQLSVC SPN 확인(시나리오 2에서 수행함)

다음 SetSPN 명령을 사용하여 Analysis Services 서비스 계정(vmlab\svcSQL)에 대한 SPN이 있는지 확인합니다.

SetSPN -L vmlab\svcSQL

다음 문자열이 표시되어야 합니다.

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

SQL Server Analysis Services 서버에서 SSAS 서비스를 실행하는 서비스 계정의 MSOLAPSvc.3 SPN 확인(시나리오 3에서 수행함)

다음 SetSPN 명령을 사용하여 SQL Server 서비스 계정(vmlab\svcSQLAS)에 대한 SPN이 있는지 확인합니다.

SetSPN -L vmlab\svcSQLAS

다음 문자열이 표시되어야 합니다.

MSOLAPSvc.3/MySqlCluster MSOLAPSvc.3/MySqlCluster.vmlab.local

SQL Server Reporting Services

SharePoint Server 2010 설치

SSRS(SQL Server Reporting Services)를 SharePoint 통합 모드로 실행하려면 각 SSRS 서버에 SharePoint Server 2010을 설치해야 합니다. 각 보고 서버에 SharePoint Server 2010을 설치한 다음 각 서버를 SharePoint Server 팜에 가입시킵니다.

부하 분산된 수평 확장 모드에서 SSRS 설치 및 구성

이 문서에서는 부하 분산된 수평 확장 구성에서 SQL Server Reporting Services를 구성하는 방법에 대한 자세한 지침을 제공하지 않습니다. SSRS를 설치하는 방법에 대한 자세한 내용은 SharePoint 통합 모드의 Reporting Services용 배포 토폴로지를 참조하십시오. SSRS를 설치한 후에는 아래에 나와 있는 추가 SSRS 구성 단계를 완료하여 설치를 완료해야 합니다.

SSRS 서버에서 Web.config 수정

각 SSRS 서버에서 web.config 파일을 다음과 같이 변경했습니다. web.config 파일은 SSRS를 설치한 Program Files 디렉터리에 있습니다.

<machineKey> 요소 추가

부하 분산된 구성의 모든 SSRS 서버에는 동일한 컴퓨터 키 집합이 필요합니다. 컴퓨터 키 요소는 web.config에 <system.web> 요소의 자식으로 추가해야 합니다. 다음은 예제 컴퓨터 키입니다.

<machineKey
validationKey="54AEBD3BC893726E9B84D30F4970CB58F2086C2DAEE2F8D34A65A0632F4676DDBBC38779F2972C6596931E
13BD07A772BD4B9395BE38A43E461079E45D594E53"
decryptionKey=""
validation="SHA1"
decryption="AES"
/>

중요

예제 컴퓨터 키를 실제 작업 환경에 사용해서는 안 됩니다. 환경에 적합한 키 값을 직접 생성하십시오.

ReportingServer.config 수정

각 SSRS 서버에서 ReportingServer.config 파일을 다음과 같이 변경했습니다. ReportingServer.config 파일은 SSRS를 설치한 Program Files 디렉터리에 있습니다.

Kerberos 인증 설정

Kerberos 인증을 사용하도록 설정하려면 인증 유형을 "RSWindowsNegotiate"로 설정합니다. 다음과 같이 <AuthenticationTypes/> 요소를 변경하고 <RSWindowsNegotiate/>를 추가합니다.

<AuthenticationTypes>
    <RSWindowsNegotiate/>
</AuthenticationTypes>

URL 루트 수정

보고서 서버의 URL을 ReportingServer.Config의 <service> 태그에 있는 <UrlRoot> 태그에 추가합니다.

<UrlRoot>http://FarmReports/reportserver</UrlRoot>

레지스트리에서 BackConnectionHostNames 구성

SQL Server Reporting Services가 단일 컴퓨터에서 서로 인증하려면 NTLM 루프백 검색 문제를 해결해야 합니다. 이 경우 루프백 검색을 사용하지 않도록 설정하는 것보다, 각 SSRS 서버의 레지스트리에서 BackConnectionHostNames 값을 구성하는 것이 보다 효율적입니다. BackConnectionHostNames에 대한 자세한 내용은 SQL Server 2008 Reporting Services를 사용할 때 오류 메시지가 표시됨을 참조하십시오.

이 예제에서는 BackConnectionHostNames에 대해 다음 값을 구성했습니다.

  • FarmReports

  • FarmReports.vmlab.local

BackConnectionHostNames 값을 설정한 후에 SSRS 서버를 다시 부팅합니다.

SharePoint Server 구성

중앙 관리에서 SSRS의 팜 구성 옵션을 찾을 수 있습니다. SharePoint Server 2010에서는 SSRS 관리 및 웹 파트용으로 별도의 SSRS 구성 요소를 설치할 필요가 없습니다. SSRS 팜 옵션에 액세스하려면 중앙 관리로 이동하여 일반 응용 프로그램 설정 섹션에서 Reporting Services를 확인합니다.

Reporting Services 서비스 계정에 웹 응용 프로그램 콘텐츠 데이터베이스에 대한 권한 부여

SharePoint 통합 모드에서 SQL Server Reporting Services를 구성할 때는 Reporting Services 서비스 계정이 보고서를 호스팅하는 웹 응용 프로그램의 콘텐츠 데이터베이스에 액세스할 수 있도록 허용하는 단계를 수행해야 합니다. 이 예제에서는 Windows PowerShell을 통해 Reporting Services 서비스 계정에 "포털" 웹 응용 프로그램 콘텐츠 데이터베이스에 대한 액세스 권한을 부여합니다.

SharePoint 2010 관리 셸에서 다음 명령을 실행합니다.

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcSQLRS")

Reporting Services 통합 구성

Reporting Services 통합 대화 상자에서 보고서 서버의 부하 분산된 URL을 지정합니다. 또한 사이트 모음에서 Reporting Services 기능을 자동으로 활성화하려면 모든 기존 사이트 모음의 기능 활성화 옵션을 선택합니다.

통합에 각 보고서 서버 추가

통합에 보고서 서버 추가 대화 상자에서 Reporting Services NLB 그룹의 각 노드를 지정합니다. 통합에 추가할 각 서버에서 이 대화 상자를 열어야 하며, 한 번의 작업으로 여러 서버를 추가할 수 있는 방법은 없습니다.

서버 기본값 설정

여기까지 작업을 수행하면 SSRS 통합이 구성됩니다. 구성 유효성을 확인하려면 서버 기본값 페이지를 엽니다. 이 문서에서 설명하는 예제의 경우에는 항목을 변경할 필요가 없습니다.

구성 확인

보고서용 문서 라이브러리 만들기

SharePoint 사이트에서 SSRS 보고서를 호스팅할 문서 라이브러리를 만듭니다. 이 예제에서는 http://portal/reports에 "reports"라는 문서 라이브러리가 있다고 가정합니다.

Reporting Services의 사이트 모음 설정 유효성 검사

브라우저에서 SSRS 보고서용 문서 라이브러리를 호스팅하는 사이트의 사이트 설정으로 이동합니다. 사이트 설정에는 Reporting Services라는 새 범주가 표시됩니다.

사이트 모음 기능 목록에 Reporting Services 기능이 표시되지 않는 경우에는 중앙 관리에서 해당 기능을 활성화해야 할 수 있습니다. 자세한 내용은 방법: SharePoint 중앙 관리에서 보고서 서버 기능 활성화(https://go.microsoft.com/fwlink/?linkid=196878&clcid=0x412)를 참조하십시오.

Reporting Services 사이트 설정 링크를 클릭하여 설정에 액세스할 수 있는지 확인합니다.

참고

이 데모의 경우에는 Reporting Services 사이트 설정을 변경할 필요가 없습니다.

SQL Server Business Intelligence Development Studio에서 테스트 보고서 만들기 및 게시

SharePoint Server와의 통합과 SSRS를 구성한 후에는 테스트 보고서를 만들어 ID 위임이 정상적으로 작동하는지 확인합니다.

  1. SQL Server Business Intelligence Development Studio를 열고 파일을 클릭한 다음 새로 만들기를 가리키고 프로젝트를 클릭합니다.

  2. 보고서 서버 프로젝트 마법사를 선택하고 프로젝트 이름을 입력합니다.

  3. 다음으로 새 데이터 원본을 구성합니다. Microsoft SQL Server 유형을 선택하고 편집 단추를 클릭합니다.

  4. 연결 속성에 시나리오 2에서 만든 데모 SQL Server 클러스터에 연결하는 데 필요한 정보를 입력합니다.

  5. 쿼리 디자이너를 열고 쿼리 창을 마우스 오른쪽 단추로 클릭한 후에 테이블 추가를 선택합니다.

  6. 시나리오 2에서 만든 Sales 테이블을 선택하고 모든 열을 선택합니다.

  7. 표 형식 보고서 유형을 선택합니다.

  8. 이 예제에서는 지역을 기준으로 그룹을 지정합니다. 원하는 경우 이 단계를 건너뛸 수 있습니다.

  9. 프로젝트를 만든 다음 프로젝트 메뉴에서 프로젝트 속성을 엽니다.

  10. 다음 프로젝트 속성을 구성합니다.

    1. TargetDatasetFolder - 앞서 만든 테스트 보고서 폴더로 설정합니다.

    2. TargetReportFolder - 앞서 만든 테스트 보고서 폴더로 설정합니다.

    3. TargetReportPartFolder - 앞서 만든 테스트 보고서 폴더로 설정합니다.

    4. TargetServerURL - 보고서를 호스팅하는 웹 응용 프로그램 URL로 설정합니다.

  11. 보고서를 SharePoint 라이브러리에 배포하고 빌드 메뉴에서 <프로젝트> 배포를 선택합니다.

  12. 배포가 성공하면 출력 창에 배포 성공 메시지가 표시됩니다.

Internet Explorer에서 테스트 보고서 보기

이 시나리오의 이전 단계에서 만든 보고서 문서 라이브러리를 브라우저에서 엽니다. 방금 게시한 보고서 파일이 표시됩니다. 보고서가 표시되지 않는 경우에는 사이트 모음에서 Reporting Services 기능을 활성화해야 할 수 있습니다. 자세한 내용은 방법: SharePoint 중앙 관리에서 보고서 서버 기능 활성화(https://go.microsoft.com/fwlink/?linkid=196878&clcid=0x412)를 참조하십시오.

보고서를 클릭하면 브라우저에서 보고서가 렌더링됩니다.

위임 및 데이터 연결을 보다 자세하게 확인하려면 SQL Server Management Studio에서 원본 데이터를 변경한 다음 브라우저에서 SSRS 보고서 데이터 연결을 새로 고칩니다. 그러면 데이터 변경 내용이 보고서에 반영됩니다.

Reporting Services용 SSL 구성

일부 환경에서는 프런트 엔드 웹 서버와 SSRS 서버 간의 통신을 SSL로 보호해야 할 수 있습니다. 이 문서에서는 Reporting Services용으로 SSL을 구성하는 방법에 대한 자세한 연습은 제공하지 않습니다. 수행해야 하는 대략적인 단계는 다음과 같습니다.

  1. 각 보고 서버에서 SSL을 사용하도록 구성합니다. SSL(Secure Sockets Layer) 연결에 대한 보고서 서버 구성(https://go.microsoft.com/fwlink/?linkid=196881&clcid=0x412)을 참조하십시오.

  2. <UrlRoot>를 새 https:// URL로 변경하여 ReportingServer.config를 업데이트합니다.

  3. SQL Server Reporting Services 서비스를 다시 시작합니다.

  4. 중앙 관리에서 REporting Services 통합 설정을 변경하고 보고서 서버 웹 서비스 URL을 새 https:// URL로 변경합니다.

  5. 웹 응용 프로그램 서비스를 실행하는 각 SharePoint Server 인스턴스에서 IIS를 다시 시작합니다.

이전 단계에서 HTTP를 사용하여 Reporting Services를 구성할 때 만든 SPN은 변경하지 않아도 됩니다. SSL을 통한 HTTP 서비스용 SPN은 HTTP/<서비스>로 유지됩니다. SPN을 확인하려면 NetMon을 사용하여 Reporting Services 서버와 통신하는 프런트 엔드 웹 서버를 확인하면 됩니다.