다음을 통해 공유


SharePoint 통합 모드의 Reporting Services에 대한 보안 개요

업데이트: 2008년 11월 17일

SharePoint 통합 모드에서 실행되도록 보고서 서버를 구성하면 보고서 서버에서는 SharePoint 웹 응용 프로그램에 정의되어 있는 인증 공급자 및 사용 권한을 사용하여 보고서 서버 항목 및 작업에 대한 액세스를 제어합니다.

항목 및 작업에 대한 액세스 권한은 항목에 따라 사용자 또는 그룹 계정을 사용 권한 수준에 매핑하는 SharePoint 보안 정책을 통해 부여됩니다. 개념상 이는 네이티브 모드 보고서 서버 배포에서 역할 할당이 사용되는 방법과 동일합니다. 여기서는 역할 할당이 항목에 따라 사용자 또는 그룹 계정을 허용 가능한 작업 집합에 매핑합니다. 대부분의 역할 기반 인증 모델과 마찬가지로 SharePoint 보안은 많은 정책을 유지 관리할 때 발생할 수 있는 복잡성과 오버헤드를 줄이기 위해 사용 권한 상속 기능을 제공합니다.

보고서 서버 내용 유형을 SharePoint 사이트에 배포하는 경우 다음을 숙지해야 합니다.

사용 권한을 설정하려면 먼저 통합할 각 서버를 구성해야 합니다. 자세한 내용은 SharePoint 3.0 통합을 위한 Reporting Services 구성을 참조하십시오.

SharePoint 기술의 인증 공급자

SharePoint 웹 응용 프로그램에서는 Windows 인증이나 폼 인증을 사용할 수 있습니다. 보고서 서버는 두 인증 중 하나의 요청을 처리합니다. 인증은 다음과 같이 조합하여 구성할 수 있습니다.

  • 통합 보안과 함께 Windows 인증 사용(Kerberos 인증 사용)
  • 가장 또는 위임 없이 Windows 인증 사용(Kerberos 인증 사용 안 함)
  • 폼 인증 사용

[!참고] Reporting Services와 SharePoint 제품 및 기술은 모두 폼 인증을 지원합니다. 구현 방법은 제품 그룹에 따라 다르며 서로 호환되지 않습니다. SharePoint 통합 모드에서 실행되는 보고서 서버에 대해서는 Reporting Services 사용자 지정 인증 확장 프로그램이 지원되지 않습니다.

다음 표에서는 각 인증 공급자의 이점과 단점을 요약하여 보여 줍니다.

이점 단점

Windows 인증(Kerberos 인증 사용)

단일 서버 및 다중 서버 배포 시나리오에서 사용할 수 있습니다.

외부 데이터 원본에 대해 Windows 통합 자격 증명 사용을 지원합니다.

다중 서버 배포 환경에서 NTLM 인증과 함께 사용할 수 없습니다.

Windows 인증(Kerberos 사용 안 함) 또는 폼 인증

Kerberos 및 모든 비-Kerberos 인증 시나리오에서 사용할 수 있습니다.

외부 데이터 원본에 대해 Windows 통합 자격 증명 사용을 지원하지 않습니다.

보고서 서버로 요청 보내기

보고서 서버 항목 또는 작업에 대한 모든 요청은 인증된 유효한 요청이어야 합니다. 사용하는 인증 공급자에 따라 해당 요청의 처리 방법이 결정됩니다.

Windows 통합 보안

Windows 인증(Keberos 인증 사용)을 사용하도록 SharePoint 웹 응용 프로그램을 구성한 경우에는 현재 Windows 사용자의 가장 또는 위임된 자격 증명을 통해 SharePoint 웹 응용 프로그램과 보고서 서버가 연결됩니다. 다음 다이어그램은 보고서 서버가 SharePoint 통합용으로 구성되고 SharePoint 웹 응용 프로그램이 Windows 인증(Kerberos 인증 사용)을 사용하는 경우의 연결을 보여 줍니다.

