모델 보안 설정
보고서 서버에서 보고서 모델은 임시 보고서를 생성 및 사용하기 위한 데이터 원본으로 사용됩니다. 보고서 서버 폴더 네임스페이스, 모델 항목 보안 및 데이터베이스 보안을 통해 보고서 모델의 보안을 설정할 수 있습니다.
보고서 모델에 대한 보안은 다중 계층이므로 폴더 계층에서 모델을 볼 수 있는 사용자에게 디자인 타임 및 런타임에 해당 모델을 사용하는 방법에 대한 다른 제한이 있을 수 있습니다. 모델을 보고서 데이터 원본으로 사용할 수 있는지 여부는 다음 요인에 따라 달라집니다.
모델에 대한 역할 기반 보안. 보고서 서버 폴더 계층에서 모델을 볼 수 있는지 여부
모델을 데이터 원본으로 사용하는 보고서에 대한 역할 기반 보안. 사용자가 보고서에 액세스할 수 없는 경우 모델에서 제공하는 데이터도 보지 못할 수 있습니다. Reporting Services에서는 모델의 데이터를 보고서에서만 볼 수 있습니다. 타사 응용 프로그램의 경우 다른 방법으로 모델 데이터를 노출할 수 있습니다.
모델 내 항목에 대한 보안
뷰, 테이블 또는 열 수준에서의 데이터베이스 보안
폴더 네임스페이스에서 보고서 모델 보안 설정
보고서 서버에 저장된 모든 항목과 마찬가지로 사용자가 보고서 모델을 보거나 관리할 수 있는지 여부를 결정하는 항목 수준의 역할 할당을 정의할 수 있습니다.
모델을 볼 수 있는 권한이 있는 사용자는 보고서 서버 폴더 계층에서 모델을 볼 수 있고, 모델 생성 날짜 또는 수정 날짜와 같은 모델에 대한 제한된 정보를 일반 속성 페이지에서 읽을 수 있고, 모델을 데이터 원본으로 사용하는 임시 보고서에 있는 링크를 클릭하여 모델을 쿼리할 수 있습니다.
모델을 관리할 수 있는 권한이 있는 사용자는 모델을 삭제 및 업데이트할 수 있으며 모델의 이름도 변경할 수 있습니다. 일반적으로 모델 관리 작업을 수행하려면 새 모델을 게시할 수 있어야 하지만 실제로는 이러한 기능은 사용자가 항목을 추가할 수 있는지 여부를 결정하는 폴더 역할 할당을 통해 제공됩니다.
게시된 모델을 볼 수 있는 권한이 있는 사용자는 게시된 모델을 직접 열어 해당 내용을 보거나 파일 시스템으로 다운로드할 수 없습니다. 런타임에 보고서 모델과의 모든 상호 작용은 이를 사용하는 보고서를 통해 이루어집니다.
모델 항목의 보안 설정
모델 항목 보안을 사용하면 모델의 특정 부분에 대한 액세스를 제어할 수 있습니다. 모델 항목 보안을 구성하려면 SQL ServerManagement Studio를 사용합니다. 모델 항목 보안을 설정한 다음에는 모델 네임스페이스에서 특정 노드에 대해 역할 할당을 만들 수 있습니다. 자세한 내용은 모델 항목 보안 페이지(보고서 관리자)를 참조하십시오.
보고서 모델 네임스페이스는 루트 노드, 엔터티, 모델 역할 및 필드를 포함하는 계층 구조로 나타납니다. 여기에는 모델 항목을 구성(보안 설정 제외)하는 데 사용할 수 있는 폴더 및 큐브 뷰도 포함됩니다. Management Studio에서 모델을 볼 때는 계층 구조를 찾아보고 다양한 수준에서 역할 할당을 지정할 수 있습니다. 역할 할당을 보고서 모델의 루트 노드에 대해 지정하여 전체 모델에 대한 액세스를 제어하거나 모델의 일부에 대해 지정하여 선택한 분기에 대해 액세스 권한을 다르게 부여할 수 있습니다. 보고서 서버 폴더 네임스페이스 보안과 마찬가지로 모델 네임스페이스는 트리 구조의 아랫부분에 있는 항목에 대해 상속된 보안을 지원합니다.
모델 항목 보안은 기본적으로 해제되어 있습니다. 모델 항목 보안을 설정하지 않으면 모델에서 나타내는 데이터를 볼 수 있는 모든 권한이 보고서 서버 폴더 계층의 모델 및 보고서에 대한 역할 할당을 통해 결정됩니다.
모델 항목 보안은 사용자가 인식하지 못하는 사이에 이루어집니다. 모델 계층의 특정 분기에 대한 액세스 권한이 사용자에게 없는 경우 보고서에서 모델의 해당 부분은 사용자에게 표시되지 않습니다. 모델 항목 보안은 데이터 탐색에 사용할 수 없으며 보고서에 데이터를 반환할 수도 없습니다. 모델 항목 보안을 사용하면 보고서 서버에서 데이터 원본에 보낸 쿼리를 수정하여 모델에서 사용자가 볼 수 없는 부분을 제외합니다.
데이터베이스 보안을 통한 모델 보안 설정
데이터베이스 보안을 통해 모델 기반 보고서에서 3번째 보안 계층을 사용할 수 있습니다. 테이블 또는 열에 대한 액세스를 제한하면 데이터베이스에서는 모든 무단 액세스에 대해 액세스 거부 오류를 반환합니다. 모델에 데이터베이스 보안의 영향을 받는 테이블 또는 열이 포함되어 있는 경우 볼 권한이 없는 테이블 또는 열에 매핑되는 모델 항목에 사용자가 액세스하면 데이터베이스 오류 메시지가 반환됩니다. 일부 시나리오에서는 테이블 또는 열 수준의 데이터베이스 보안이 반드시 필요하지만 이러한 보안이 임시 보고서 탐색에 미치는 영향을 고려해 보는 것도 중요합니다. 보고서를 탐색하는 동안 데이터베이스 오류 메시지가 표시되면 사용자는 액세스할 수 있는 모델의 부분으로 되돌아가야 합니다.
[!참고]
데이터베이스 보안을 사용하여 특정 사용자만 특정 테이블 또는 열 값을 읽을 수 있도록 하는 경우 데이터 원본에서 Windows 통합 보안을 사용하도록 구성해야 합니다.
보안 개체 모델 항목
Management Studio를 사용하여 다음 모델 부분의 보안을 설정합니다.
루트 노드
폴더
엔터티
모델 역할. "역할"은 엔터티 간 관계를 의미합니다.
필드
큐브 뷰 전체에 대한 보안은 설정할 수 없지만 큐브 뷰 내 모델 항목에 대한 보안은 설정할 수 있습니다. 보안은 모델 항목의 보안에 따라 상속됩니다. 예를 들어 모델 내 관리자만 모델 항목에 액세스할 수 있는 경우 해당 항목이 큐브 뷰에 나타나는 경우에만 관리자가 모델 항목에 액세스할 수 있습니다.
보고서 모델 보안은 시스템 수준에서 보고서 서버 폴더 계층에 정의하는 보안과는 별개입니다. 폴더 계층을 통해 모델의 루트 노드에 액세스하거나 루트 노드의 보안을 설정할 수 없습니다.
모델 항목 숨기기
역할 할당을 통해 액세스를 제한하는 대신 Hidden 속성을 사용하여 사용자가 모델의 일부를 보지 못하도록 할 수 있습니다. 모든 사용자가 모델 항목을 보지 못하도록 하려면 모델 디자이너에서 해당 항목의 Hidden 속성을 True로 변경합니다. 항목을 숨긴다고 해서 모델 계산 또는 관계에서 해당 항목이 제거되는 것은 아닙니다. 예를 들어 식에 사용되는 필드를 숨기면 사용자가 볼 수 없더라도 식에는 계속 해당 필드가 사용됩니다. 항목을 숨기면 모든 사용자가 해당 항목을 볼 수 없습니다. 사용자 또는 그룹별로 표시 여부 및 액세스를 다르게 지정하려면 Hidden 속성 대신 역할 할당을 사용하여 항목의 보안을 설정합니다.
보고서 모델 항목의 보안 설정 방법
모델 항목의 보안을 설정하려면 Management Studio에서 보고서 서버에 연결해야 하며 보고서 모델을 보고서 서버에 배포해야 합니다.
Management Studio에서 모델을 저장하는 보고서 서버에 연결합니다.
개체 탐색기에서 해당 모델로 이동하고 보안을 설정하려는 모델을 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
모델 속성 페이지에서 모델 보안을 클릭합니다.
개별 모델 항목을 이 모델에 대해 독립적으로 유지합니다 확인란을 선택합니다.
루트 노드를 선택합니다. 루트 노드에 대한 역할 할당이 필요합니다.
각 그룹 또는 사용자 계정에 다음 역할 사용을 클릭합니다.
그룹 또는 사용자 추가를 클릭합니다.
역할 할당을 만들 그룹 또는 사용자를 선택한 다음 확인을 클릭합니다.
보안을 설정하려는 다음 엔터티, 관계, 필드 또는 폴더로 이동합니다. 6단계에서 8단계를 반복합니다.