데이터 행 수준에서 액세스 제한

Tableau Server 또는 Tableau Online에 통합 문서를 게시하여 다른 사용자와 통합 문서를 공유하는 경우 기본적으로 통합 문서에 액세스할 수 있는 모든 사용자가 뷰에 표시된 모든 데이터를 볼 수 있습니다. 서버에 로그인한 지정된 사용자가 뷰에서 볼 수 있는 데이터 "행"을 지정할 수 있는 필터 유형을 적용하여 이 동작을 재정의할 수 있습니다.

행 수준에서 데이터를 보호하기 위한 이 접근 방식은 라이브 연결이 있는 데이터 원본과 테이블이 다중 테이블로 저장되는 추출 데이터 원본에 적용됩니다. 다중 테이블을 사용한 추출 데이터 저장에 대한 자세한 내용은 (선택 사항) 다음 옵션 중 하나 이상을 구성하여 Tableau에 추출을 저장하고, 추출에 대한 필터를 정의하고, 추출의 데이터 양을 제한하는 방법을 지정합니다.추출 데이터를 저장하는 방법 결정Tableau에서 두 가지 구조(스키마), 즉 단일 테이블(비정규화된 스키마) 또는 다중 테이블(정규화된 스키마) 중 하나를 사용하여 추출의 데이터를 저장하도록 선택할 수 있습니다. 선택하는 옵션에 따라 필요한 사항이 달라집니다.단일 테이블: 추출 필터, 집계 등과 같은 추가적인 추출 속성을 사용하여 추출의 데이터 양을 제한하거나, 데이터에서 통과 함수(RAWSQL)를 사용하는 경우 단일 테이블을 선택합니다. 단일 테이블이 Tableau가 추출 데이터를 저장하는 데 사용하는 기본 구조입니다. 추출에 조인이 포함된 경우 이 옵션을 사용하면 추출이 만들어질 때 조인이 적용됩니다.다중 테이블: 추출이 하나 이상의 동일성 조인이 결합된 테이블로 구성되고 아래에 나와 있는 "다중 테이블" 옵션 사용을 위한 조건을 충족하는 경우 다중 테이블을 선택합니다. 이 옵션을 사용하는 경우 쿼리 시점에 조인이 수행됩니다.이 옵션을 사용하면 성능이 향상될 수 있으며 추출 파일의 크기를 줄일 수 있습니다. Tableau가 "다중 테이블" 옵션을 사용하도록 권장하는 방법에 대한 자세한 내용은 "다중 테이블" 옵션 사용을 위한 팁을 참조하십시오. 일부 경우 행 수준 보안을 위한 임시적인 해결책으로 이 옵션을 사용할 수도 있습니다. Tableau 사용의 행 수준 보안에 대한 자세한 내용은 데이터 행 수준에서 액세스 제한을 참조하십시오."다중 테이블" 옵션 사용을 위한 조건"다중 테이블" 옵션을 사용하여 추출을 저장하려면 추출의 데이터가 아래에 나와 있는 모든 조건을 충족해야 합니다.테이블 간의 모든 조인이 동일성(=) 조인이어야 함조인 열의 데이터 유형이 동일해야 함통과 함수(RAWSQL)가 사용되지 않아야 함증분 새로 고침이 구성되지 않아야 함추출 필터가 구성되지 않아야 함상위 N개 또는 샘플링이 구성되지 않아야 함추출을 "다중 테이블"로 저장하는 경우 다중 테이블에 데이터를 추가할 수 없습니다.참고: "단일 테이블" 옵션과 "다중 테이블" 옵션 모두 추출의 데이터가 저장되는 방식에만 영향을 줍니다. 이 옵션은 추출의 테이블이 데이터 원본 페이지에 표시되는 방식에는 영향을 주지 않습니다.예를 들어 추출이 3개 테이블로 구성되어 있다고 가정합니다. 기본 옵션인 "단일 테이블"을 사용하도록 구성된 추출(.hyper) 파일을 직접 열면 데이터 원본 페이지에 테이블 하나가 나열되는 것을 알 수 있습니다. 하지만 패키지 데이터 원본(.tdsx) 파일을 사용하는 추출을 열거나 데이터 원본(.tdsx) 파일과 해당하는 추출(.hyper) 파일을 함께 여는 경우 데이터 원본 페이지에 추출을 구성하는 3개 테이블이 모두 표시되는 것을 알 수 있습니다.추출할 데이터의 양 결정 추가를 클릭하여 필드 및 해당 값을 기반으로 추출되는 데이터의 양을 제한하는 하나 이상의 필터를 정의합니다.추출의 데이터 집계 측정값의 기본 집계를 사용하여 측정값을 집계하려면 표시된 차원에 대한 데이터 집계를 선택합니다. 데이터를 집계하면 행이 통합되며 추출 파일의 크기를 최소화하고 성능을 향상시킬 수 있습니다.데이터 집계를 선택할 때 연도, 월 등의 지정한 날짜 수준으로 날짜 롤업을 선택할 수 있습니다. 아래 예제는 선택할 수 있는 각 집계 옵션에서 데이터가 추출되는 방식을 보여줍니다.원래 데이터각 레코드가 별도의 행으로 표시됩니다. 데이터에는 7개 행이 있습니다.표시된 차원에 대한 데이터 집계(롤업 없음)동일한 날짜와 지역의 레코드가 단일 행으로 집계되었습니다. 추출에는 5개 행이 있습니다.표시된 차원에 대한 데이터 집계(다음으로 날짜 롤업: 월)날짜가 월 수준으로 롤업되었으며 동일한 지역의 레코드가 단일 행으로 집계되었습니다. 추출에는 3개 행이 있습니다.추출할 행 선택추출하려는 행 수를 선택합니다.모든 행 또는 상위 N개 행을 추출할 수 있습니다. 먼저 모든 필터와 집계가 적용된 다음 필터링 및 집계된 결과에서 해당 개수의 행이 추출됩니다. 행 수 옵션은 추출하는 데이터 원본의 유형에 따라 달라집니다.참고:일부 데이터 원본은 샘플링을 지원하지 않습니다. 따라서 데이터 추출 대화 상자에 샘플링 옵션이 표시되지 않을 수 있습니다.데이터 원본 페이지 또는 시트 탭에서 숨긴 필드는 추출에서 제외됩니다. 이 숨겨진 필드를 추출에서 제거하려면 사용되지 않은 필드 모두 숨기기 단추를 클릭합니다.을 참조하십시오.

