Tableau Server에서 대시보드 확장 프로그램 관리

대시보드 확장 프로그램은 사용자 지정 대시보드 영역에서 실행되는 웹 응용 프로그램이며 Tableau Extensions API(링크가 새 창에서 열림)를 사용하여 대시보드의 다른 부분과 상호 작용할 수 있습니다. 대시보드 확장 프로그램은 Tableau 사용자가 다른 응용 프로그램의 데이터와 직접 상호 작용할 수 있는 기능을 제공합니다.

참고: 서버에서 대시보드 확장 프로그램을 사용하도록 설정하거나 특정 확장 프로그램의 실행을 차단하려면 서버 관리자여야 합니다. 확장 프로그램을 허용 목록에 추가하고 확장 프로그램에서 액세스할 수 있는 데이터 유형을 제어하려면 서버 관리자여야 합니다. 또한 서버 관리자는 사이트의 사용자가 대시보드에서 확장 프로그램을 추가하거나 볼 때 메시지를 표시할지 여부를 구성할 수 있습니다. 확장 프로그램 보안 및 권장 배포 옵션에 대한 자세한 내용은 확장 프로그램 보안 - 배포를 위한 최상의 방법(링크가 새 창에서 열림)을 참조하십시오.

Tableau에서 대시보드 확장 프로그램을 사용하는 것에 대한 자세한 내용은 대시보드 확장 프로그램 사용(링크가 새 창에서 열림)을 참조하십시오.

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에서 이 확장 프로그램을 실행하려면 허용 목록에 확장 프로그램을 명시적으로 추가하고 전체 데이터 액세스 권한을 확장 프로그램에 부여해야 합니다.

대시보드 확장 프로그램 및 데이터 액세스 제어

서버 관리자는 서버의 모든 사이트에 대해 확장 프로그램을 허용하는 글로벌 설정을 제어할 수 있습니다. 또한 서버 관리자는 글로벌 차단 목록에 확장 프로그램(샌드박스가 적용된 확장 프로그램 포함)을 배치하여 확장 프로그램의 실행을 차단할 수 있습니다(특정 확장 프로그램 차단 참조). 기본적으로 모든 샌드박스가 적용된 확장 프로그램은 서버에서 사용하도록 설정되지만 사이트 관리자가 기본값을 재정의하여 사이트에서 샌드박스가 적용된 확장 프로그램을 금지하도록 선택할 수 있습니다.

서버에서 확장 프로그램을 사용하도록 설정하는 전역 설정 변경

  1. 서버에 대한 이 설정을 변경하려면 모든 사이트 관리 > 설정 > 확장 프로그램으로 이동합니다. 서버에 사이트가 하나만 있는 경우 사이트의 설정 페이지에 글로벌 제어가 표시됩니다.

  2. 대시보드 확장 프로그램에서 사용자가 이 서버에서 확장 프로그램을 실행하도록 허용 확인란을 선택하거나 선택 취소합니다. 이 옵션을 선택하지 않으면 확장 프로그램 실행이 허용되지 않습니다. 이 전역 설정은 각 사이트에 대한 사용자가 이 사이트에서 확장 프로그램을 실행하도록 허용 설정을 재정의합니다.

사이트의 기본 설정 변경

서버 관리자는 사이트의 확장 프로그램을 사용할지 여부와 사이트에서 샌드박스가 적용된 확장 프로그램을 허용할지 여부를 제어할 수 있습니다. 즉, 확장 프로그램이 서버에서 사용하도록 설정된 경우 기본 사이트 설정에서는 샌드박스가 적용된 확장 프로그램이 서버에서 특별히 차단되지 않는 한 해당 확장 프로그램이 사이트에서 실행되도록 허용합니다. 기본 사이트 설정에서는 사이트의 허용 목록에 나타나는 네트워크 지원 확장 프로그램을 실행하도록 허용합니다. 샌드박스가 적용된 확장 프로그램이 기본적으로 허용되지 않는 경우 샌드박스가 적용된 개별 확장 프로그램도 허용 목록에 추가할 수 있습니다.

  1. 사이트에 대한 이러한 설정을 변경하려면 설정 > 확장 프로그램으로 이동합니다.

  2. 대시보드 확장에서 다음 옵션을 구성합니다.

    • 사용자가 이 사이트에서 확장 프로그램을 실행하도록 허용
    • 서버 관리자가 특별히 차단하지 않는 한 샌드박스가 적용된 확장 프로그램을 실행하도록 허용

