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

역할은 Microsoft SQL Server Analysis Services 사용하여 Analysis Services 개체 및 데이터에 대한 보안을 관리합니다. 기본적으로 역할은 Analysis Services의 instance 관리되는 개체에 대해 정의된 특정 액세스 권한 및 권한이 있는 Microsoft Windows 사용자 및 그룹의 SID(보안 식별자)를 연결합니다. Analysis Services에는 두 가지 유형의 역할이 제공됩니다.

  • Analysis Services의 instance 대한 관리자 액세스를 제공하는 고정 역할인 서버 역할입니다.

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

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

역할 및 역할 멤버 개체

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

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

서버 역할

Analysis Services 서버 역할은 Analysis Services의 instance 대한 Windows 사용자 및 그룹의 관리 액세스를 정의합니다. 이 역할의 멤버는 Analysis Services의 instance 있는 모든 Analysis Services 데이터베이스 및 개체에 액세스할 수 있으며 다음 작업을 수행할 수 있습니다.

  • 데이터베이스 만들기 및 서버 수준 속성 설정을 포함하여 SSDT(SQL Server Management Studio 또는 SQL Server Data Tools)를 사용하여 서버 수준 관리 기능을 수행합니다.

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

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

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

Analysis Services의 모든 instance 해당 instance 관리할 수 있는 사용자를 정의하는 서버 역할이 있습니다. 이 역할의 이름과 ID는 Administrators입니다. 데이터베이스 역할과는 달리 서버 역할은 삭제하거나 역할에 사용 권한을 추가 또는 제거할 수 없습니다. 즉, 사용자가 Analysis Services의 해당 instance 대한 서버 역할에 포함되는지 여부에 따라 Analysis Services instance 관리자이거나 그렇지 않습니다.

데이터베이스 역할

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

역할의 사용 권한을 통해 멤버는 데이터베이스와 데이터베이스 내의 개체 및 데이터에 액세스하고 이를 관리할 수 있습니다. 각 사용 권한에는 하나 이상의 액세스 권한이 연결되어 있어서 이를 통해 데이터베이스의 특정 개체에 대한 액세스를 보다 세밀하게 제어할 수 있습니다.

Permission 개체

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

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

개체 클래스
Database DatabasePermission
DataSource DataSourcePermission
Dimension DimensionPermission
Cube CubePermission
MiningStructure MiningStructurePermission
MiningModel MiningModelPermission

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

작업 설명
프로세스 {true, false}

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

처리 권한은 마이닝 모델에 적용되지 않습니다. MiningModel 권한은 항상 MiningStructure에서 상속됩니다.
ReadDefinition {None, Basic, Allowed}

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

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

BasicAllowed는 개체에 포함된 개체가 상속합니다. AllowedBasicNone을 재정의합니다.

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는 모델 콘텐츠를 수정할 수 있는 사용 권한을 부여합니다.

Allowed 에 대한 MiningStructure 구체적인 의미는 Analysis Services에 없습니다. 참고: 읽기도 로 Allowed 설정되지 않는 한 쓰기를 로 설정할 수 없습니다. Allowed
참고 관리: 데이터베이스 권한에서만 {true, false}

기본값은 false입니다.
멤버가 데이터베이스를 관리할 수 있는지 여부를 지정합니다.

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

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

참고 항목

개체 및 작업에 대한 액세스 승인(Analysis Services)