셀 데이터에 사용자 지정 액세스 부여

업데이트: 2006년 12월 12일

Microsoft SQL Server 2005 Analysis Services(SSAS)의 데이터베이스 역할에 큐브에 대한 읽기 또는 읽기/쓰기 권한을 부여한 후에는 역할 멤버가 모든 셀 데이터를 볼 수 있습니다. 특정 셀에 대한 액세스를 제한하려면 구체적으로 셀 액세스 권한을 제한해야 합니다. 특정 차원 멤버에 대한 액세스를 제한하려면 셀 데이터에 사용자 지정 액세스 부여를 참조하십시오.

데이터베이스 역할에 특정 셀에 대한 액세스 권한을 부여하려면 MDX(Multidimensional Expressions) 식을 사용하여 읽기, 불확정 읽기 또는 읽기/쓰기 권한이 있는 셀 범위를 정의합니다. 자세한 내용은 MDX 식을 사용하여 셀 데이터 권한 설정을 참조하십시오.

사용 권한 설정을 위한 지침

데이터베이스 역할에 셀 데이터에 대한 읽기, 불확정 읽기 또는 읽기/쓰기 권한이 있는지 여부에 관계없이 이러한 사용 권한을 보다 쉽게 처리할 수 있는 몇 가지 지침과 배경 정보가 있습니다.

  • 파생 셀에 대한 사용 권한을 부여할 때 주의하십시오.
    파생 셀은 다른 셀에서 데이터를 가져옵니다. 데이터베이스 역할에 파생 셀에 대한 사용 권한은 있지만 이 셀을 파생시키는 셀에 대해서는 사용 권한이 없는 경우 셀에 대해 사용 권한이 없는 데이터베이스 역할의 멤버가 해당 셀의 값을 유추할 수도 있습니다. 예를 들어 데이터베이스 역할에 SalesProfit 측정값 셀에 대한 사용 권한이 있어서 데이터베이스 역할에 이러한 측정값이 표시되지만 Cost 측정값 셀에 대한 사용 권한은 없다고 가정합니다. 이 경우 이 데이터베이스 역할의 멤버는 Sales 측정값에서 Profit 측정값을 빼서 Cost 측정값을 구할 수 있습니다.
  • 셀 데이터 사용 권한이 큐브에 대한 사용 권한보다 높을 수 없습니다.
    특정 셀에 부여된 사용 권한이 전체 큐브에서 데이터베이스 역할에 부여된 사용 권한을 능가할 수 없습니다. 예를 들어 데이터베이스 역할에 셀에 대한 읽기/쓰기 권한이 있지만 큐브에 대해서는 읽기 권한만 있다고 가정합니다. 이러한 경우 셀 데이터 사용 권한은 읽기/쓰기가 아닌 읽기가 됩니다.
  • 셀 데이터에 액세스할 수 있다고 차원 데이터에 액세스할 수 있는 것은 아닙니다.
    데이터베이스 역할이 셀 데이터에 액세스할 수 있더라도 차원 데이터에 대한 읽기 또는 읽기/쓰기 권한이 이 데이터베이스 역할에 별도로 부여되지 않았다면 차원 데이터에는 액세스할 수 없습니다. 큐브 데이터에 대한 액세스 권한에 따라 데이터베이스 역할이 액세스할 수 있는 차원 특성에 대한 액세스 권한이 제한될 수는 있지만 데이터베이스 역할이 액세스할 수 없는 차원 특성까지 액세스 권한이 확장될 수는 없습니다.
  • 셀 데이터에 대한 액세스를 거부해도 사용자에게 셀이 표시됩니다.
    셀 데이터에 대한 액세스 권한은 데이터베이스 역할이 셀을 볼 수 있는지 여부를 제어하는 것이 아니라 데이터베이스 역할이 셀 내용을 볼 수 있는지 여부를 제어합니다. 데이터베이스 역할이 셀 데이터에 액세스할 수 없는 경우에도 쿼리 결과에는 셀이 표시됩니다. 그러나 셀에는 실제 셀 값 대신에 #N/A 값이 포함됩니다. 클라이언트 응용 프로그램에서 값을 변환하거나 연결 문자열에 Secured Cell Value 속성을 설정하여 다른 값을 지정하는 경우를 제외하고 셀에는 #N/A 값이 나타납니다.

    쿼리 결과에 셀이 표시되지 않게 하려면 차원, 차원 특성 및 차원 특성 멤버 등 표시될 수 있는 멤버를 제한해야 합니다. 자세한 내용은 차원 액세스 부여차원 데이터에 대한 사용자 지정 액세스 부여를 참조하십시오.