서버 관리자는 네트워크 지원 및 샌드박스가 적용된 확장 프로그램을 사이트의 허용 목록에 추가하거나 허용 목록에서 제거할 수 있습니다. 확장 프로그램을 허용 목록에 추가하면 전체 데이터에 대한 확장 프로그램의 액세스를 허용할지 여부를 제어할 수 있습니다. 확장 프로그램을 허용 목록에 추가하고 사용자 메시지 구성을 참조하십시오.

확장 프로그램 식별

확장 프로그램은 웹 응용 프로그램으로, URL에 연결됩니다. 이 URL을 사용하여 확장 프로그램을 테스트하고 확인할 수 있습니다. 확장 프로그램을 허용 목록에 추가하여 전체 데이터 액세스를 허용하거나 차단 목록에 추가하여 액세스를 금지할 때에도 URL을 사용할 수 있습니다.

확장 프로그램 매니페스트 파일(.trex)(확장 프로그램의 속성을 정의하는 XML 파일)이 있는 경우 <source-location> 요소에서 URL을 찾을 수 있습니다.


<source-location>
    <url>https://www.example.com/myExtension.html</url>
</source-location>

				

확장 프로그램을 대시보드에 추가한 경우 확장 프로그램 속성에서 URL을 찾을 수 있습니다. 기타 옵션 메뉴에서 정보를 클릭합니다.

정보 대화 상자에는 확장 프로그램의 이름, 확장 프로그램의 작성자, 작성자의 웹 사이트가 확장 프로그램의 URL과 함께 나열됩니다.

확장 프로그램을 허용 목록에 추가하고 사용자 메시지 구성

사이트의 허용 목록에 네트워크 지원 확장 프로그램을 추가하면 사용자가 신뢰할 수 있는 네트워크 지원 확장 프로그램을 사용할 수 있습니다. 사이트에서 샌드박스가 적용된 확장 프로그램이 기본적으로 사용하도록 설정되지 않는 경우 샌드박스가 적용된 확장 프로그램도 허용 목록에 추가할 수 있습니다.

허용 목록에서 확장 프로그램에 전체 데이터 액세스 권한을 부여할지 여부를 제어할 수 있습니다. 기본적으로 확장 프로그램을 허용 목록에 추가할 경우 해당 확장 프로그램은 요약(또는 집계) 데이터에만 액세스할 수 있습니다. 또한 확장 프로그램의 데이터 액세스 허용을 묻는 메시지를 사용자에게 표시할지 여부도 제어할 수 있습니다. 사용자에게 메시지를 표시할지 여부를 구성하려면 확장 프로그램을 허용 목록에 추가해야 합니다(예: 샌드박스가 적용된 확장 프로그램). 사용자에게 메시지를 표시하지 않는 경우 확장 프로그램을 즉시 실행할 수 있습니다.

  1. 설정 > 확장 프로그램으로 이동합니다.

  2. 특정 확장 프로그램 사용에서 확장 프로그램의 URL을 추가합니다. 확장 프로그램 식별을 참조하십시오.

  3. 확장 프로그램의 전체 데이터 액세스허용하거나 거부하도록 선택합니다.

    전체 데이터 액세스는 요약 또는 집계 데이터에 더해 뷰의 기초 데이터에 대한 액세스입니다. 전체 데이터 액세스에는 데이터 원본에 대한 정보(예: 연결 이름, 필드 및 테이블)도 포함됩니다. 대부분의 경우 확장 프로그램을 실행할 수 있도록 허용 목록에 추가하면 확장 프로그램에 필요한 경우 전체 데이터에 대한 액세스 권한도 확장 프로그램에 허용할 수 있습니다. 확장 프로그램을 허용 목록에 추가하기 전에 네트워크 지원 확장 프로그램의 보안 테스트를 수행하십시오.

  4. 사용자 메시지에 대해 표시 또는 숨기기를 선택합니다.

    확장 프로그램을 대시보드에 추가하거나 확장 프로그램이 있는 뷰와 상호 작용하는 경우 기본적으로 사용자 메시지가 표시됩니다. 이 메시지는 사용자에게 확장 프로그램에 대한 세부 정보와 확장 프로그램이 전체 데이터에 액세스하는지 여부를 알려 줍니다. 또한 확장 프로그램 실행을 허용하거나 거부하는 기능도 제공합니다. 확장 프로그램이 즉시 실행될 수 있도록 사용자에게 이 메시지를 표시하지 않을 수 있습니다.