SharePoint 통합 모드에서의 연결

  • 연결 1
    사용자가 네트워크 로그온 시 생성된 사용자 토큰으로 SharePoint 사이트에 액세스합니다. 이 토큰에는 사용자 ID와 그룹 멤버 자격이 포함됩니다. SharePoint 웹 응용 프로그램에서 사용자를 인증합니다. 사용자가 보고서 서버 항목 또는 작업을 요청합니다.
  • 연결 2
    SharePoint 웹 응용 프로그램에서 보고서 서버로 토큰과 요청을 보냅니다. 연결 요청은 사용자의 Windows ID로 전송됩니다. 보고서 서버에서 사용자에게 보고서 서버에 대한 액세스 권한이 있는지 여부를 확인합니다.
  • 연결 3
    확인 작업에 성공하면 보고서 서버에서 사용자에게 항목 또는 작업에 대한 액세스 권한이 있는지 확인합니다.

    보고서 서버에서 내부 보안 확장 프로그램을 사용하여 사용자 권한을 확인합니다. 보고서 서버에서 해당 확장 프로그램을 통해 Windows SharePoint Services 개체 모델을 호출하여 SharePoint 콘텐츠 데이터베이스에 저장된 사용 권한을 확인합니다. 이 보안 확장 프로그램은 구성하거나 관리할 수 없습니다. 이 프로그램은 SharePoint 통합 모드에서 실행되는 보고서 서버에 사용되는 내부 구성 요소입니다.

    사용자에게 보고서나 기타 항목 또는 작업에 액세스할 수 있는 권한이 있으면 요청이 제공됩니다.

Windows 통합 보안을 사용하면 단일 연결 이후 Windows 자격 증명이 만료되는 전형적인 "이중 홉" 문제를 없앨 수 있으며 보고서 및 모델에 대한 데이터 원본 연결을 구성할 때 사용 가능한 옵션 집합을 확장할 수도 있습니다. Windows 사용자 ID를 사용하여 보고서 서버에 연결하는 경우 보고서 서버에서는 보고서 처리 중에 해당 ID를 사용하여 외부 데이터 원본의 데이터를 검색할 수 있습니다. 따라서 보고서에서 데이터 원본 속성을 설정할 때 데이터 원본 연결에 대해 Windows 통합 보안 옵션을 선택할 수 있습니다. 자세한 내용은 SQL Server 온라인 설명서의 자격 증명 및 연결 정보 지정을 참조하십시오.

Windows 또는 폼 인증 및 트러스트된 계정

SharePoint 웹 응용 프로그램을 폼 인증용으로 구성한 경우 보고서 서버에 대한 연결이 보고서 서버에서 SharePoint 사용자를 가장할 수 있는 권한이 있는 미리 정의된 트러스트된 계정으로 네트워크를 통해 전송됩니다. SharePoint 웹 응용 프로그램을 Windows 인증용으로 구성하고 Kerberos를 설정하지 않은 경우에도 동일한 방법이 사용됩니다. 다음 다이어그램에서는 트러스트된 계정과 SharePoint 사용자 ID가 사용되는 경우의 연결을 보여 줍니다.

사용자 연결 및 사용자 지정 인증

  • 연결 1
    사용자가 SharePoint 사이트에 로그온합니다. SharePoint 웹 응용 프로그램에서 사용자를 인증합니다. SharePoint 웹 응용 프로그램에서 사용자 ID를 SharePoint 사용자 ID(SPUser)로 변환합니다. SPUser의 컨텍스트에서 해당 사용자에 대한 새 사용자 토큰이 생성됩니다. 이 토큰에는 사용자 ID와 그룹 멤버 자격이 포함됩니다. 사용자가 보고서 서버 항목 또는 작업을 요청합니다.
  • 연결 2
    SharePoint 웹 응용 프로그램에서 보고서 서버에 대한 요청에 따라 SharePoint 사용자 ID를 가장합니다. 연결 요청이 트러스트된 계정을 통해 전송됩니다. 이 계정은 SharePoint 웹 응용 프로그램의 프로세스 ID입니다.

    보고서 서버는 서버 시작 시 SharePoint 구성 데이터베이스에서 검색된 계정 정보와 연결 요청을 비교하여 해당 요청이 트러스트된 계정에서 온 것인지 여부를 확인합니다. 보고서 서버에서 트러스트된 계정은 SharePoint 웹 응용 프로그램을 가장할 수 있는 권한이 있는 Windows 사용자입니다. 이 계정은 SPUser를 가장하는 데에만 사용되며 해당 계정을 사용하여 보고서 서버 항목 및 작업에 액세스할 수는 없습니다.

  • 연결 3
    확인 작업에 성공하면 보고서 서버에서 SPUser에게 항목 또는 작업에 대한 액세스 권한이 있는지 확인합니다.

    보고서 서버에서 내부 보안 확장 프로그램을 사용하여 사용자 권한을 확인하고 Windows SharePoint Services 개체 모델을 호출한 다음 SharePoint 콘텐츠 데이터베이스에 저장된 사용 권한을 확인합니다. 사용자에게 보고서나 기타 항목 또는 작업에 액세스할 수 있는 권한이 있으면 요청이 제공됩니다.