셀 데이터에 대한 읽기 권한 설정

데이터베이스 역할에 셀에 대한 읽기 권한이 있으면 데이터베이스 역할의 멤버가 해당 셀을 볼 수 있습니다. 이러한 셀이 데이터베이스 역할이 액세스할 수 없는 셀에서 파생된 셀인 경우에도 볼 수 있습니다.

예를 들어 SalesCost 측정값 셀에서 파생되는 Profit이라는 계산 측정값이 있다고 가정합니다. 데이터베이스 역할에 Sales 또는 Cost 측정값 셀에 대한 사용 권한이 없더라도 Profit 셀에 대한 읽기 권한이 있으면 이 측정값을 볼 수 있습니다.

[!참고] 데이터베이스 역할에 큐브 셀의 하위 집합에 대한 읽기 권한이 부여되지만 읽기 권한이 부여될 셀을 지정하는 MDX 식이 없는 경우 해당 데이터베이스 역할은 큐브의 어떤 셀에 대해서도 읽기 권한이 없습니다. 이는 Analysis Services에서 큐브 셀의 하위 집합을 확인할 때 기본적으로 허용되는 집합이 빈 집합이기 때문입니다.

차원의 멤버에 액세스 권한을 부여하려면 사용자가 Analysis Services 서버 역할의 멤버이거나 모든(관리자) 권한을 가진 Analysis Services 데이터베이스 역할의 멤버여야 합니다.

데이터베이스 역할에 셀 데이터에 대한 읽기 액세스 권한을 부여하려면

  1. SQL Server Management Studio에서 Analysis Services 인스턴스에 연결하고 개체 탐색기에서 해당 데이터베이스에 대한 역할을 확장한 다음 데이터베이스 역할을 클릭하거나 새 데이터베이스 역할을 만듭니다.

  2. 페이지 선택 창에서 큐브 셀 데이터를 클릭하고 큐브 목록에서 큐브를 선택한 후 읽기 권한 설정 확인란을 선택합니다.

    큐브 내용을 읽을 수 있습니다 상자에 아무 멤버도 입력하지 않으면 모든 큐브 셀을 볼 수 있습니다.

  3. 특정 멤버에만 액세스 권한을 부여하려면 큐브 내용을 읽을 수 있습니다 상자에 해당 큐브 셀에 대한 MDX 식을 입력합니다. 다른 모든 큐브 셀은 볼 수 없습니다.

    MDX 식을 쉽게 작성하려면 MDX 편집 옆에 있는 찾아보기 단추를 클릭한 다음 나타나는 MDX 작성기 창을 사용하여 MDX 식을 작성합니다.

    셀 데이터 권한을 설정하는 데 사용되는 MDX 식의 예는 MDX 식을 사용하여 셀 데이터 권한 설정을 참조하십시오.

셀 데이터에 대한 불확정 읽기 권한 설정

다음 조건 중 하나에 해당할 경우에만 셀에 대해 불확정 읽기 권한이 있는 데이터베이스 역할이 해당 셀을 볼 수 있습니다.

  • 불확정 읽기 권한이 있는 셀이 다른 셀에서 파생되지 않는 경우
  • 불확정 읽기 권한이 있는 셀이 다른 셀에서 파생되지만 데이터베이스 역할에 이러한 셀을 파생시키는 모든 셀에 대한 읽기 권한이 있는 경우

예를 들어 데이터베이스 역할에 Profit 셀에 대한 불확정 읽기 권한이 있다고 가정합니다. Profit 셀은 SalesCost 측정값에서 파생됩니다. 이 경우 데이터베이스 역할에 SalesCost 측정값 모두에 대한 읽기 권한이 있어야만 Profit 셀을 볼 수 있습니다. 데이터베이스 역할에 Cost 셀에 대한 불확정 읽기 권한이 있고 Cost 측정값이 다른 셀에서 파생된 경우 데이터베이스 역할은 Cost 측정값을 파생시키는 셀에 대한 읽기 권한을 갖고 있어야만 Profit 셀을 볼 수 있습니다. 따라서 불확정 읽기 권한을 사용하면 셀이 다른 셀에서 파생되고 해당 셀은 또 다른 셀에서 파생되는 불확정성 체인이 나타날 수 있습니다.

[!참고] 데이터베이스 역할에 셀에 대한 읽기 권한과 불확정 읽기 권한이 모두 있는 경우에는 셀에 대한 읽기 권한이 적용됩니다.

