Analysis Services에서 사용하는 데이터 원본 보안 설정

권한 없는 사용자가 Microsoft SQL Server Analysis Services의 데이터 로드에 사용되는 데이터 원본에 액세스할 수 있으면 Analysis Services 인스턴스 내에 저장되는 동일한 정보에도 액세스할 수 있습니다. 이러한 데이터 원본에 대한 액세스를 제한해야 합니다. 큐브와 차원은 이러한 데이터 원본에 대한 사용 권한이 없는 Analysis Services 사용자도 탐색할 수 있습니다. 그러나 DMX(Data Mining Expressions)를 사용한 데이터 마이닝 작업 등의 특정 태스크를 수행하려면 Analysis Services 사용자에게 기본 데이터 원본에 연결할 수 있는 권한이 있어야 합니다.

기본 데이터 원본 연결의 보안 설정

Analysis Services에서는 다음과 같은 작업을 수행하기 위해 기본 데이터 원본에 연결합니다.

  • Analysis Services로 데이터 처리

  • ROLAP 또는 HOLAP 사용 시 쿼리 확인

  • 쓰기 저장(writeback) 항목 기록

  • MDX(Multidimensional Expressions) 드릴스루 쿼리 실행

Analysis Services에서 위의 각 태스크는 DataSource 개체를 통해 수행됩니다. DataSource 개체에서 데이터 원본에 액세스하는 데 사용하는 보안 계정은 사용자가 소유한 보안 자격 증명이나 DataSource 개체에 저장된 연결 문자열의 사용자 이름과 암호입니다.

주의 사항주의

Analysis Services에서 Analysis Services 로그온 계정을 사용하여 데이터 원본에 연결하는 경우 모든 권한이 있는 데이터베이스 역할의 멤버는 해당 데이터베이스 내에 데이터 원본이 사용되는지 여부에 관계없이 데이터 원본에 액세스할 수 있습니다.

DataSource 개체에서 사용하는 보안 계정에 필요한 권한은 다음과 같이 Analysis Services에서 수행하려는 태스크에 따라 다릅니다.

  • 데이터 원본에 연결하려면 DataSource 개체에서 사용하는 보안 계정에 적어도 데이터 원본의 해당 테이블에 대한 읽기 권한이 있어야 합니다. ROLAP 저장소를 사용할 경우 데이터 원본에 집계 데이터를 다시 쓸 수 있는 권한도 있어야 합니다.

  • 쓰기 저장이 설정된 경우 사용하는 보안 계정에 쓰기 저장 테이블에 쓸 수 있는 권한이 있어야 합니다.

Analysis Services에서는 각 데이터 원본 연결에 사용되는 연결 문자열 정보가 암호화되어 저장됩니다. 트러스트된 연결 대신 특정 보안 계정을 사용하도록 연결 문자열에 지정할 경우 연결 문자열 저장 시 암호 사용 여부를 선택할 수 있습니다. 연결 문자열에 암호를 저장하지 않으면 Analysis Services에서 데이터를 처리하거나 데이터 원본 뷰를 수정하는 등의 작업을 위해 데이터 원본에 연결하려고 할 때마다 Analysis Services에서 적절한 보안 계정과 암호를 입력하라는 메시지가 나타납니다.

개발 과정에서 Analysis Services 프로젝트에 연결 문자열 보안 계정과 암호를 저장할 수 있습니다. 출력 파일에 보안 계정과 암호를 저장하도록 선택하지 않으면 Analysis Services 프로젝트를 빌드할 때 Business Intelligence Development Studio에서 모든 데이터 원본 연결 문자열의 보안 계정과 암호가 삭제됩니다. Analysis Services 프로젝트의 출력 파일에 보안 계정과 암호를 저장하면 이 연결 문자열 정보가 암호화됩니다. 이 연결 문자열 정보를 저장하지 않고 연결 문자열에 트러스트된 연결을 지정하지 않으면 Analysis Services에서 배포 처리 중 적절한 보안 계정과 암호를 입력하라는 메시지가 나타납니다.

데이터 마이닝 쿼리에서 사용하는 연결의 보안 설정

DMX 문에 OPENQUERY 절을 사용하여 기본 데이터 원본에 연결하는 데이터 마이닝 쿼리의 경우 Analysis Services는 DataSource 개체를 통해 연결합니다. DataSource 개체는 클라이언트를 가장하거나 연결 문자열에 지정된 이름과 암호를 사용합니다. 기본적으로 사용자는 DataSource 개체에 대한 사용 권한이 없으며 OPENQUERY 문을 사용하여 기본 데이터 원본을 쿼리할 수 없습니다. DMX 문에 OPENQUERY 절을 사용하여 기본 데이터 원본을 쿼리하려면 DataSource 개체에 대한 읽기/쓰기 권한이 있어야 합니다. 사용자에게 DataSource 개체에 대한 읽기/쓰기 권한이 있고 연결 문자열에 특정 계정이 지정되어 있는 경우 최상의 보안 방법은 지정된 계정에 기본 데이터 원본의 테이블에 대한 가장 제한적인 권한, 즉 액세스하는 특정 테이블에 대한 읽기 전용 권한을 부여하는 것입니다. DMX에 대한 자세한 내용은 DMX(Data Mining Extensions) 데이터 정의 문DMX(Data Mining Extensions) 데이터 조작 문을 참조하십시오.

기본적으로 사용자는 DMX 문에 OPENROWSET 절을 사용할 수 없으며 임시 연결 문자열로 기본 데이터 원본에 대한 임시 쿼리를 전송할 수 없습니다. DataMining \ AllowAdHocOpenRowsetQueries 서버 구성 속성의 기본 설정을 변경하면 사용자가 OPENROWSET 절을 사용할 수 있습니다. 이 속성에 액세스하려면 Analysis Services 인스턴스를 마우스 오른쪽 단추로 클릭하고 속성을 클릭한 다음 보안 페이지에서 이 속성을 찾습니다. 이렇게 속성을 변경하면 데이터 마이닝 사용자가 데이터 원본을 무제한으로 쿼리할 수 있게 됩니다. 자세한 내용은 마이닝 구조 및 마이닝 모델에 대한 액세스 부여데이터 원본에 대한 액세스 부여를 참조하십시오.