계정 만료 및 구독 처리

보고서에 대한 구독을 만드는 경우 보고서 서버에서는 배달 시 사용자에게 보고서를 볼 수 있는 권한이 있는지 확인할 수 있도록 SPUser 계정 정보를 저장합니다. SPUser가 만료된 경우 구독이 실패하며 rsSharePointError 오류가 반환됩니다. TokenTimeout이라는 팜 수준 속성에 따라 SPUser의 유효 기간이 결정됩니다.

고유한 도메인 사용자 계정을 사용하도록 관리 및 서비스 계정 구성

SharePoint 제품 또는 기술 배포에는 서비스를 실행하고 프런트 엔드 및 백 엔드 서버에 액세스하기 위해 다양한 계정이 사용됩니다. 배포에 도메인 계정을 지정할 경우 최상의 권장 방법을 따라 SharePoint 웹 응용 프로그램에서만 사용하는 계정을 지정해야 합니다. 서비스 계정이 SharePoint 사이트에 액세스할 실제 사용자의 도메인 사용자 계정으로 실행되도록 구성하지 마십시오. 서비스 자격 증명을 사용하여 SharePoint 사이트에 액세스하면 오류가 발생할 수 있습니다. 서비스 계정 요구 사항 및 권장 사항에 대한 자세한 내용은 Windows SharePoint Services 3.0 제품 설명서에서 관리 및 서비스 계정 계획(Plan for administrative and service accounts)을 참조하십시오.

확장 배포 환경에서 인증 공급자를 구성하는 최상의 방법

Reporting Services 및 SharePoint 제품이나 기술을 확장 배포한 경우 여러 인증 공급자가 환경에 구성되어 있으면 사용자 인증과 관련하여 문제가 발생할 수 있습니다. 예를 들어 보고 환경에서 인터넷 연결에는 폼 인증을 사용하고 인트라넷 연결에는 Windows 인증을 사용하는 경우 요청의 인증 유형과 일치하지 않는 인증 공급자를 사용하는 웹 프런트 엔드 컴퓨터로 요청이 라우팅될 수 있습니다. 이 경우 Reporting Services에서 요청의 액세스를 거부하거나, 요청을 수행한 사용자의 ID가 아닌 응용 프로그램 풀 ID로 요청이 실행될 수 있습니다.

가능하면 인터넷과 인트라넷에서 콘텐츠에 액세스할 때 각각 다른 URL을 사용하는 것이 좋습니다. 또는 인터넷 연결 사이트의 IP(인터넷 프로토콜) 주소를 인터넷 URL에 매핑하여 웹 프런트 엔드 컴퓨터의 호스트 파일에서 DNS(Domain Name System) 조회를 재정의하도록 구성함으로써 DNS를 통해 인터넷 URL에 대한 요청이 인트라넷 URL로 라우팅되지 않게 할 수 있습니다.

보고서 서버에서 SharePoint 콘텐츠 데이터베이스에 액세스하는 방법

SharePoint 웹 응용 프로그램과 보고서 서버 모두 해당 자체 데이터베이스에 연결하여 응용 프로그램 상태와 기타 데이터를 저장하지만 보고서 서버의 경우 SharePoint 데이터베이스에도 연결하여 항목, 속성 및 구성 설정을 저장하고 검색해야 합니다. 다음 다이어그램에서는 다양한 데이터베이스에 대한 서버 연결을 보여 줍니다.

백엔드 데이터 저장소에 대한 서버 연결