사용자 기반 필터링 작동 방식

지난 몇 년간의 제품 집합에 대한 여러 지역의 분기별 매출 보고서를 만들었다고 가정합니다.

이 보고서를 게시할 때 각 지역 관리자가 본인의 지역과 관련된 데이터만 볼 수 있도록 하고 싶습니다. 이 경우 각 관리자에 대해 별도의 뷰를 만드는 대신 사용자의 역할과 같은 사용자의 특성을 기반으로 데이터에 대한 액세스를 제한하는 사용자 필터를 적용할 수 있습니다.

이 방식으로 데이터에 대한 액세스를 제한하는 것을 행 수준 보안(RLS)이라고 합니다. Tableau는 다음과 같은 행 수준 보안 방식을 제공합니다.

  • 사용자 필터를 만들고 수동으로 사용자를 값에 매핑.

    이 방법은 간편하지만 유지 관리 부담이 크고 보안이 취약합니다. 또한 통합 문서별로 수행해야 하므로 사용자 기반이 변경되면 필터를 업데이트하고 데이터 원본을 다시 게시해야 합니다.

  • 데이터의 보안 필드를 사용하여 동적 필터 만들기.

    이 방법을 사용하여 사용자를 데이터 값에 매핑하는 프로세스를 자동화하는 계산된 필드를 만듭니다. 이 방법을 사용하려면 기초 데이터에 필터링에 사용할 보안 정보가 포함되어 있어야 합니다.

    이렇게 하는 가장 일반적인 방법은 이 정보가 포함된 참조(“look-up”, "entitlements" 또는 "security") 테이블을 사용하는 것입니다. 예를 들어 감독관만 볼 수 있도록 뷰를 필터링하려면 기초 데이터에 사용자 이름이 포함되도록 설정하고 각 사용자의 역할을 지정해야 합니다.

    필터링은 데이터 수준에서 정의되고 계산된 필드에 의해 자동화되므로 이 방법이 수동으로 사용자를 데이터 값에 매핑하는 것보다 훨씬 안전합니다.

데이터 원본에 사용자 필터 추가

이전 섹션의 두 가지 방법에서는 통합 문서에 내장된 데이터에 필터를 추가하는 방법에 대해 설명합니다. 여러 통합 문서가 동일한 데이터에 연결한다면 각 통합 문서에서 필터를 만드는 대신 데이터 원본을 필터링하고 게시한 통합 문서를 해당 데이터 원본에 연결할 수 있습니다.

필터링된 데이터 원본에 연결하는 통합 문서는 서버에 로그인한 사용자가 볼 수 있도록 허용된 데이터만 표시합니다. 또한 모든 연결된 통합 문서는 새로 고쳐진 데이터를 표시합니다.

추출 및 사용자 필터가 포함된 라이브 연결

