행 수준 보안에 대한 데이터 정책 만들기

데이터 정책을 사용하여 가상 연결에 있는 하나 이상의 테이블에 행 수준 보안을 적용합니다. 데이터 정책은 데이터를 필터링하여 사용자에게 볼 권한이 있는 데이터만 표시합니다. 데이터 정책은 라이브 연결과 추출 연결에 모두 적용됩니다.

데이터 정책 정보

데이터 정책에는 세 가지 주요 구성 요소가 있습니다.

가상 연결 에디터 내 데이터 정책의 세 가지 구성 요소에 대한 예

  1. 정책이 적용되는 테이블이며 정책 테이블이라고 합니다. 이러한 테이블은 필터링되는 테이블입니다.
  2. 테이블 간의 관계(예: 자격 테이블과 팩트 테이블 간의 관계) 및 테이블 열과 정책 열 간의 관계를 정의하는 매핑된 열입니다. 정책 열은 데이터 필터링에 사용되는 열입니다.
  3. 정책 조건이며, 이는 쿼리 시간에 모든 행에 대해 평가되는 식 또는 계산입니다. 정책 조건이 TRUE인 경우 해당 행이 쿼리에 표시됩니다.

데이터 정책을 만들 때는 데이터 필터링에 사용할 수 있는 열이 필요합니다. 이 열을 정책 열이라고 합니다. 데이터는 정책 조건으로 필터링되며 일반적으로 USERNAME() 또는 FULLNAME()과 같은 사용자 함수가 사용됩니다.

정책 테이블에 필터링할 수 있는 열이 포함되는 경우 해당 열을 정책 열로 사용합니다.

정책 테이블에 이러한 열이 포함되지 않는 경우 데이터 필터링에 사용할 수 있는 열과 함께 자격 테이블을 사용합니다. 자격 테이블은 정책 테이블 필터링에 사용할 수 있는 정책 열과 정책 테이블의 열에 연관(매핑)할 수 있는 다른 열이 모두 포함된 테이블입니다(위의 데이터 정책 예제 이미지 참조).

정책 테이블의 정책 열을 사용하여 필터링

데이터를 필터링하는 가장 일반적인 방법은 필터링하려는 데이터가 있는 테이블의 열을 사용하는 것입니다. 이 열을 정책 열로 사용한 다음 해당하는 테이블 열을 정책 열에 매핑합니다.

정책 열을 사용하여 데이터를 필터링하려면 왼쪽 패널의 정책에 테이블을 추가합니다. 테이블을 추가하려면 다음 작업 중 하나를 수행합니다.

  • 테이블 이름을 두 번 클릭합니다.
  • 테이블 이름 근처의 드롭다운 화살표를 클릭하고 정책으로 테이블 관리를 선택합니다.
  • 또는 테이블을 오른쪽으로 끌어와 정책 테이블로 추가에 놓습니다.

테이블이 정책에 추가되면 왼쪽 패널의 테이블 이름 오른쪽에 정책 테이블임을 나타내는 방패 아이콘 데이터 정책 아이콘이 나타납니다.

다음으로, 열을 매핑하여 테이블의 열 이름과 정책 열 이름 간의 관계를 만듭니다. 데이터 정책 조건에서 정책 열 이름을 사용하여 사용자의 행 수준 데이터 액세스를 제어할 수 있습니다.

  1. +맵에 열 추가를 클릭하여 데이터 필터링에 사용할 하나 이상의 열을 추가합니다.
  2. 정책 열의 이름을 지정합니다. 이 이름은 정책 조건에 사용됩니다.
  3. 정책이 적용되는 각 테이블에 대해 드롭다운 메뉴를 사용하여 정책 열에 매핑되는 테이블 열을 선택합니다.
  4. 정책 조건에 사용할 정책 열의 수만큼 이 프로세스를 반복합니다.