SharePoint 웹 응용 프로그램에서는 내부 저장소로 로컬 또는 원격 데이터베이스를 사용할 수 있습니다. SharePoint 데이터베이스가 원격 컴퓨터에 있는 경우 연결에 도메인 계정을 사용해야 합니다.

보고서 서버에서는 내부 저장소로 로컬 또는 원격 데이터베이스를 사용할 수 있습니다. 어떤 유형이든 도메인 계정, SQL Server 로그인 또는 기본 제공 계정(예: Network Service 또는 Local System)을 사용하여 데이터베이스에 연결할 수 있습니다.

SharePoint 데이터베이스에 대한 보고서 서버 연결

Reporting Services에서는 웹 서비스와 Windows 서비스 모두에 SharePoint 데이터베이스에 대한 액세스 권한이 필요합니다. 두 서비스에 대한 서비스 계정은 SharePoint 웹 응용 프로그램에서 트러스트된 사용자로 실행되며 SharePoint 데이터베이스에 액세스할 수 있는 권한이 자동으로 부여됩니다.

연결은 내부적으로 관리되며 사용자가 SharePoint 중앙 관리를 사용하여 SharePoint 웹 응용 프로그램을 보고서 서버에 지정하거나 트러스트된 계정을 설정할 때 구성됩니다. Reporting Services 구성 도구를 사용하여 설정 또는 수정할 수 있는 보고서 서버와 자체 데이터베이스 간 연결과 달리 SharePoint 데이터베이스에 대한 보고서 서버 연결은 명시적으로 구성하거나 관리할 수 없습니다.

SharePoint 통합 모드에서 보고서 서버를 실행하면 Reporting Services에서 서비스 계정을 구성하는 방법이 제한됩니다. 서비스 계정을 구성하는 경우 다음 지침을 참조하십시오.

  • 보고서 서버 서비스 계정을 통해 원격 컴퓨터의 SharePoint 데이터베이스에 연결해야 하는 경우 네트워크 로그온 권한이 있는 계정을 선택하십시오.
  • 보고서 서버와 SharePoint 데이터베이스가 같은 컴퓨터에 있고 SharePoint 웹 응용 프로그램이 원격 컴퓨터에 있는 경우 로컬 시스템이나 네트워크 서비스와 같은 기본 제공 계정을 사용하지 마십시오. SharePoint 데이터베이스가 원격 컴퓨터에서 실행되는 경우 SharePoint 웹 응용 프로그램에서는 해당 원격 컴퓨터에 정의되어 있는 기본 제공 계정에 대한 데이터베이스 액세스를 명시적으로 거부합니다. 즉, 해당 컴퓨터의 기본 제공 계정으로 실행되는 모든 서비스는 SharePoint 데이터베이스에 연결할 수 없습니다.
  • 동일한 컴퓨터나 서로 다른 컴퓨터에 서버와 데이터베이스를 배치하는 다른 모든 토폴로지의 경우 Reporting Services 서비스 계정을 도메인 계정이나 기본 제공 계정으로 구성할 수 있습니다.

SharePoint 데이터베이스에 대한 연결 오류

보고서 서버에서 SharePoint 데이터베이스에 연결할 수 없고 구성 오류가 있는 경우(예: 서비스 계정 또는 암호가 올바르지 않거나 Windows SharePoint 개체 모델의 로컬 인스턴스가 설치되지 않은 경우) rsServerConfigurationError 오류가 발생합니다. 다른 모든 연결 오류의 경우에는 rsSharePointError 오류가 로컬 Windows SharePoint Services 인스턴스의 추가 오류 정보와 함께 반환됩니다.

참고 항목

작업

방법: SharePoint 사이트에서 보고서 서버 항목에 대한 권한 설정

개념

보고서 서버 항목에 대해 Windows SharePoint Services의 기본 제공 보안 사용
Reporting Services의 역할 및 작업과 SharePoint 그룹 및 사용 권한 비교
보고서 서버 내용 저장 및 SharePoint 데이터베이스와 동기화

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2008년 11월 17일

새로운 내용
  • 인증 공급자의 이점과 단점이 나와 있는 표를 SharePoint 기술의 인증 공급자 섹션에 추가했습니다.
  • "확장 배포 환경에서 인증 공급자를 구성하는 최상의 방법" 섹션을 새로 추가했습니다.