보안 확장 프로그램 개요Security Extensions Overview

Reporting ServicesReporting Services 보안 확장 프로그램은 사용자 또는 그룹에 대한 인증 및 권한 부여를 제공합니다. 즉, 여러 사용자들이 보고서 서버에 로그온한 다음 각자의 ID에 준하여 서로 다른 태스크나 작업을 수행할 수 있습니다.A Reporting ServicesReporting Services security extension enables the authentication and authorization of users or groups; that is, it enables different users to log on to a report server and, based on their identities, perform different tasks or operations. 기본적으로 Reporting ServicesReporting Services는 Windows 계정 프로토콜을 사용하여 시스템에 계정을 보유하고 있다고 주장하는 사용자의 신원을 확인하는 방식의 Windows 기반 인증 확장 프로그램을 사용합니다.By default, Reporting ServicesReporting Services uses a Windows-based authentication extension, which uses Windows account protocols to verify the identities of users who claim to have accounts on the system. Reporting ServicesReporting Services는 역할 기반 보안 시스템을 사용하여 사용자에게 권한을 부여합니다. uses a role-based security system to authorize users. Reporting ServicesReporting Services 역할 기반 보안 모델은 다른 기술의 역할 기반 보안 모델과 비슷합니다.The Reporting ServicesReporting Services role-based security model is similar to the role-based security models of other technologies.

보안 확장 프로그램은 확장 가능한 개방형 API를 기반으로 하므로 Reporting ServicesReporting Services에서 새 인증 및 권한 부여 확장 프로그램을 만들 수 있습니다.Because security extensions are based on an open and extensible API, you can create new authentication and authorization extensions in Reporting ServicesReporting Services. 다음은 Forms 기반 인증 및 권한 부여를 사용하는 일반적인 보안 확장 구현의 예입니다.The following is an example of a typical security extension implementation that uses Forms-based authentication and authorization:

Reporting Services 보안 확장 프로세스Reporting Services security extension process

그림에서 볼 수 있듯이 인증 및 권한 부여는 다음과 같이 발생합니다.As shown in the illustration, authentication and authorization occur as follows:

  1. 사용자가 URL을 사용하여 보고서 관리자에 액세스하려고 하자 클라이언트 응용 프로그램에 대한 사용자 자격 증명을 수집하는 폼으로 리디렉션됩니다.A user tries to access Report Manager by using a URL and is redirected to a form that collects user credentials for the client application.

  2. 사용자가 폼에 자격 증명을 제출합니다.The user submits credentials to the form.

  3. 사용자 자격 증명이 LogonUser 메서드를 통해 Reporting Services 웹 서비스로 제출됩니다.The user credentials are submitted to the Reporting Services Web service through the LogonUser method.

  4. 웹 서비스에서 고객이 제공한 보안 확장 프로그램을 호출하고 사용자 이름과 암호가 사용자 지정 보안 기관에 존재하는지 확인합니다.The Web service calls the customer-supplied security extension and verifies that the user name and password exist in the custom security authority.

  5. 인증 후 웹 서비스가 인증 티켓(일명 "쿠키")을 만들고, 티켓을 관리하고, 보고서 관리자의 홈 페이지에 대해 사용자의 역할을 검증합니다.After authentication, the Web service creates an authentication ticket (known as a "cookie"), manages the ticket, and verifies the user's role for the Home page of Report Manager.

  6. 웹 서비스가 브라우저로 쿠키를 반환하고 보고서 관리자에 적절한 사용자 인터페이스를 표시합니다.The Web service returns the cookie to the browser and displays the appropriate user interface in Report Manager.

  7. 사용자가 인증된 후 브라우저에서 HTTP 헤더에 쿠키를 전송하는 동안 보고서 관리자에게 요청을 합니다.After the user is authenticated, the browser makes requests to Report Manager while transmitting the cookie in the HTTP header. 이 요청은 보고서 관리자 응용 프로그램에서 사용자 동작에 응답하여 이루어진 것입니다.These requests are in response to user actions within the Report Manager application.

  8. 요청된 사용자 작업과 함께 웹 서비스로 쿠키가 HTTP 헤더에 전송됩니다.The cookie is transmitted in the HTTP header to the Web service along with the requested user operation.

  9. 쿠키가 검증되고 유효한 경우, 보고서 서버가 보고서 서버 데이터베이스에서 보안 설명자 및 기타 요청된 작업과 관련한 정보를 반환합니다.The cookie is validated, and if it is valid, the report server returns the security descriptor and other information relating to the requested operation from the report server database.

  10. 쿠키가 유효한 경우 보고서 서버가 보안 확장 프로그램을 호출하여 사용자에게 특정 작업을 수행할 권한이 부여되었는지 확인합니다.If the cookie is valid, the report server makes a call to the security extension to check if the user is authorized to perform the specific operation.

  11. 사용자에게 권한이 부여된 경우 보고서 서버가 요청된 작업을 수행하고 호출자에게 제어를 반환합니다.If the user is authorized, the report server performs the requested operation and returns control to the caller.

  12. 사용자가 인증된 후 보고서 서버에 대한 URL 액세스에서 같은 쿠키를 사용합니다.After the user is authenticated, URL access to the report server uses the same cookie. 쿠키가 HTTP 헤더에 전송됩니다.The cookie is transmitted in the HTTP header.

  13. 세션이 종료될 때까지 사용자가 계속해서 보고서 서버에 작업을 요청합니다.The user continues to request operations on the report server until the session has ended.

보안 확장 프로그램 구현 시기When to Implement a Security Extension

가능하면 Windows 인증을 사용하는 것이 좋습니다.We recommend that you use Windows Authentication if at all possible. 그러나 다음 두 가지 경우에는 Reporting ServicesReporting Services에 사용자 지정 인증 및 권한 부여가 적합할 수 있습니다.However, custom authentication and authorization for Reporting ServicesReporting Services may be appropriate in the following two cases:

  • 인터넷 또는 엑스트라넷 응용 프로그램에서 Windows 계정을 사용할 수 없는 경우You have an Internet or extranet application that cannot use Windows accounts.

  • 사용자가 정의한 사용자 및 역할이 있고 Reporting ServicesReporting Services에서 대응하는 권한 부여 체계를 제공해야 하는 경우You have custom-defined users and roles and need to provide a matching authorization scheme in Reporting ServicesReporting Services.

관련 항목:See Also

보안 확장 프로그램 구현 Implementing a Security Extension
보고서 관리자에서 사용자 지정 인증 쿠키를 전달하도록 구성Configure Report Manager to Pass Custom Authentication Cookies