팁: +맵에 열 추가 단추를 사용하는 대신 정책 조건 영역에 계산을 입력하기 시작하고 자동 완성을 통해 입력되는 1단계의 정책 열 정보를 사용하여 열 이름을 선택할 수 있습니다.

정책 테이블의 정책 열 사용 예

정책 테이블의 정책 열을 사용하여 데이터를 필터링하는 데이터 정책의 다이어그램

  1. Sales 테이블에 [Salesperson] 열이 있고 Region 테이블에 [SalesRep] 열이 있습니다. Salesperson과 SalesRep 데이터는 사이트에 있는 Tableau 사용자의 전체 이름과 일치합니다.
  2. Sales 및 Region 데이터를 Salesperson으로 필터링하기 위해 정책 열에 “Salesperson”이라는 이름을 지정하고 Sales 및 SalesRep 열의 Salesperson 열을 Region에서 Salesperson 정책 열로 매핑합니다.
  3. 그런 다음 두 테이블을 필터링하는 정책 조건을 작성합니다. [Salesperson] 정책 열과 FULLNAME() 사용자 함수를 사용하여 각 사용자가 본인의 데이터만 볼 수 있도록 합니다.

자격 테이블의 정책 열을 사용하여 필터링

자격 테이블은 정책 테이블에 필터링에 사용할 수 있는 열이 없는 경우 사용됩니다. 자격 테이블을 사용하여 데이터 테이블의 열을 자격 테이블의 열에 매핑합니다. 다음에 유의하십시오.

  • 자격 테이블을 가상 연결의 테이블로 포함해야 합니다. 모든 연결 또는 데이터베이스의 테이블을 다른 많은 데이터베이스에 있는 테이블을 보호하는 중앙 자격 테이블로 사용할 수 있습니다. 일부 경우 보호하는 테이블과 동일한 데이터베이스에 있는 자격 테이블은 잠재적 보안 위험이 될 수 있습니다. 직원 데이터를 노출할 가능성이 있기 때문입니다. 자격 테이블이 다른 데이터베이스에 있으면 예를 들어 다른 사용자에게 데이터베이스에 대한 액세스 권한을 부여할 때 사용 권한을 제어하기가 더 쉽습니다.
  • 가상 연결 사용자에게 자격 테이블을 표시하지 않으려면 테이블 탭에서 표시 유형 열의 설정을 전환하여 숨길 수 있습니다. 숨겨진 자격 테이블은 정책 필터링에 계속 사용할 수 있지만 비주얼리제이션 또는 통합 문서 데이터 원본에서 사용할 수 없습니다.

참고: 자격 테이블의 경우 흐름 출력(.hyper 파일)에 직접 연결하는 것은 지원되지 않습니다. 흐름 출력을 데이터베이스에 직접 써야 합니다.

자격 테이블을 사용하여 데이터를 필터링하려면:

  1. 데이터 정책을 적용할 데이터 테이블을 추가합니다. 다음 작업 중 하나를 수행합니다.
    • 테이블 이름을 두 번 클릭합니다.
    • 테이블 이름 근처의 드롭다운 화살표를 클릭하고 정책으로 테이블 관리를 선택합니다.
    • 또는 테이블을 오른쪽으로 끌어와 정책 테이블로 추가에 놓습니다.
  2. 테이블이 정책에 추가되면 왼쪽 패널의 테이블 이름 오른쪽에 정책 테이블임을 나타내는 방패 아이콘 데이터 정책 아이콘이 나타납니다.
  3. 자격 테이블을 선택한 후 다음 중 하나를 수행합니다.
    • 드롭다운 화살표를 클릭하고 자격 테이블로 사용을 선택합니다.
    • 또는 테이블을 오른쪽으로 끌어와 자격으로 추가 테이블에 놓습니다.
  4. 정책이 적용되는 각 테이블에 대해 드롭다운 메뉴를 클릭하고 열을 선택하여 정책 테이블을 자격 테이블에 매핑합니다.