일반적으로 위에 설명된 방법 중 하나를 사용할 경우 추출을 포함하는 RLS는 라이브 연결을 사용하는 데이터 원본을 포함하는 RLS보다 빠르게 만들 수 있으며 더 나은 성능을 제공합니다.

추출 데이터 원본을 포함하는 RLS에 대한 요구 사항

앞서 언급했듯이 추출을 포함하는 RLS를 사용하기 위한 첫 번째 요구 사항은 추출의 데이터를 다중 테이블을 사용하여 저장해야 한다는 것입니다. (선택 사항) 다음 옵션 중 하나 이상을 구성하여 Tableau에 추출을 저장하고, 추출에 대한 필터를 정의하고, 추출의 데이터 양을 제한하는 방법을 지정합니다.추출 데이터를 저장하는 방법 결정Tableau에서 두 가지 구조(스키마), 즉 단일 테이블(비정규화된 스키마) 또는 다중 테이블(정규화된 스키마) 중 하나를 사용하여 추출의 데이터를 저장하도록 선택할 수 있습니다. 선택하는 옵션에 따라 필요한 사항이 달라집니다.단일 테이블: 추출 필터, 집계 등과 같은 추가적인 추출 속성을 사용하여 추출의 데이터 양을 제한하거나, 데이터에서 통과 함수(RAWSQL)를 사용하는 경우 단일 테이블을 선택합니다. 단일 테이블이 Tableau가 추출 데이터를 저장하는 데 사용하는 기본 구조입니다. 추출에 조인이 포함된 경우 이 옵션을 사용하면 추출이 만들어질 때 조인이 적용됩니다.다중 테이블: 추출이 하나 이상의 동일성 조인이 결합된 테이블로 구성되고 아래에 나와 있는 "다중 테이블" 옵션 사용을 위한 조건을 충족하는 경우 다중 테이블을 선택합니다. 이 옵션을 사용하는 경우 쿼리 시점에 조인이 수행됩니다.이 옵션을 사용하면 성능이 향상될 수 있으며 추출 파일의 크기를 줄일 수 있습니다. Tableau가 "다중 테이블" 옵션을 사용하도록 권장하는 방법에 대한 자세한 내용은 "다중 테이블" 옵션 사용을 위한 팁을 참조하십시오. 일부 경우 행 수준 보안을 위한 임시적인 해결책으로 이 옵션을 사용할 수도 있습니다. Tableau 사용의 행 수준 보안에 대한 자세한 내용은 데이터 행 수준에서 액세스 제한을 참조하십시오."다중 테이블" 옵션 사용을 위한 조건"다중 테이블" 옵션을 사용하여 추출을 저장하려면 추출의 데이터가 아래에 나와 있는 모든 조건을 충족해야 합니다.테이블 간의 모든 조인이 동일성(=) 조인이어야 함조인 열의 데이터 유형이 동일해야 함통과 함수(RAWSQL)가 사용되지 않아야 함증분 새로 고침이 구성되지 않아야 함추출 필터가 구성되지 않아야 함상위 N개 또는 샘플링이 구성되지 않아야 함추출을 "다중 테이블"로 저장하는 경우 다중 테이블에 데이터를 추가할 수 없습니다.참고: "단일 테이블" 옵션과 "다중 테이블" 옵션 모두 추출의 데이터가 저장되는 방식에만 영향을 줍니다. 이 옵션은 추출의 테이블이 데이터 원본 페이지에 표시되는 방식에는 영향을 주지 않습니다.예를 들어 추출이 3개 테이블로 구성되어 있다고 가정합니다. 기본 옵션인 "단일 테이블"을 사용하도록 구성된 추출(.hyper) 파일을 직접 열면 데이터 원본 페이지에 테이블 하나가 나열되는 것을 알 수 있습니다. 하지만 패키지 데이터 원본(.tdsx) 파일을 사용하는 추출을 열거나 데이터 원본(.tdsx) 파일과 해당하는 추출(.hyper) 파일을 함께 여는 경우 데이터 원본 페이지에 추출을 구성하는 3개 테이블이 모두 표시되는 것을 알 수 있습니다.추출할 데이터의 양 결정 추가를 클릭하여 필드 및 해당 값을 기반으로 추출되는 데이터의 양을 제한하는 하나 이상의 필터를 정의합니다.추출의 데이터 집계 측정값의 기본 집계를 사용하여 측정값을 집계하려면 표시된 차원에 대한 데이터 집계를 선택합니다. 데이터를 집계하면 행이 통합되며 추출 파일의 크기를 최소화하고 성능을 향상시킬 수 있습니다.데이터 집계를 선택할 때 연도, 월 등의 지정한 날짜 수준으로 날짜 롤업을 선택할 수 있습니다. 아래 예제는 선택할 수 있는 각 집계 옵션에서 데이터가 추출되는 방식을 보여줍니다.원래 데이터각 레코드가 별도의 행으로 표시됩니다. 데이터에는 7개 행이 있습니다.표시된 차원에 대한 데이터 집계(롤업 없음)동일한 날짜와 지역의 레코드가 단일 행으로 집계되었습니다. 추출에는 5개 행이 있습니다.표시된 차원에 대한 데이터 집계(다음으로 날짜 롤업: 월)날짜가 월 수준으로 롤업되었으며 동일한 지역의 레코드가 단일 행으로 집계되었습니다. 추출에는 3개 행이 있습니다.추출할 행 선택추출하려는 행 수를 선택합니다.모든 행 또는 상위 N개 행을 추출할 수 있습니다. 먼저 모든 필터와 집계가 적용된 다음 필터링 및 집계된 결과에서 해당 개수의 행이 추출됩니다. 행 수 옵션은 추출하는 데이터 원본의 유형에 따라 달라집니다.참고:일부 데이터 원본은 샘플링을 지원하지 않습니다. 따라서 데이터 추출 대화 상자에 샘플링 옵션이 표시되지 않을 수 있습니다.데이터 원본 페이지 또는 시트 탭에서 숨긴 필드는 추출에서 제외됩니다. 이 숨겨진 필드를 추출에서 제거하려면 사용되지 않은 필드 모두 숨기기 단추를 클릭합니다.의 단계에 따라 다중 테이블을 사용하여 데이터를 저장하도록 추출을 구성할 수 있습니다.

