확장 프로그램에 대한 보안 고려 사항
CLR(공용 언어 런타임) 기능이 있는 모든 애플리케이션은 CLR 보안 시스템과 상호 작용해야 합니다. 이러한 애플리케이션은 실행되면 CLR에 의해 자동으로 평가되어 권한 집합이 부여됩니다. 부여받은 권한에 따라 애플리케이션이 계속 실행될 수도 있고 보안 예외가 생성될 수도 있습니다. 특정 보고서 서버에 대한 보안 정책 구성 파일의 로컬 보안 설정 및 정책은 어셈블리에서 수신하는 코드 권한을 정의합니다.
권한을 요청하기 전에 확장 프로그램 코드에서 사용할 리소스 및 보호된 작업에 대해 알고 있어야 하며 이러한 리소스 및 작업을 보호하고 있는 권한도 알고 있어야 합니다. 또한 확장 프로그램 구성 요소가 호출하는 클래스 라이브러리 메서드에서 액세스하는 리소스도 추적해야 합니다. 자세한 내용은 .NET Framework 개발자 가이드의 “권한 요청”을 참조하세요.
보고서 서버에 배포된 확장 프로그램은 완전히 신뢰할 수 있는 상태로 실행되어야 합니다. 즉, 확장 프로그램은 FullTrust 권한 집합이 부여된 코드 그룹에 속해야 합니다. 또한 특정 보고서에 대해 인증되는 사용자에 따라 확장 프로그램이 CLR을 통해 사용할 수 있는 특정 서버 리소스 및 작업에 대한 액세스 권한을 가질 수 있음을 의미합니다. 코드 그룹 및 확장에 관한 자세한 내용은 Reporting Services의 코드 액세스 보안을 참조하세요.
중요
Reporting Services는 모든 확장에 .NET Framework 보안을 적용합니다.
Reporting Services에서 데이터 처리, 배달, 렌더링, 보안 확장 프로그램의 배포에 다음 조건이 적용됩니다.
로컬 관리자만 확장 프로그램을 배포할 수 있는 권한을 가집니다.
적절한 읽기/쓰기 권한을 가진 사용자만 확장할 Reporting Services 구성 요소에 대한 구성 파일을 변경할 수 있습니다.
권한이 있는 사용자만 보안 정책 파일을 편집하고 확장 프로그램에 대한 코드 액세스 보안을 사용할 수 있는 권한을 가집니다.
Reporting Services의 코드 액세스 보안에 대한 자세한 내용은 보안 개발(Reporting Services)을 참조하세요.
.NET Framework 보안에 대한 자세한 내용은 .NET Framework 개발자 가이드의 “.NET Framework 보안”을 참조하세요.
확장 프로그램 어셈블리 초기화
일부 확장 프로그램 어셈블리에서 시스템 리소스 액세스, 구성 파일 읽기 및 다른 종속 어셈블리 로드 작업을 수행하려면 특정 권한이 필요하므로 보고서 서버에서 확장 프로그램이 메모리로 처음 로드될 때 서비스 계정 자격 증명이 사용됩니다. 하지만 어셈블리가 로드되고 초기화된 후 확장 프로그램 어셈블리에 대한 이후의 모든 호출에서는 현재 로그온한 사용자 계정의 자격 증명을 사용합니다.