다음을 통해 공유


셀 데이터에 대한 사용자 지정 액세스 권한 부여(Analysis Services)

셀 보안은 큐브 내의 데이터를 측정하기 위한 액세스를 허용하거나 거부하는 데 사용됩니다. 다음 그림에서는 역할이 특정 측정값에만 액세스할 수 있는 사용자로 연결된 경우 피벗 테이블에서 허용되는 측정값과 거부된 측정값의 조합을 보여 줍니다. 이 예제에서 재판매인 판매액재판매인 총 제품 비용은 이 역할을 통해 사용할 수 있는 유일한 측정값입니다. 다른 모든 측정값은 암시적으로 거부됩니다(이 결과를 가져오는 데 사용되는 단계는 다음 섹션인 특정 측정값에 대한 액세스 허용)에서 제공합니다.

허용되는 셀과 거부된 셀을 표시하는

셀 사용 권한은 해당 메타데이터가 아닌 셀 내의 데이터에 적용됩니다. 실제 셀 값 대신 값을 #N/A 표시하여 쿼리 결과에 셀이 계속 표시되는 방식을 확인합니다. #N/A 클라이언트 애플리케이션에서 값을 변환하거나 연결 문자열에서 보안 셀 값 속성을 설정하여 다른 값을 지정하지 않으면 값이 셀에 나타납니다.

셀을 완전히 숨기려면 볼 수 있는 멤버 차원, 차원 특성 및 차원 특성 멤버를 제한해야 합니다. 자세한 내용은 차원 데이터에 대한 사용자 지정 액세스 권한 부여(Analysis Services)를 참조하세요.

관리자는 역할 멤버에게 큐브 내의 셀에 대해 읽기, 조건부 읽기, 또는 읽기/쓰기 권한이 있는지를 지정할 수 있습니다. 셀에 권한을 두는 것은 허용되는 가장 낮은 보안 수준이므로 이 수준에서 사용 권한 적용을 시작하기 전에 몇 가지 사실을 염두에 두어야 합니다.

  • 셀 수준 보안은 더 높은 수준에서 제한된 권한을 확장할 수 없습니다. 예: 역할이 차원 데이터에 대한 액세스를 거부하는 경우 셀 수준 보안은 거부된 집합을 재정의할 수 없습니다. 또 다른 예: 큐브에 대한 사용 권한과 셀에 대한 읽기/쓰기 권한이 있는 역할을 Read 고려합니다. 셀 데이터 사용 권한은 읽기/쓰기Read가 아닙니다.

  • 사용자 지정 권한은 종종 동일한 역할 내의 차원 멤버와 셀 간에 조정되어야 합니다. 예를 들어 재판매인의 다양한 조합에 대한 여러 할인 관련 측정값에 대한 액세스를 거부하려는 경우를 가정해 보겠습니다. 재판매인을 차원 데이터로, 할인 금액을 측정값으로 지정하면 측정값(이 항목의 지침 사용)과 차원 멤버에 대해 동일한 역할 권한 내에서 결합해야 합니다. 차원 권한 설정에 대한 자세한 내용은 차원 데이터에 대한 사용자 지정 액세스 권한 부여(Analysis Services)를 참조하세요.

셀 수준 보안은 MDX 식을 통해 지정됩니다. 셀은 튜플(즉, 잠재적으로 여러 차원 및 측정값의 교차점)이므로 MDX를 사용하여 특정 셀을 식별해야 합니다.

특정 측정값에 대한 액세스 허용

셀 보안을 사용하여 사용 가능한 측정값을 명시적으로 선택할 수 있습니다. 허용되는 멤버를 구체적으로 식별하면 다른 모든 조치를 사용할 수 없게 됩니다. 다음 단계에서 설명한 대로 MDX 스크립트를 통해 구현하는 가장 간단한 시나리오일 수 있습니다.

  1. SQL Server Management Studio에서 Analysis Services 인스턴스에 연결하고, 데이터베이스를 선택하고, 역할 폴더를 연 다음, 데이터베이스 역할을 클릭합니다(또는 새 데이터베이스 역할 만들기). 멤버 자격을 이미 지정해야 하며 역할에 큐브에 대한 액세스 권한이 있어야 합니다 Read . 이 단계에 대한 도움이 필요한 경우 큐브 또는 모델 권한 부여(Analysis Services) 를 참조하세요.

  2. 셀 데이터에서 큐브 선택을 확인하여 올바른 선택 항목을 선택했는지 확인한 다음 읽기 권한 사용을 선택합니다.

    이 확인란만 선택하고 MDX 식을 제공하지 않는 경우 효과는 큐브의 모든 셀에 대한 액세스를 거부하는 것과 같습니다. Analysis Services가 큐브 셀의 하위 집합을 확인할 때마다 허용되는 기본 집합이 빈 집합이기 때문입니다.

  3. 다음 MDX 식을 입력합니다.

    (Measures.CurrentMember IS [Measures].[Reseller Sales Amount]) OR (Measures.CurrentMember IS [Measures].[Reseller Total Product Cost])  
    

    이 식은 사용자에게 표시되는 측정값을 명시적으로 식별합니다. 이 역할을 통해 연결하는 사용자에게는 다른 조치를 사용할 수 없습니다. CurrentMember(MDX)는 컨텍스트를 설정하고 허용되는 측정값을 따릅니다. 이 식의 효과는 현재 멤버에 Reseller Sales Amount 또는 Reseller Total Product Cost가 포함된 경우 값을 표시합니다. 그렇지 않으면 액세스를 거부합니다. 식에는 여러 부분이 있으며 각 부분은 괄호로 묶입니다. OR 연산자는 여러 측정값을 지정하는 데 사용됩니다.