[!참고] 데이터베이스 역할에 큐브 셀의 하위 집합에 대한 불확정 읽기 권한이 부여되지만 불확정 읽기 권한이 부여될 셀을 지정하는 MDX 식이 없는 경우 해당 데이터베이스 역할은 큐브의 어떤 셀에 대해서도 불확정 읽기 권한이 없습니다. 이는 Analysis Services에서 큐브 셀의 하위 집합을 확인할 때 기본적으로 허용되는 집합이 빈 집합이기 때문입니다.

차원의 멤버에 액세스 권한을 부여하려면 사용자가 Analysis Services 서버 역할의 멤버이거나 모든(관리자) 권한을 가진 Analysis Services 데이터베이스 역할의 멤버여야 합니다.

데이터베이스 역할에 셀 데이터에 대한 불확정 읽기 액세스 권한을 부여하려면

  1. SQL Server Management Studio에서 Analysis Services 인스턴스에 연결하고 개체 탐색기에서 해당 데이터베이스에 대한 역할을 확장한 다음 데이터베이스 역할을 클릭하거나 새 데이터베이스 역할을 만듭니다.

  2. 페이지 선택 창에서 큐브 셀 데이터를 클릭하고 큐브 목록에서 큐브를 선택한 후 불확정 읽기 권한 설정 확인란을 선택합니다.

  3. 셀 보안 설정에 따라 셀 내용을 읽을 수 있습니다 상자에서 데이터베이스 역할에 불확정 읽기 권한을 부여할 셀을 식별하는 MDX 식을 입력합니다.

    MDX 식을 쉽게 작성하려면 MDX 편집 옆에 있는 찾아보기 단추를 클릭한 다음 나타나는 MDX 작성기 창을 사용하여 MDX 식을 작성합니다.

    셀 데이터 권한을 설정하는 데 사용되는 MDX 식의 예는 MDX 식을 사용하여 셀 데이터 권한 설정을 참조하십시오.

셀 데이터에 대한 읽기/쓰기 권한 설정

데이터베이스 역할에 셀에 대한 읽기/쓰기 권한이 있고 데이터베이스 역할의 멤버에 큐브 자체에 대한 읽기/쓰기 권한이 있으면 이 멤버는 셀을 보고 업데이트할 수 있습니다. 셀 수준에서 부여되는 사용 권한은 큐브 수준에서 부여되는 사용 권한보다 클 수 없습니다.

[!참고] 데이터베이스 역할에 큐브 셀의 하위 집합에 대한 읽기/쓰기 권한이 부여되지만 읽기/쓰기 권한이 부여될 셀을 지정하는 MDX 식이 없는 경우 해당 데이터베이스 역할은 큐브의 어떤 셀에 대해서도 읽기/쓰기 권한이 없습니다. 이는 Analysis Services에서 큐브 셀의 하위 집합을 확인할 때 기본적으로 허용되는 집합이 빈 집합이기 때문입니다.

특정 셀에 대한 액세스 권한을 부여하거나 거부하려면 사용자가 Analysis Services 서버 역할의 멤버이거나 "모든 권한(관리자)" 권한을 가진 Analysis Services 데이터베이스 역할의 멤버여야 합니다.

데이터베이스 역할에 셀 데이터에 대한 읽기/쓰기 액세스 권한을 부여하려면

  1. SQL Server Management Studio에서 Analysis Services 인스턴스에 연결하고 개체 탐색기에서 해당 데이터베이스에 대한 역할을 확장한 다음 데이터베이스 역할을 클릭하거나 새 데이터베이스 역할을 만듭니다.

  2. 페이지 선택 창에서 큐브 셀 데이터를 클릭하고 큐브 목록에서 큐브를 선택한 후 읽기/쓰기 권한 설정 확인란을 선택합니다.

  3. 큐브 내용을 읽고 쓸 수 있습니다 상자에서 데이터베이스 역할에 읽기/쓰기 권한을 부여할 셀을 식별하는 MDX 식을 입력합니다.

    MDX 식을 쉽게 작성하려면 MDX 편집 옆에 있는 찾아보기 단추를 클릭한 다음 나타나는 MDX 작성기 창을 사용하여 MDX 식을 작성합니다.

    셀 데이터 사용 권한을 설정하는 데 사용되는 MDX 식의 예는 MDX 식을 사용하여 셀 데이터 권한 설정을 참조하십시오.

참고 항목

작업

차원 액세스 부여
차원 데이터에 대한 사용자 지정 액세스 부여
마이닝 구조 및 마이닝 모델에 대한 액세스 부여
데이터 원본에 대한 액세스 부여

개념

큐브 액세스 부여

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 12월 12일

변경된 내용
  • 기본 보안 아키텍처에 대한 자세한 설명을 추가했습니다.