보안 역할(Analysis Services - 다차원 데이터)

역할은 MicrosoftSQL ServerAnalysis Services에서 Analysis Services 개체와 데이터의 보안을 관리하는 데 사용됩니다. 기본적으로 역할은 Analysis Services 인스턴스에서 관리하는 개체에 대한 액세스 권한과 사용 권한이 정의된 Microsoft Windows 사용자 및 그룹의 SID(보안 ID)와 연결됩니다. Analysis Services에서는 다음 두 가지 유형의 역할을 제공합니다.

  • 서버 역할 - 관리자에게 Analysis Services 인스턴스에 대한 액세스 권한을 제공하는 고정 역할

  • 데이터베이스 역할 - 관리자가 아닌 사용자의 개체와 데이터에 대한 액세스 권한을 제어하기 위해 관리자가 정의하는 역할

MicrosoftSQL ServerAnalysis Services에서는 역할과 사용 권한을 사용하여 보안을 관리합니다. 역할은 사용자 그룹이고 멤버라고도 하는 사용자는 역할에 추가하거나 역할에서 제거할 수 있습니다. 개체에 대한 사용 권한은 역할로 지정되며 역할에 있는 모든 멤버는 해당 역할에 사용 권한이 지정된 개체를 사용할 수 있습니다. 역할에 있는 모든 멤버는 개체에 대해 동일한 사용 권한을 갖습니다. 사용 권한은 개체에 따라 다를 수 있습니다. 각 개체에는 해당 개체에 부여된 권한으로 구성된 권한 컬렉션이 있으며, 개체에는 여러 권한 집합을 부여할 수 있습니다. 개체의 권한 컬렉션에 있는 각 사용 권한에는 단일 역할이 할당되어 있습니다.

역할 및 역할 멤버 개체

역할은 사용자(멤버) 컬렉션을 포함하는 개체입니다. Analysis Services에서 역할 정의는 사용자의 멤버 자격을 설정합니다. 역할에 의해 사용 권한이 할당되므로 사용자는 역할의 멤버여야 개체에 액세스할 수 있습니다.

Role 개체는 이름, ID 및 멤버 매개 변수로 구성되어 있습니다. 멤버는 문자열 컬렉션입니다. 각 멤버에는 사용자 이름이 "domain\username" 형식으로 포함되어 있습니다. 이름은 역할 이름이 포함된 문자열이고 ID는 역할의 고유 식별자가 포함된 문자열입니다.

서버 역할

Analysis Services 서버 역할은 Analysis Services 인스턴스에 대한 Windows 사용자 및 그룹의 관리 액세스 권한을 정의합니다. 이 역할의 멤버는 Analysis Services 인스턴스의 모든 Analysis Services 데이터베이스와 개체에 대한 액세스 권한을 가지며 다음 태스크를 수행할 수 있습니다.

  • SQL Server Management Studio 또는 Business Intelligence Development Studio를 사용하여 데이터베이스 생성과 서버 수준 속성 설정 같은 서버 수준 관리 작업을 수행합니다.

  • AMO(Analysis Management Objects)를 사용하여 프로그래밍 방식으로 관리 작업을 수행합니다.

  • Analysis Services 데이터베이스 역할을 유지 관리합니다.

  • 추적(Process 권한을 가진 데이터베이스 역할이 수행할 수 있는 이벤트 처리에 대한 추적은 제외)을 시작합니다.

모든 Analysis Services 인스턴스에는 해당 인스턴스를 관리할 수 있는 사용자를 정의하는 서버 역할이 있습니다. 이 역할의 이름과 ID는 Administrators입니다. 데이터베이스 역할과는 달리 서버 역할은 삭제하거나 역할에 사용 권한을 추가 또는 제거할 수 없습니다. 다시 말해 특정 사용자가 Analysis Services 인스턴스에 대한 서버 역할에 포함되어 있으면 Analysis Services 인스턴스에 대한 관리자이고 그렇지 않으면 관리자가 아닙니다. 관련 항목:관리 액세스 부여, 서버 구성 속성 설정.

데이터베이스 역할

Analysis Services 데이터베이스 역할은 Analysis Services 데이터베이스의 개체와 데이터에 대한 사용자 액세스 권한을 정의합니다. 데이터베이스 역할은 Analysis Services 데이터베이스에서 별개의 개체로 생성되고, 해당 역할이 생성된 데이터베이스에만 적용됩니다. Windows 사용자 및 그룹을 역할에 포함하는 작업은 관리자가 수행하며, 관리자는 해당 역할에 사용 권한을 정의하는 작업도 수행합니다.

