보안 확장 개요 - Reporting Services(SSRS)

Reporting Services 보안 확장을 사용하면 사용자 또는 그룹의 인증 및 권한 부여가 가능합니다. 즉, 다른 사용자가 보고서 서버에 로그인하고 ID에 따라 다른 작업 또는 작업을 수행할 수 있습니다. 기본적으로 Reporting Services는 Windows 계정 프로토콜을 사용하여 시스템에 계정이 있다고 주장하는 사용자의 ID를 확인하는 Windows 기반 인증 확장을 사용합니다. Reporting Services는 역할 기반 보안 시스템을 사용하여 사용자에게 권한을 부여합니다. Reporting Services 역할 기반 보안 모델은 다른 기술의 역할 기반 보안 모델과 유사합니다.

보안 확장은 개방형 및 확장 가능한 API를 기반으로 하므로 Reporting Services에서 새 인증 및 권한 부여 확장을 만들 수 있습니다. 다음 예제에서는 Forms 기반 인증 및 권한 부여를 사용하는 일반적인 보안 확장 구현을 보여줍니다.

Screenshot of the Reporting Services security extension process.

그림에서 볼 수 있듯이 인증 및 권한 부여는 다음과 같이 발생합니다.

  1. 사용자가 URL을 사용하여 웹 포털에 액세스하려고 시도하고 클라이언트 애플리케이션에 대한 사용자 자격 증명을 수집하는 양식으로 리디렉션됩니다.

  2. 사용자가 양식에 자격 증명을 제출합니다.

  3. 사용자 자격 증명은 메서드를 통해 LogonUser Reporting Services 웹 서비스에 제출됩니다.

  4. 웹 서비스에서 고객이 제공한 보안 확장 프로그램을 호출하고 사용자 이름과 암호가 사용자 지정 보안 기관에 존재하는지 확인합니다.

  5. 인증 후 웹 서비스는 인증 티켓("쿠키"라고 함)을 만들고, 티켓을 관리하고, 웹 포털의 홈페이지에 대한 사용자의 역할을 확인합니다.

  6. 웹 서비스는 브라우저에 쿠키를 반환하고 웹 포털에 적절한 사용자 인터페이스를 표시합니다.

  7. 사용자가 인증되면 브라우저는 HTTP 헤더에서 쿠키를 전송하는 동안 웹 포털에 요청을 합니다. 이 요청은 웹 포털 내에서 사용자 동작에 응답하여 이루어진 것입니다.

  8. 요청된 사용자 작업과 함께 웹 서비스로 쿠키가 HTTP 헤더에 전송됩니다.

  9. 쿠키의 유효성이 검사되고 유효한 경우 보고서 서버는 보고서 서버 데이터베이스에서 요청된 작업과 관련된 보안 설명자 및 기타 정보를 반환합니다.

  10. 쿠키가 유효한 경우 보고서 서버는 사용자가 특정 작업을 수행할 권한이 있는 경우 검사 위해 보안 확장을 호출합니다.

  11. 사용자에게 권한이 부여되면 보고서 서버는 요청된 작업을 수행하고 호출자에게 컨트롤을 반환합니다.

  12. 사용자가 인증된 후 보고서 서버에 대한 URL 액세스에서 같은 쿠키를 사용합니다. 쿠키는 HTTP 헤더에서 전송됩니다.

  13. 사용자는 세션이 끝날 때까지 보고서 서버에서 작업을 계속 요청합니다.

보안 확장을 구현하는 경우

가능한 경우 Windows 인증을 사용하는 것이 좋습니다. 그러나 Reporting Services에 대한 사용자 지정 인증 및 권한 부여는 다음 두 경우에 적절할 수 있습니다.

  • Windows 계정을 사용할 수 없는 인터넷 또는 엑스트라넷 애플리케이션이 있습니다.

  • 사용자 정의 사용자 및 역할이 있으며 Reporting Services에서 일치하는 권한 부여 체계를 제공해야 합니다.