위의 요구 사항 외에도 추출을 포함하는 RLS를 사용하려는 경우 몇 가지 추가 고려 사항이 있습니다. 다중 테이블을 사용하여 저장된 추출 데이터는 추출 필터 및 추출의 데이터 양을 줄일 수 있는 몇 가지 다른 기능을 지원하지 않으므로 다음 제안 사항 중 하나를 사용하는 것이 좋습니다.

  • 사용자 지정 SQL을 사용하여 데이터에 연결

  • 적절한 수준의 필터링이 이미 있는 데이터베이스 뷰에 연결

이러한 제안 사항에 대한 자세한 내용은 "다중 테이블" 옵션 사용 시 대체 필터링 제안 사항을 참조하십시오.

추출 데이터 원본을 포함하는 RLS에 대한 권장 사례

추출을 포함하는 RLS를 효과적으로 수행하려면 추출의 테이블(또는 데이터베이스 뷰나 사용자 지정 SQL 쿼리)의 수를 두 개로 유지하는 것이 좋습니다. 즉, 추출의 테이블을 다음과 같은 유형의 테이블로 구성하는 것이 좋습니다.

  • 데이터 테이블 — 표시하려는 모든 데이터를 포함하는 "개체" 테이블입니다.

  • 참조 테이블 — 사용자 정보 및 사용자가 속한 보안 그룹을 포함하는 "조회" 또는 "자격" 테이블입니다.

추출의 테이블을 이러한 두 테이블로 최소화하면 Tableau가 수행해야 하는 유일한 조인이 이 두 테이블 사이에서 실행되므로 데이터 중복 또는 "조인 폭발"을 방지할 수 있습니다.

RLS 및 이전 버전의 Tableau 정보

이전에는 Tableau가 행 중복 및 성능과 관련된 문제 때문에 추출을 포함하는 RLS 워크플로우를 지원할 수 없었습니다. 궁극적으로 이러한 문제는 데이터를 단일 테이블로만 저장하고 쿼리할 수 있는 추출에서 파생되었습니다. 하지만 Tableau 2018.3부터는 다중 테이블을 사용하여 추출의 데이터를 저장하도록 선택할 수 있으므로 이전에 라이브 연결을 포함하는 데이터 원본을 사용하여 수행한 것처럼 추출을 포함하는 RLS에 대한 워크플로우를 사용하도록 설정할 수 있습니다.

Tableau의 추출을 포함하는 RLS에 대한 포괄적인 설명은 이 분야에 대한 풍부한 경험을 가진 Tableau 영업 컨설턴트가 관리하는 블로그를 참조하십시오.

고지 사항: 이러한 링크를 클릭하면 Tableau.com 외부로 이동합니다. Tableau는 외부 웹 사이트 링크의 정확성 및 관련성이 유지되도록 항상 최선을 다하지만 외부 콘텐츠에 대해 책임을 지지 않으며 지원 서비스를 제공하지 않습니다.

참고 항목

이 섹션의 다른 문서

의견을 주셔서 감사합니다! 피드백을 제출하는 동안 오류가 발생했습니다. 다시 시도하거나 메시지를 보내주십시오.