자격 테이블의 정책 열 사용 예

자격 테이블의 정책 열을 사용하여 데이터를 필터링하는 데이터 정책의 다이어그램

  1. 필터링하려는 데이터에는 EMP_ID 열이 있지만 직원 이름 열은 없습니다. 그러나 EMP_ID와 직원의 FULL NAME에 대한 열이 포함된 두 번째 테이블이 있습니다. 직원 FULL NAME 열의 값은 사이트에 있는 Tableau 사용자의 전체 이름과 일치합니다.
  2. Employees 테이블을 자격 테이블로 정책에 추가한 다음 정책 테이블 열 이름 EMP_ID를 각 테이블의 자격 열 이름 EMP_ID에 매핑할 수 있습니다.
  3. 그런 다음 정책 조건에서 FULLNAME() 함수를 사용하여 Tableau Server 사용자의 전체 이름을 자격 테이블의 [FULL NAME] 열(정책 열)과 일치함으로써 각 사용자에게 본인의 데이터만 표시할 수 있습니다.

정책 조건 작성

데이터 정책을 만들 때의 마지막 단계는 정책 조건을 작성하는 것입니다. 정책 조건은 행 수준 액세스를 정의하는 데 사용되는 계산 또는 식입니다. 정책 조건은 종종 사용자 함수를 통해 사용자 또는 그룹에 대한 액세스를 제한하는 데 사용됩니다.

정책 조건을 정의합니다.

  • 데이터 정책에 필요한지 여부
  • 참 또는 거짓으로 평가해야 하는지 여부
  • 정책 조건이 참일 때 행을 표시할지 여부

정책 조건 예제

Region 열 값이 North인 행만 표시합니다.

[Region] = "North"

로그인한 사용자는 사용자 이름이 EmployeeName의 값과 일치하는 행을 볼 수 있습니다.

FULLNAME() = [EmployeeName]

관리자 그룹의 멤버는 모든 행을 볼 수 있지만 사용자는 사용자 이름이 employee_name 열의 값과 일치하는 행만 볼 수 있습니다.

ISMEMBEROF('Managers') OR USERNAME() = [employee_name]

참고: 정책 탭을 닫으면 작업이 취소되지 않습니다.

정책 조건에서 지원되는 Tableau 함수

정책 조건은 일부 Tableau 함수를 지원합니다.

  • 논리적(null 관련 제외)
  • 문자열
  • 사용자
  • 날짜
  • 숫자: MIN, MID, MAX

지원되는 함수를 보려면 가상 연결 에디터의 데이터 정책 탭에서 오른쪽의 참조 패널을 참조하십시오.

이 작업을 수행할 수 있는 사용자

데이터 정책을 만들려면 다음 조건을 충족해야 합니다.

  • 가상 연결이 연결하는 데이터베이스에 대한 자격 증명이 있어야 함
  • 서버 또는 사이트 관리자이거나 Creator여야 함

다음 단계

데이터 정책을 만든 후 다음 단계는 예상대로 작동하는지 확인하는 것입니다. 사용자로 미리 보기를 통해 행 수준 보안 테스트를 참조하십시오. 또는 가상 연결 및 데이터 정책을 다른 사용자와 공유할 준비가 된 경우 가상 연결 게시 및 사용 권한 설정을 참조하십시오.

리소스

커넥터에 대한 자세한 내용은 Tableau Desktop 및 웹 작성 도움말에서 Tableau의 계산 이해(링크가 새 창에서 열림)를 참조하십시오.

사용자 함수에 대한 자세한 내용은 Tableau Desktop 및 웹 작성 도움말에서 사용자 함수(링크가 새 창에서 열림)를 참조하십시오.

Tableau의 다른 행 수준 보안 옵션에 대한 자세한 내용은 Tableau Server 도움말에서 Tableau의 행 수준 보안 옵션에 대한 개요(링크가 새 창에서 열림)를 참조하십시오.

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!