Tableau Server에서 대시보드 및 비주얼리제이션 확장 프로그램 관리
대시보드 확장 프로그램은 사용자 지정 대시보드 영역에서 실행되는 웹 응용 프로그램이며 Tableau 확장 프로그램 API(링크가 새 창에서 열림)를 사용하여 대시보드의 다른 부분과 상호 작용할 수 있습니다. 대시보드 확장 프로그램은 Tableau 사용자가 다른 응용 프로그램의 데이터와 직접 상호 작용할 수 있는 기능을 제공합니다. 대시보드 확장 프로그램과 마찬가지로 비주얼리제이션 확장 프로그램은 개발자가 Tableau 확장 프로그램 API를 사용하여 새로운 비주얼리제이션 유형을 만들 수 있게 해주는 웹 응용 프로그램입니다. Tableau 사용자는 워크시트의 마크 카드를 통해 비주얼리제이션 확장 프로그램에 액세스할 수 있습니다.
참고: 서버에서 대시보드 확장 프로그램 및 비주얼리제이션 확장 프로그램을 사용하도록 설정하거나 특정 확장 프로그램의 실행을 차단하려면 서버 관리자여야 합니다. 확장 프로그램을 허용 목록에 추가하고 확장 프로그램에서 액세스할 수 있는 데이터 유형을 제어하려면 서버 관리자여야 합니다. 또한 서버 관리자는 사이트의 사용자가 확장 프로그램을 추가하거나 볼 때 메시지를 표시할지 여부를 구성할 수 있습니다. 확장 프로그램 보안 및 권장 배포 옵션에 대한 자세한 내용은 확장 프로그램 보안 - 배포를 위한 최상의 방법(링크가 새 창에서 열림)을 참조하십시오.
Tableau에서 대시보드 확장 프로그램을 사용하는 것에 대한 자세한 내용은 대시보드 확장 프로그램 사용을 참조하십시오.
비주얼리제이션 확장 프로그램 사용에 대한 자세한 내용은 워크시트에 비주얼리제이션 확장 프로그램 추가를 참조하십시오.
Tableau Cloud를 사용하려고 하십니까? Tableau Cloud에서 대시보드 확장 프로그램 관리(링크가 새 창에서 열림)를 참조하십시오. (링크가 새 창에서 열림)
Tableau Server에서 확장 프로그램을 실행하기 전에
Tableau는 확장 프로그램을 호스팅하는 다음의 두 가지 방법을 지원합니다.
- 네트워크 지원 확장: 로컬 네트워크 내부 또는 외부에 위치한 웹 서버에서 호스팅됩니다. 네트워크 지원 확장 프로그램은 웹에 대한 전체 액세스 권한을 갖습니다.
- 샌드박스형 확장 프로그램: 웹에서 다른 리소스 또는 서비스에 액세스하지 않고 보호된 환경에서 실행됩니다.
참고: 버전 2021.1.0부터 Tableau는 Einstein Discovery 대시보드 확장 프로그램을 통해 Einstein Discovery 통합을 지원합니다. 이 확장 프로그램은 Salesforce.com의 데이터에 액세스할 수 있고 기본적으로 허용되는 특수한 확장 프로그램입니다. 네트워크 지원 확장 프로그램 또는 샌드박스형 확장 프로그램으로 간주되지 않습니다. Einstein Discovery 통합에 대한 자세한 내용은 Tableau Server 릴리스 정보(링크가 새 창에서 열림)를 참조하십시오.
샌드박스형 확장 프로그램은 Tableau가 호스팅하며 CSP(콘텐츠 보안 정책)와 같은 W3C 표준을 채택하여 확장 프로그램이 호스팅하는 Tableau Server 외부에서 네트워크 호출을 수행하지 못하게 합니다. 샌드박스형 확장 프로그램은 대시보드에서 데이터를 쿼리할 수 있지만 해당 데이터를 샌드박스 외부에 있는 위치로 전송할 수 없습니다. 샌드박스형 확장 프로그램은 Tableau 2019.4 이상에서 지원됩니다. 기본적으로 샌드박스형 확장 프로그램은 사이트가 확장 프로그램을 사용하도록 설정된 경우에 실행하도록 허용됩니다.
네트워크 지원 확장 프로그램은 웹 응용 프로그램이며 웹 서버로 설정된 모든 컴퓨터에서 실행될 수 있습니다. 여기에는 로컬 컴퓨터, 도메인의 컴퓨터 및 타사 웹 사이트가 포함됩니다. 네트워크 지원 확장 프로그램은 타사 사이트에서 호스팅될 수 있고 통합 문서의 데이터에 액세스할 수 있으므로 신뢰하는 확장 프로그램만 허용해야 합니다. 네트워크 지원 확장 프로그램의 보안 테스트를 참조하십시오.
보안을 위해 Tableau Server에서 확장 프로그램에 대한 설정을 사용하여 실행이 허용된 확장 프로그램을 제어하고 제한합니다.
기본적으로 샌드박스형 확장 프로그램은 사이트가 확장 프로그램을 사용하도록 설정된 경우에 실행하도록 허용됩니다.
기본적으로 허용 목록에 명시적으로 추가되지 않으면 네트워크 지원 확장 프로그램이 허용되지 않습니다.
기본적으로 데이터를 보내고 받을 때 암호화된 채널의 사용을 보장하는 HTTPS 프로토콜을 사용하는 확장 프로그램만 허용됩니다(
http://localhost
는 유일하게 제외됨).네트워크 지원 확장 프로그램에 전체 데이터(기초 데이터에 대한 액세스)가 필요한 경우 Tableau Server에서 이 확장 프로그램을 실행하려면 먼저 허용 목록에 확장 프로그램을 명시적으로 추가하고 전체 데이터 액세스 권한을 확장 프로그램에 부여해야 합니다.
확장 프로그램 및 데이터 액세스 제어
서버 관리자는 서버의 모든 사이트에 대해 확장 프로그램을 허용하는 글로벌 설정을 제어할 수 있습니다. 또한 서버 관리자는 글로벌 차단 목록에 확장 프로그램(샌드박스형 확장 프로그램 포함)을 배치하여 확장 프로그램의 실행을 차단할 수 있습니다(특정 확장 프로그램 차단 참조). 기본적으로 모든 샌드박스형 확장 프로그램은 서버에서 사용하도록 설정되지만 사이트 관리자가 기본값을 재정의하여 사이트에서 샌드박스형 확장 프로그램을 금지하도록 선택할 수 있습니다.
서버에서 확장 프로그램을 사용하도록 설정하는 전역 설정 변경
서버에 대한 이 설정을 변경하려면 모든 사이트 관리 > 설정 > 확장 프로그램으로 이동합니다. 서버에 사이트가 하나만 있는 경우 사이트의 설정 페이지에 글로벌 제어가 표시됩니다.
대시보드 및 비주얼리제이션 확장 프로그램에서 사용자가 이 서버에서 확장 프로그램을 실행하도록 허용 확인란을 선택하거나 선택 취소합니다. 이 옵션을 선택하지 않으면 확장 프로그램 실행이 허용되지 않습니다. 이 전역 설정은 각 사이트에 대한 사용자가 이 사이트에서 확장 프로그램을 실행하도록 허용 설정을 재정의합니다.
사이트의 기본 설정 변경
서버 관리자는 사이트의 확장 프로그램을 사용할지 여부와 사이트에서 샌드박스형 확장 프로그램을 허용할지 여부를 제어할 수 있습니다. 즉, 확장 프로그램이 서버에서 사용하도록 설정된 경우 기본 사이트 설정에서는 샌드박스형 확장 프로그램이 서버에서 특별히 차단되지 않는 한 해당 확장 프로그램이 사이트에서 실행되도록 허용합니다. 기본 사이트 설정에서는 사이트의 허용 목록에 나타나는 네트워크 지원 확장 프로그램을 실행하도록 허용합니다. 샌드박스형 확장 프로그램이 기본적으로 허용되지 않는 경우 개별 샌드박스형 확장 프로그램도 허용 목록에 추가할 수 있습니다.
사이트에 대한 이러한 설정을 변경하려면 설정 > 확장 프로그램으로 이동합니다.
대시보드 및 비주얼리제이션 확장 프로그램에서 다음 옵션을 구성합니다.
- 사용자가 이 사이트에서 확장 프로그램을 실행하도록 허용
- 서버 관리자가 특별히 차단하지 않는 한 샌드박스형 확장 프로그램을 실행하도록 허용
서버 관리자는 네트워크 지원 및 샌드박스형 확장 프로그램을 사이트의 허용 목록에 추가하거나 허용 목록에서 제거할 수 있습니다. 확장 프로그램을 허용 목록에 추가하면 전체 데이터에 대한 확장 프로그램의 액세스를 허용할지 여부를 제어할 수 있습니다. 확장 프로그램을 허용 목록에 추가하고 사용자 메시지 구성을 참조하십시오.
확장 프로그램의 URL 식별
확장 프로그램은 웹 응용 프로그램으로, URL에 연결됩니다. 이 URL을 사용하여 확장 프로그램을 테스트하고 확인할 수 있습니다. 확장 프로그램을 허용 목록에 추가하여 전체 데이터 액세스를 허용하거나 차단 목록에 추가하여 액세스를 금지할 때에도 URL을 사용할 수 있습니다.
매니페스트 파일 사용
확장 프로그램 매니페스트 파일(.trex
)(확장 프로그램의 속성을 정의하는 XML 파일)이 있는 경우 <source-location>
요소에서 URL을 찾을 수 있습니다.
<source-location>
<url>https://www.example.com/myExtension.html</url>
</source-location>
Tableau Exchange 사용
Tableau Exchange에서 확장 프로그램을 추가하거나 다운로드한 경우 Exchange에서 확장 프로그램의 URL을 찾을 수 있습니다. 확장 프로그램 타일을 열고 기술 사양 아래에서 호스팅되는 위치 아래의 URL을 찾으십시오.
정보 대화 상자를 사용하여 대시보드 확장 프로그램 식별
확장 프로그램을 대시보드에 추가한 경우 확장 프로그램 속성에서 URL을 찾을 수 있습니다. 기타 옵션 메뉴에서 정보를 클릭합니다.
정보 대화 상자에는 확장 프로그램의 이름, 작성자, 작성자의 웹 사이트 및 확장 프로그램의 URL이 나열됩니다.
확장 프로그램을 허용 목록에 추가하고 사용자 메시지 구성
사이트의 허용 목록에 네트워크 지원 확장 프로그램을 추가하면 사용자가 신뢰할 수 있는 네트워크 지원 확장 프로그램을 사용할 수 있습니다. 사이트에서 샌드박스형 확장 프로그램이 기본적으로 사용하도록 설정되지 않는 경우 샌드박스형 확장 프로그램도 허용 목록에 추가할 수 있습니다.
허용 목록에서 확장 프로그램에 전체 데이터 액세스 권한을 부여할지 여부를 제어할 수 있습니다. 기본적으로 확장 프로그램을 허용 목록에 추가할 경우 해당 확장 프로그램은 요약(또는 집계) 데이터에만 액세스할 수 있습니다. 또한 확장 프로그램의 데이터 액세스 허용을 묻는 메시지를 사용자에게 표시할지 여부도 제어할 수 있습니다. 사용자에게 메시지를 표시할지를 구성하려면 확장 프로그램을 허용 목록에 추가해야 합니다(예: 샌드박스형 확장 프로그램). 사용자에게 메시지를 표시하지 않는 경우 확장 프로그램을 즉시 실행할 수 있습니다.
설정 > 확장 프로그램으로 이동합니다.
특정 확장 프로그램 사용에서 확장 프로그램의 URL을 추가합니다. 확장 프로그램의 URL 식별을 참조하십시오.
팁: 마침표와 별표(
.*
)를 URL에 와일드카드로 사용하여 특정 도메인이나 위치의 모든 확장 프로그램을 허용할 수 있습니다. 예를 들어 example.com 아래 도메인에서 포트 8080을 사용하는 모든 확장 프로그램을 허용하려면https://example.com:8080/.*
URL을 추가합니다. 자세한 내용은 허용 목록 URL에 정규식 사용을 참조하십시오.확장 프로그램의 전체 데이터 액세스를 허용하거나 거부하도록 선택합니다.
전체 데이터 액세스는 요약 또는 집계 데이터에 더해 뷰의 기초 데이터에 대한 액세스입니다. 전체 데이터 액세스에는 데이터 원본에 대한 정보(예: 연결 이름, 필드 및 테이블)도 포함됩니다. 일반적으로 확장 프로그램을 허용 목록에 추가하면 확장 프로그램에 필요한 경우 전체 데이터에 대한 액세스 권한도 확장 프로그램에 허용할 수 있습니다. 확장 프로그램을 허용 목록에 추가하기 전에 네트워크 지원 확장 프로그램의 보안 테스트를 수행하십시오.
사용자 메시지에 대해 표시 또는 숨기기를 선택합니다.
대시보드 확장 프로그램을 대시보드에 추가하거나 비주얼리제이션 확장 프로그램을 워크시트에 추가하거나 확장 프로그램이 있는 뷰와 상호 작용하는 경우 기본적으로 사용자에게 메시지가 표시됩니다. 이 메시지는 사용자에게 확장 프로그램에 대한 세부 정보와 확장 프로그램이 전체 데이터에 액세스하는지 여부를 알려 줍니다. 또한 확장 프로그램 실행을 허용하거나 거부하는 기능도 제공합니다. 확장 프로그램이 즉시 실행될 수 있도록 사용자에게 이 메시지를 표시하지 않을 수 있습니다.
특정 확장 프로그램 차단
기본 전역 정책에서는 모든 샌드박스형 확장 프로그램과 사이트의 허용 목록에 나타나는 네트워크 지원 확장 프로그램을 허용합니다. 서버 관리자는 서버의 차단 목록에 확장 프로그램을 추가하여 특정 확장 프로그램의 실행을 차단할 수 있습니다. 확장 프로그램이 글로벌 차단 목록에 있는 경우 사이트의 허용 목록에 있는 확장 프로그램의 모든 설정이 재정의됩니다.
서버의 차단 목록에 확장 프로그램을 추가하려면 모든 사이트 관리 > 설정 > 확장 프로그램으로 이동합니다. 단일 사이트 설치에서 차단 목록은 사이트의 확장 프로그램 설정 페이지에 있습니다.
특정 확장 프로그램 차단에서 확장 프로그램의 URL을 추가합니다. 확장 프로그램의 URL 식별을 참조하십시오.
허용 목록 URL에 정규식 사용
일반적으로 허용 목록에 확장 프로그램을 추가할 때는 해당 확장 프로그램의 구체적인 URL을 사용해야 합니다. 그러나 동일한 도메인 및 위치에서 호스팅되는 여러 확장 프로그램을 허용하려는 경우가 있습니다. 이 경우 URL에 와일드카드를 사용하는 것이 편리합니다. 확장 프로그램 설정은 정규식 사용을 지원합니다.
정규식 | 설명 |
. | 마침표(.)는 아무 문자를 일치시키는 데 사용할 수 있는 와일드 카드입니다. URL에 와일드카드가 아닌 마침표(.)를 지정해야 하는 경우 백슬래시(\. )로 문자를 이스케이프해야 합니다. |
* | 별표(*)는 하나 이상의 선행 문자를 지정하는 한정자입니다. |
와일드카드를 사용할 경우 허용 목록을 너무 포괄적으로 설정하여 액세스 권한이 없어야 하는 확장 프로그램에 대한 액세스를 실수로 허용하지 않도록 주의하십시오.
다음 표에서는 URL에 정규식을 사용하는 몇 가지 예를 보여줍니다. 참고로, 이 예에는 프로토콜과 확장 프로그램의 전체 URL이 표시되지 않습니다. HTTPS 프로토콜을 사용하는 확장 프로그램만 허용됩니다(http://localhost는 예외).
지정할 항목... | 예 | 지정 내용 |
도메인 범위 | .*\.example.com | example.com 아래의 모든 하위 도메인 |
모든 포트 | example.com:.* | example.com의 모든 포트에서 확장 프로그램의 액세스가 허용됩니다. |
도메인, 포트 및 경로 아래의 모든 확장 프로그램 | example.com:8080/xyz/.* | 포트 8080을 사용하고 xyz에 있는 example.com 도메인 아래의 모든 확장 프로그램은 액세스가 허용됩니다. |
특정 도메인 범위의 모든 포트 | .*\.example.com:.* | example.com 아래의 모든 하위 도메인에 있는 모든 포트에서 확장 프로그램에 대한 액세스를 허용합니다. |
패턴과 일치하는 도메인 및 경로 아래의 모든 확장 프로그램 | example.com/t.c/.* | example.com에서 t.c 패턴과 일치하는 폴더 아래에서 실행되는 확장 프로그램에 대한 액세스를 허용합니다. 예를 들어 tic, tac, toc가 있습니다. |
네트워크 지원 확장 프로그램의 보안 테스트
대시보드및 비주얼리제이션 확장 프로그램은 확장 프로그램 API를 사용하여 Tableau의 데이터와 상호 작용하는 웹 응용 프로그램입니다. 네트워크 지원 확장 프로그램은 도메인 내부 또는 외부에 있는 웹 서버에서 호스팅할 수 있으며 네트워크 호출을 수행하고 인터넷에 있는 리소스에 액세스할 수 있습니다. 잠재적 취약성(예: 사이트 간 스크립팅)으로 인해 네트워크 지원 확장 프로그램을 Tableau Desktop에서 사용하기 전과 Tableau Server에서 허용하기 전에 해당 확장 프로그램을 테스트하고 검증해야 합니다.
원본 파일 검토
대시보드 및 비주얼리제이션 확장 프로그램은 웹 응용 프로그램이며 HTML, CSS 및 JavaScript 파일과 확장 프로그램의 속성을 정의하는 XML 매니페스트 파일(*.trex)이 포함됩니다. 많은 경우 확장 프로그램의 코드는 GitHub에서 공개적으로 제공되며 GitHub에서 검토하거나 다운로드할 수 있습니다. 매니페스트 파일(*.trex
)에서 확장 프로그램이 호스팅되는 위치를 나타내는 원본 위치 또는 URL, 작성자 이름과 지원을 문의할 수 있는 작성자 또는 회사의 웹 사이트를 확인할 수 있습니다. <source-location>
요소는 URL을 지정하고, <author>
요소는 지원을 문의할 수 있는 조직의 이름 및 웹 사이트(website="SUPPORT_URL"
)를 지정합니다. 웹 사이트는 사용자가 확장 프로그램의 정보 대화 상자에서 볼 수 있는 지원 받기 링크입니다.
많은 확장 프로그램이 외부 jQuery 라이브러리 같은 JavaScript 라이브러리나 타사의 API 라이브러리를 참조합니다. 외부 라이브러리의 URL이 라이브러리의 신뢰할 수 있는 위치를 가리키는지 확인합니다. 예를 들어 커넥터가 jQuery 라이브러리를 참조하는 경우 라이브러리가 표준적이고 안전한 사이트에 있는지 확인하십시오.
모든 확장 프로그램은 HTTPS 프로토콜(https://
)을 사용하여 호스팅되어야 합니다. 확장 프로그램의 원본 파일을 검사하여 외부 라이브러리에 대한 모든 참조에도 HTTPS가 사용되거나 확장 프로그램과 동일한 웹 사이트에서 호스팅되는지 확인해야 합니다. HTTPS 요구 사항의 유일한 예외는 확장 프로그램이 Tableau와 동일한 컴퓨터에서 호스팅되는 경우입니다(http://localhost
).
코드의 작동 방식을 최대한 파악해야 합니다. 특히, 코드가 외부 사이트에 대한 요청을 구성하는 방식과 요청에서 전송되는 정보의 종류를 파악해 보십시오. 특히, 사용자가 제공하는 데이터가 검증되었는지 여부를 확인하여 사이트 간 스크립팅을 차단하십시오.
데이터 액세스 이해
Tableau 확장 프로그램 API는 데이터 원본의 활성 테이블 및 필드, 데이터 소스 연결의 요약 설명 및 워크시트의 기초 데이터에 액세스할 수 있는 메서드를 제공합니다. 확장 프로그램이 뷰에서 이러한 메서드 중 하나를 사용하는 경우 확장 프로그램 개발자는 확장 프로그램에 전체 데이터 사용 권한이 필요하다는 점을 매니페스트 파일(.trex
)에 선언해야 합니다. 선언은 다음과 유사합니다.
<permissions>
<permission>full data</permission>
</permissions>
Tableau는 이 선언을 사용하여 런타임 시 사용자가 이 액세스를 허용할 수 있는 옵션을 제공하는 메시지를 표시합니다. 매니페스트 파일에 전체 데이터 사용 권한이 선언되지 않은 확장 프로그램이 이러한 메서드 중 하나를 사용하는 경우 확장 프로그램이 로드되지만 메서드 호출이 실패합니다.
확장 프로그램이 대시보드의 데이터에 액세스하는 방법과 사용되는 JavaScript 메서드에 대한 자세한 내용은 Tableau 확장 프로그램 API에서 기초 데이터 액세스(영문)(링크가 새 창에서 열림)를 참조하십시오. 확장 프로그램이 데이터에 대해 찾을 수 있는 정보에 대한 이해를 높이려면 DataSources(링크가 새 창에서 열림) 샘플 대시보드 확장 프로그램(Tableau 확장 프로그램 API GitHub 리포지토리(링크가 새 창에서 열림)에서 사용 가능)을 사용하여 getDataSourcesAsync()
메서드 호출 시 공개되는 데이터를 확인할 수 있습니다.
격리된 환경에서 확장 프로그램 테스트
가능한 경우 프로덕션 환경과 사용자 컴퓨터에서 격리된 환경에서 확장 프로그램을 테스트하십시오. 예를 들어 프로덕션에 사용되지 않는 Tableau Server 버전이 실행되고 있는 가상 컴퓨터나 테스트 컴퓨터의 허용 목록에 대시보드 또는 비주얼리제이션 확장 프로그램을 추가합니다.
대시보드 확장 프로그램에서 생성된 트래픽 모니터링
네트워크 지원 확장 프로그램을 테스트하는 경우 Fiddler(링크가 새 창에서 열림), Charles HTTP 프록시(링크가 새 창에서 열림) 또는 Wireshark(링크가 새 창에서 열림) 같은 도구를 사용하여 확장 프로그램이 수행하는 요청과 응답을 검토합니다. 확장 프로그램이 요청하는 콘텐츠가 무엇인지를 이해할 수 있도록 합니다. 트래픽을 검사하여 확장 프로그램이 용도와 직접적인 관련이 없는 데이터나 코드를 읽지 않음을 확인해야 합니다.