보고 서비스 및 응용 프로그램 역할


25

첫 번째 포스터, 여기 오랜만. 보고서에서 응용 프로그램 역할을 활성화하는 가장 좋은 방법은 무엇입니까?

나는 다른 일을 시도했지만 지금까지 작동하는 유일한 방법은 응용 프로그램 역할에 대한 호출을 다음과 같이 포함시키는 것입니다.

EXEC sp_setapprole 'REPORTZ', 's3cr3t';
select *
from mytable
where ID < 10000

데이터 세트에서. 그것은 작동하지만 ... 좋아하지는 않습니다 (확실히 생산 환경에 롤링하려는 모양이 아닙니다).

사용자 지정 어셈블리 또는보고 서비스의 일종의 '서버 후크'를 통해 런타임에 응용 프로그램 역할 활성화 라인을 어떻게 든 '납치'하거나 '주입'할 수 있다면 좋을 것입니다. )

귀하의 시간과 친절한 관심에 감사드립니다.

YS.


2
msdn.microsoft.com/en-us/library/aa237582(v=SQL.80).aspx 에서 시작하여 Reporting Service를 확장하는 방법 (응용 프로그램 역할을 설정하는 코드 삽입)을 이해하는 방법을 이해할 수 있지만이 의견은받지 않겠습니다. 대답으로, 이것이 가장 쉬운 방법인지 확실하지 않으며 구성에서 수행 할 수 없습니다

사람들이이 보고서에 액세스하는 방식에 따라 데이터 세트에 보고서 사용자 신임 정보를 임베드 한 후 제한된 권한을 갖도록 로그인 SQL Server 측을 설정할 수 있습니다.
DForck42

안녕 DForck-전체 시스템은 승인을 기반으로하고 있었고 우리는 그것을 그대로 유지하고 싶습니다.

답변:


3

지나치게 화려하지 않은 방법으로이 작업을 수행 할 수있는 몇 가지 방법이 있습니다.

  1. 첫 번째는 Windows 통합 인증을 사용하고 응용 프로그램 사용자를 나타내는 그룹에 권한을 할당하는 것입니다.

  2. 부여 할 수있는 역할을 만든 다음 set roledb의 코드에서 역할을 담당하는 데 사용할 수 있습니다 . 이렇게하면 암호를 전달하지 않고 응용 프로그램을 먼저 인증합니다.

첫 번째 장점은 AD 도메인에서 응용 프로그램에 액세스 할 수있는 사람을 쉽게 관리 할 수 ​​있다는 것입니다. 관리는 비교적 간단합니다. 가장 큰 단점은 통합 인증이 의미가있는 경우로 제한되며 통합 인증을 완전히 지원해야한다는 것입니다. 또한 모든 홉에는 서버, 클라이언트 및 KDC 간 3 방향 인증이 필요합니다.

두 번째의 장점은 아마도 가장 쉬워서 네트워크를 통해 보안 정보를 노출하지 않으며 통합 인증이 제대로 작동하지 않는 경우에 작동한다는 것입니다.

보고 서비스를 확장하기 전에 두 가지 접근 방식을 모두 시도합니다. 의견에서 제안했듯이 http://msdn.microsoft.com/en-us/library/aa237582%28v=SQL.80%29.aspx 는 도움이 될 수 있지만 작동 할 수 있지만 역할을 관리하는 것보다 개념적으로 더 복잡합니다. 직접.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.