특정 확장 프로그램 차단

기본 전역 정책에서는 모든 샌드박스가 적용된 확장 프로그램과 사이트의 허용 목록에 나타나는 네트워크 지원 확장 프로그램을 허용합니다. 서버 관리자는 서버의 차단 목록에 확장 프로그램을 추가하여 특정 확장 프로그램의 실행을 차단할 수 있습니다. 확장 프로그램이 글로벌 차단 목록에 있는 경우 사이트의 허용 목록에 있는 확장 프로그램의 모든 설정이 재정의됩니다.

  1. 서버의 차단 목록에 확장 프로그램을 추가하려면 모든 사이트 관리 > 설정 > 확장 프로그램으로 이동합니다. 단일 사이트 설치에서 차단 목록은 사이트의 확장 프로그램 설정 페이지에 있습니다.

  2. 특정 확장 프로그램 차단에서 확장 프로그램의 URL을 추가합니다. 확장 프로그램 식별을 참조하십시오.

네트워크 지원 확장 프로그램의 보안 테스트

대시보드 확장 프로그램은 Extensions 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 Extensions API는 데이터 원본의 활성 테이블 및 필드, 데이터 소스 연결의 요약 설명 및 대시보드의 기초 데이터에 액세스할 수 있는 메서드를 제공합니다. 확장 프로그램이 뷰에서 이러한 메서드 중 하나를 사용하는 경우 확장 프로그램 개발자는 확장 프로그램에 전체 데이터 사용 권한이 필요하다는 점을 매니페스트 파일(.trex)에 선언해야 합니다. 선언은 다음과 유사합니다.


<permissions>
   <permission>full data</permission>
</permissions>

Tableau는 이 선언을 사용하여 런타임 시 사용자가 이 액세스를 허용하거나 허용하지 않을 수 있는 옵션을 제공하는 메시지를 표시합니다. 매니페스트 파일에 전체 데이터 사용 권한이 선언되지 않은 확장 프로그램이 이 네 가지 메서드 중 하나를 사용하는 경우 확장 프로그램이 로드되지만 메서드 호출이 실패합니다.

확장 프로그램이 대시보드의 데이터에 액세스하는 방법과 사용되는 JavaScript 메서드에 대한 자세한 내용은 Tableau Extensions API에서 Accessing Underlying Data(링크가 새 창에서 열림)(기초 데이터 액세스)를 참조하십시오. 확장 프로그램이 데이터에 대해 찾을 수 있는 정보에 대한 이해를 높이려면 DataSources(링크가 새 창에서 열림) 샘플 대시보드 확장 프로그램(Tableau Extensions API GitHub 리포지토리(링크가 새 창에서 열림)에서 사용 가능)을 사용하여 getDataSourcesAsync() 메서드 호출 시 공개되는 데이터를 확인할 수 있습니다.

격리된 환경에서 확장 프로그램 테스트

가능한 경우 프로덕션 환경과 사용자 컴퓨터에서 격리된 환경에서 대시보드 확장 프로그램을 테스트하십시오. 예를 들어 프로덕션에 사용되지 않는 Tableau Server 버전이 실행되고 있는 가상 컴퓨터나 테스트 컴퓨터의 허용 목록에 대시보드 확장 프로그램을 추가합니다.

대시보드 확장 프로그램에서 생성된 트래픽 모니터링

네트워크 지원 대시보드 확장 프로그램을 테스트하는 경우 Fiddler(링크가 새 창에서 열림), Charles HTTP 프록시(링크가 새 창에서 열림) 또는 Wireshark(링크가 새 창에서 열림) 같은 도구를 사용하여 커넥터가 수행하는 요청과 응답을 검토합니다. 확장 프로그램이 요청하는 콘텐츠가 무엇인지를 이해할 수 있도록 합니다. 트래픽을 검사하여 확장 프로그램이 용도와 직접적인 관련이 없는 데이터나 코드를 읽지 않음을 확인해야 합니다.

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