역할의 사용 권한을 통해 멤버는 데이터베이스와 데이터베이스 내의 개체 및 데이터에 액세스하고 이를 관리할 수 있습니다. 각 사용 권한에는 하나 이상의 액세스 권한이 연결되어 있어서 이를 통해 데이터베이스의 특정 개체에 대한 액세스를 보다 세밀하게 제어할 수 있습니다. 관련 항목:사용 권한 및 액세스 권한(Analysis Services - 다차원 데이터), 사용자 액세스 부여

권한 개체

사용 권한은 특정 역할을 수행하는 개체(큐브, 차원 등)와 관련이 있으며 멤버가 해당 개체에서 수행할 수 있는 작업을 지정합니다.

Permission 클래스는 추상 클래스입니다. 따라서 해당 개체에 대한 사용 권한을 정의하려면 추상 클래스를 사용해야 합니다. 각 개체에는 권한 파생 클래스가 정의되어 있습니다.

다음 목록에서는 권한에 의해 가능한 동작을 보여 줍니다.

동작

설명

처리

{true, false}

기본값은 false입니다.

true이면 멤버가 개체와 해당 개체에 포함된 모든 개체를 처리할 수 있습니다.

처리 권한은 마이닝 모델에 적용되지 않습니다. MiningModel 권한은 항상 MiningStructure에서 상속됩니다.

ReadDefinition

{None, Basic, Allowed}

기본값은 None입니다.

멤버가 개체와 연관된 데이터 정의(ASSL)를 읽을 수 있는지 여부를 지정합니다.

Allowed이면 멤버가 개체와 연관된 ASSL을 읽을 수 있습니다.

Basic 및 Allowed는 개체에 포함된 개체가 상속합니다. Allowed는 Basic 및 None을 재정의합니다.

Allowed는 개체의 DISCOVER_XML_METADATA에 필요하고 Basic은 연결된 개체와 로컬 큐브를 만드는 데 필요합니다.

읽기

{None, Allowed}

기본값은 None입니다. 단, DimensionPermission의 기본값은 Allowed입니다.

멤버가 스키마 행 집합과 데이터 콘텐츠를 읽을 수 있는 권한을 가지고 있는지 여부를 지정합니다.

Allowed는 데이터베이스에 대한 읽기 액세스 권한을 부여하여 데이터베이스를 검색할 수 있도록 합니다.

큐브에 대한 Allowed는 스키마 행 집합에 대한 읽기 액세스 권한과 큐브 콘텐츠에 대한 액세스 권한을 부여합니다(CellPermissionCubeDimensionPermission에 의해 제한되지 않는 경우에 한해).

차원에 대한 Allowed는 차원에 있는 모든 특성을 읽을 수 있는 권한을 부여합니다(CubeDimensionPermission에 의해 제한되지 않는 경우에 한해). 읽기 권한은 CubeDimensionPermission에 대한 정적 상속에만 사용됩니다. 차원에 대한 None은 차원을 숨기고 집계할 수 있는 특성의 기본 멤버에만 액세스 권한을 부여합니다. 따라서 차원에 집계할 수 없는 특성이 포함되어 있으면 오류가 발생합니다.

MiningModelPermission에 대한 Allowed는 행 집합에 있는 개체를 보고 예측 조인을 수행할 수 있는 사용 권한을 부여합니다.

참고Allowed는 데이터베이스에 있는 임의의 개체에 대한 읽기 또는 쓰기 작업에 필요합니다.

쓰기

{None, Allowed}

기본값은 None입니다.

멤버가 부모 개체의 데이터에 대한 쓰기 액세스 권한을 가지고 있는지 여부를 지정합니다.

액세스 권한은 Dimension, CubeMiningModel 하위 클래스에 적용되고 유효성 검사 오류가 발생하는 데이터베이스의 MiningStructure 하위 클래스에는 적용되지 않습니다.

Dimension에 대한 Allowed는 차원에 있는 모든 특성에 대한 쓰기 권한을 부여합니다.

Cube에 대한 Allowed는 Type=writeback으로 정의된 파티션의 큐브 셀에 대한 쓰기 권한을 부여합니다.

MiningModel에 대한 Allowed는 모델 콘텐츠를 수정할 수 있는 사용 권한을 부여합니다.

MiningStructure에 대한 Allowed는 Analysis Services에서 특별한 의미가 없습니다.

참고참고
쓰기를 Allowed로 설정하려면 먼저 읽기를 Allowed로 설정해야 합니다.

관리

참고참고
데이터베이스 권한에만 적용됩니다.

{true, false}

기본값은 false입니다.

멤버가 데이터베이스를 관리할 수 있는지 여부를 지정합니다.

true는 데이터베이스에 있는 모든 개체에 액세스할 수 있는 권한을 멤버에게 부여합니다.

멤버는 특정 데이터베이스에 대해서만 관리 권한을 가질 수 있습니다.