Reporting Services 보안 정책 파일 사용

Reporting Services는 설치 중에 파일 시스템으로 복사되는 세 개의 구성 파일에 구성 요소 보안 정책 정보를 저장합니다. 이러한 구성 파일에는 Reporting Services의 코드 어셈블리에 대한 내부용 보안 정책과 사용자 정의 보안 정책의 조합이 들어 있을 수 있습니다. 세 개의 구성 파일은 보고서 서버 및 Windows 서비스, 보고서 관리자 웹 애플리케이션, 보고서 디자이너 미리 보기 창과 같은 Reporting Services의 세 개 보안 개체 구성 요소에 해당합니다.

참고 항목

보고서 디자이너에는 보고서 프로젝트를 DebugLocal 모드에서 시작할 때 실행되는 팝업 미리 보기 창과 미리 보기 탭이라는 두 개의 미리 보기 모드가 있습니다. 미리 보기 탭은 보안 구성 요소가 아니며 보안 정책 설정을 적용하지 않습니다. 미리 보기 창은 보고서 서버 기능을 시뮬레이션하기 위한 것이므로 사용자 또는 관리자가 보고서 디자이너 사용자 지정 어셈블리 및 사용자 지정 확장을 사용하도록 수정해야 하는 정책 구성 파일이 있습니다.

보안 정책 구성 파일에는 Reporting Services의 어셈블리에 대한 보안 클래스 정보, 기본 명명된 권한 집합 및 코드 그룹이 포함되어 있습니다. Reporting Services의 정책 구성 파일은 .NET Framework의 컴퓨터 및 엔터프라이즈 수준 정책과 관련된 코드 그룹 계층 및 권한 집합을 결정하는 Security.config 파일과 유사합니다. 이 파일의 위치는 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\security.config입니다.

Reporting Services의 정책 파일

다음 표에서는 Reporting Services의 정책 구성 파일, 해당 위치(기본 설치 가정) 및 해당 기능을 나열합니다.

File name 위치(기본 설치) 설명
rssrvpolicy.config C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer 보고서 서버 정책 구성 파일입니다. 이러한 보안 정책은 보고서가 보고서 서버에 배포되면 주로 보고서 식 및 사용자 지정 어셈블리에 영향을 줍니다. 이 정책 파일은 보고서 서버에 배포된 사용자 지정 데이터, 배달, 렌더링 및 보안 확장 프로그램에도 영향을 줍니다.
rsmgrpolicy.config C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager 보고서 관리자 정책 구성 파일입니다. 이러한 보안 정책은 사용자 지정 배달을 위한 구독 사용자 인터페이스 확장 프로그램과 같이 보고서 관리자를 확장하는 모든 어셈블리에 영향을 줍니다.
rspreviewpolicy.config C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies 보고서 디자이너 독립 실행형 미리 보기 정책 구성 파일입니다. 이러한 보안 정책은 미리 보기 및 개발 중에 보고서에 사용되는 사용자 지정 어셈블리 및 보고서 식에 영향을 줍니다. 이러한 정책은 데이터 처리 확장과 같이 보고서 디자이너 배포되는 사용자 지정 확장에도 영향을 줍니다.

구성 파일 수정

구성 설정은 XML 요소나 특성으로 지정됩니다. XML과 구성 파일에 대해 이해하고 있으면 텍스트나 코드 편집기를 사용하여 사용자 정의 가능한 설정을 수정할 수 있습니다. 보안 구성 파일에는 Reporting Services의 정책 수준과 관련된 코드 그룹 계층 및 권한 집합에 대한 정보가 포함되어 있습니다. .NET Framework 구성 유틸리티(Mscorcfg.msc) 또는 코드 액세스 보안 정책 유틸리티(Caspol.exe)를 사용하여 Security.config 파일에서 보안 정책을 먼저 수정해야 합니다. 이 단계에서는 정책 변경 내용이 정책 파일에 대한 유효한 XML 구성 요소에 해당하도록 합니다. 이렇게 하면 Security.config에서 코드 권한을 추가하는 구성 요소의 정책 파일에 새 코드 그룹 및 권한 집합을 잘라내어 붙여넣을 수 있습니다.

Important

변경하기 전에 정책 구성 파일을 백업해야 합니다.

이 방법을 사용하면 두 가지 작업을 수행할 수 있습니다. 첫 번째로, 시각적 도구를 사용하여 Reporting Services에 대한 코드 그룹 및 권한 집합을 작성할 수 있습니다. 이 메서드는 XML 구성 요소를 처음부터 작성하는 것보다 쉽습니다. 둘째, 형식이 잘못된 XML 요소 및 특성을 사용하여 보안 정책 구성 파일을 손상하지 않도록 합니다. 코드 액세스 보안 정책 유틸리티에 대한 자세한 내용은 MSDN에서 Reporting Services 보안 정책 파일 사용을 참조하세요.

정책 구성 파일을 수정하기 전에 이 섹션 및 관련 문서에서 사용할 수 있는 모든 정보를 읽어야 합니다. Reporting Services의 정책 구성을 수정하면 Reporting Services 구성 요소가 외부 코드 모듈을 실행하는 방법에 상당한 보안 영향을 미칠 수 있습니다.

확장에 대한 CodeGroup 요소 배치

보안 정책 파일에 CodeGroup 요소를 배치하는 것이 중요합니다. 개발하는 확장 및 사용자 지정 어셈블리의 경우 다음 예제와 같이 URL 멤버 자격 $CodeGen$/*에 대한 기존 항목 바로 아래에 사용자 지정 코드 그룹을 배치해야 합니다.

<CodeGroup  
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust">  
    <IMembershipCondition   
        class="UrlMembershipCondition"  
        version="1"  
        Url="$CodeGen$/*"  
    />  
</CodeGroup>  
<CodeGroup   
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust"  
    Name="MyCustomCodeGroup"  
    Description="Code group for my custom extension">  
        <IMembershipCondition class="UrlMembershipCondition"  
        version="1"  
        Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\MyAssembly.dll"  
        />  
</CodeGroup>  

다른 코드 그룹을 하나씩 추가할 수 있습니다.