특정 측정값에 대한 액세스 거부

다음 MDX 식은 역할 만들기 | 셀 데이터 | 에 지정된 큐브 콘텐츠 읽기 허용과는 반대의 영향을 미쳐, 특정 측정값을 사용할 수 없게 만듭니다. 이 예제에서 할인 금액할인 비율NOTAND 연산자를 사용하여 비활성화됩니다. 다른 모든 측정값은 이 역할을 통해 연결하는 사용자에게 표시됩니다.

(NOT Measures.CurrentMember IS [Measures].[Discount Amount]) AND (NOT Measures.CurrentMember IS [Measures].[Discount Percentage])  

Excel에서 셀 보안은 다음 그림에서 분명합니다.

Excel 열에서 셀을 사용할 수 없음으로 표시함

계산된 측정값에 대한 읽기 권한 설정

계산 측정값에 대한 사용 권한은 해당 구성 요소와 독립적으로 설정할 수 있습니다. 계산 측정값과 해당 종속 측정값 간에 사용 권한을 조정하려는 경우 Read-Contingent 다음 섹션으로 건너뜁니다.

계산된 측정값에 대해 읽기 권한이 작동하는 방식을 이해하려면 AdventureWorks의 Reseller Gross Profit 을 고려하세요. 재판매인 판매액 및 재판매인 총 제품 비용 측정값에서 파생됩니다. 역할이 Reseller Gross Profit 셀에 대한 읽기 권한을 갖는 한, 다른 측정값에 대한 사용 권한이 명시적으로 거부된 경우에도 이 측정값을 볼 수 있습니다. 다음 MDX 식을 Create Role | Cell Data | 큐브 콘텐츠 읽기 허용에 복사하여 데모를 진행합니다.

(NOT Measures.CurrentMember IS [Measures].[Reseller Sales Amount])  
AND (NOT Measures.CurrentMember IS [Measures].[Reseller Total Product Cost])  

Excel에서 현재 역할을 사용하여 큐브에 연결하고 세 가지 측정값을 모두 선택하여 셀 보안의 효과를 확인합니다. 거부된 집합의 측정값은 사용할 수 없지만 계산된 측정값은 사용자에게 표시됩니다.

Excel 표 - 사용 가능한 셀과 사용할 수 없는 셀이 있는

계산된 측정값에 대한 Read-Contingent 권한 설정

셀 보안은 계산에 참여하는 관련 셀의 사용 권한을 설정할 수 있는 대안적 옵션인 조건부 읽기(Read-Contingent)를 제공합니다. 재판매인 총이익 예제를 다시 생각해 보세요. 이전 섹션에서 제공된 것과 동일한 MDX 식을 입력하면 이 시간을 역할 | 셀 데이터 만들기 대화 상자의 두 번째 텍스트 영역(아래 텍스트 영역 의 셀 보안에 따라 셀 내용 읽기 허용)에 배치하면 Excel에서 볼 때 결과가 표시됩니다. 재판매인 총이익재판매인 판매액 및 재판매인 총 제품 비용에 따라 좌우되므로 해당 구성 요소에 액세스할 수 없으므로 총 수익에 액세스할 수 없습니다.

비고

동일한 역할 내의 셀에 대한 읽기 및 Read-Contingent 권한을 둘 다 설정하면 어떻게 되나요? 역할은 셀에 대한 읽기-조건부 권한이 아니라 읽기 권한을 제공합니다.

MDX 식을 제공하지 않고 읽기 권한 사용 확인란만 선택하면 큐브의 모든 셀에 대한 액세스가 거부된다는 이전 섹션을 기억하세요. Analysis Services가 큐브 셀의 하위 집합을 확인할 때마다 허용되는 기본 집합이 빈 집합이기 때문입니다.

셀에 대한 읽기/쓰기 권한 설정

큐브 자체에 대한 읽기/쓰기 권한을 멤버가 가지고 있을 때, 셀에 대한 읽기/쓰기 권한은 쓰기 저장을 활성화하는 데 사용됩니다. 셀 수준에서 부여된 사용 권한은 큐브 수준에서 부여된 사용 권한보다 클 수 없습니다. 자세한 내용은 파티션 쓰기 저장 설정을 참조하세요.

또한 참조하십시오

MDX Builder(Analysis Services - 다차원 데이터)
기본 MDX 스크립트(MDX)
프로세스 권한 부여(Analysis Services)
차원에 대한 권한 부여(Analysis Services)
차원 데이터에 대한 사용자 지정 액세스 권한 부여(Analysis Services)
큐브 또는 모델에 대한 권한 할당(Analysis Services)