> ## Content Index
> Fetch the complete content index at: https://kr.vizney.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# 태블로 데이터 앱(Tableau Data Apps): AI가 만들고 태블로가 호스팅하는 맞춤형 분석 앱
- URL: https://kr.vizney.com/what-is-tableau-data-apps/
- Published: 2026-11-07T10:54:58.000Z
- Updated: 2026-11-07T11:06:42.000Z
- Author: 황예환
- Tags: Knowledge Base

태블로 데이터 앱(Tableau Data Apps)은 코드로 만든 분석용 웹 앱을 통합 문서에 담아 Tableau가 호스팅하는 기능입니다. 앱은 게시된 데이터 원본을 보는 사람의 권한으로 실시간 조회합니다. Tableau는 2026년 11월 3일 [공식 블로그](https://www.tableau.com/blog/what-are-tableau-data-apps?ref=kr.vizney.com)에서 베타를 발표했습니다. 공식 정의는 "a custom, interactive, analytical web app hosted and powered by the Tableau platform"입니다.

Tableau가 기본으로 제공하지 않는 화면이 필요할 때 지금까지는 두 가지 방법이 있었습니다. 별도로 호스팅하는 확장 프로그램을 쓰거나, 데이터를 붙여 넣어 HTML을 만드는 방법입니다. 데이터 앱을 쓰면 AI로 만든 화면을 Tableau 안에서 Tableau의 데이터와 권한 그대로 운영할 수 있습니다.

- **정의:** 코드로 만든 대화형 분석 웹 앱을 Tableau가 호스팅하는 기능
- **배포 방식:** 앱 파일(HTML·CSS·JavaScript)이 통합 문서(.twbx)에 포함되어 함께 게시되며, 별도 웹 서버가 필요 없습니다.
- **데이터:** 앱이 `queryAsync()`로 데이터 원본을 실행 시점에 조회하며, 보는 사람의 권한과 행 수준 보안이 적용됩니다.
- **제작 방법:** Tableau Studio, 또는 Tableau MCP에 연결한 AI 에이전트(Claude, ChatGPT, Codex)
- **제공 상태:** 베타이며, 2026년 11월 7일 개발자 문서 기준 Tableau Cloud에서만 제공됩니다.

---

### 1\. 태블로 데이터 앱으로 그동안 하지 못했던 무엇을 할 수 있나요?

데이터 앱으로는 Tableau에 없는 화면을 코드로 만들어 통합 문서 안에서 운영할 수 있습니다. 별도 서버가 필요 없고, 데이터와 권한도 Tableau 것을 그대로 씁니다.

- **별도 서버 없이 배포:** 기존 확장 프로그램 가운데 네트워크 사용 확장(Network-enabled extension)은 웹 앱을 외부 호스트에 두고 사이트 허용 목록(safe list)에 등록해야 실행됩니다. 데이터 앱은 앱 파일을 통합 문서에 넣어 함께 게시하므로 프런트엔드용 웹 서버가 필요 없습니다. 다만 Tableau가 호스팅하는 것은 패키지된 웹 리소스뿐이고, 서버 쪽 코드를 실행하는 환경은 제공하지 않습니다.
- **필요한 데이터를 앱이 직접 조회:** 앱이 `queryAsync()`로 필요한 필드를 데이터 원본에 직접 요청합니다. 결과를 소스 코드에 고정해 두지 않고 실행 시점에 조회하므로, 기존 추출 새로 고침과 행 수준 보안을 그대로 활용할 수 있습니다.
- **AI가 만든 화면에도 권한 적용:** 데이터를 붙여 넣어 만든 HTML은 만든 시점의 사본이라 갱신되지 않고, 행 수준 보안도 적용되지 않습니다. 데이터 앱은 보는 사람의 권한으로 실행됩니다. 공식 블로그에 따르면 데이터베이스 자격 증명도 앱이나 에이전트에 노출되지 않습니다.
- **대화로 제작:** [공식 시작 문서](https://tableau.github.io/extensions-api/docs/dataapps/trex%5Fdataapp%5Fgetstarted?ref=kr.vizney.com)는 AI 클라이언트에 앱의 목적, 사용자, 데이터 원본, 지표, 컨트롤을 설명하는 방식을 안내합니다. 이 문서에는 "You do not need to write the application code or assemble the workbook package yourself."라고 적혀 있습니다.

[공식 예제](https://tableau.github.io/extensions-api/docs/dataapps/trex%5Fdataapp%5Fexamples?ref=kr.vizney.com)는 Superstore 통합 문서를 탭 5개짜리 데이터 앱으로 다시 만든 것입니다. 지도, 히트맵, 산점도, 배송 지연 분류를 앱 하나에서 다루며, Tableau 2026.3.1 이상이 필요합니다. 공식 블로그는 데이터 앱을 기존 대시보드와 나란히(alongside your existing dashboards) 쓰는 기능으로 소개합니다.

---

### 2\. 태블로 데이터 앱은 어떻게 동작하나요?

통합 문서 안의 앱 파일이 `queryAsync()`로 요청하면, 요청은 VizQL 데이터 서비스(VizQL Data Service)를 거쳐 게시된 데이터 원본을 조회합니다. 이 조회는 [보는 사람의 권한으로](https://tableau.github.io/extensions-api/docs/dataapps/trex%5Fdataapp%5Fsecurity?ref=kr.vizney.com) 이루어집니다.

보는 사람에게 필요한 권한은 통합 문서와 데이터 원본에 각각 따로 있습니다.

- **통합 문서:** 보기, 전체 데이터 쿼리, API 액세스
- **데이터 원본:** 보기, 연결, API 액세스

데이터 원본에 행 수준 보안이 있으면 그대로 적용됩니다. [Tableau 도움말](https://help.tableau.com/current/server/ko-kr/permissions%5Fcapabilities.htm?ref=kr.vizney.com)은 이 가운데 API 액세스를 "VizQL 데이터 서비스를 통해 통합 문서의 데이터 원본을 쿼리"할 수 있게 하는 권한으로 설명합니다.

![데이터 앱이 데이터를 조회하는 경로를 나타낸 구조도. 통합 문서(.twbx) 안의 앱 파일(HTML·CSS·JavaScript)이 queryAsync()로 요청하면, 요청이 VizQL 데이터 서비스를 거쳐 게시된 데이터 원본을 조회한다. 통합 문서 아래에는 보기·전체 데이터 쿼리·API 액세스 권한이, 데이터 원본 아래에는 보기·연결·API 액세스 권한과 행 수준 보안 적용이 표시되어 있다. 전체 경로 아래에는 '보는 사람의 권한으로 조회'라고 적혀 있다.](https://storage.ghost.io/c/71/f6/71f6ee37-5711-4588-b703-c29372b31c0a/content/images/2026/11/data-app-query-path-ko.png)

Vizney가 2026년 11월 6일 Tableau Cloud(2026.3.3)에 직접 게시한 데이터 앱으로도 확인했습니다. `queryAsync()` 요청은 같은 호스트의 `/api/v1/vizql-data-service/query-datasource`로 나갔습니다. 앱은 샌드박스 프레임에서 실행됐고, 응답의 콘텐츠 보안 정책(CSP)에는 외부 origin이 없었습니다.

![Tableau Cloud에 게시한 데이터 앱 화면. Sales 합계 2,326,534와 Profit 합계 292,297 KPI, Region별 Sales 가로 막대(West 739,814, East 691,828, Central 503,171, South 391,722), Region 필터가 보인다.](https://storage.ghost.io/c/71/f6/71f6ee37-5711-4588-b703-c29372b31c0a/content/images/2026/11/live-all-regions-crop.jpg)

외부 API를 부르려면 관리자가 허용한 origin만 쓸 수 있습니다. Tableau REST API도 Extensions API의 `fetch()`로 정해진 범위의 요청만 보낼 수 있고, 그 범위는 관리자가 허용합니다.

---

### 3\. 태블로 데이터 앱은 어떻게 만들고, 어디에서 쓸 수 있나요?

공식 블로그는 만드는 방법을 두 가지로 소개합니다.

- **Tableau Studio:** AI 프롬프트와 드래그 앤 드롭을 오가며 만들고, Tableau Cloud나 Tableau Server에 게시합니다.
- **서드파티 AI 에이전트:** Claude, ChatGPT, Codex 같은 에이전트를 Tableau MCP나 Tableau Next MCP에 연결해 만들고, Tableau Cloud, Tableau Server, Tableau Next에 게시합니다.

제공 범위는 두 공식 자료가 다르게 안내합니다. 공식 블로그는 위처럼 여러 게시 대상을 소개하지만, [개발자 문서](https://tableau.github.io/extensions-api/docs/dataapps/trex%5Fdataapp%5Foverview?ref=kr.vizney.com)는 "The data Apps beta is available only on Tableau Cloud."라고 안내합니다(2026년 11월 7일 기준).

시작 문서가 요구하는 조건은 다음과 같습니다.

- 데이터 앱 베타를 지원하는 Tableau Cloud 사이트
- Creator 또는 Explorer(게시 가능) 역할
- 접근할 수 있는 게시된 데이터 원본
- MCP 연결, Tableau 플러그인, 코드 실행을 지원하는 AI 클라이언트

조건을 갖추면 AI 에이전트가 다음 순서로 진행합니다.

1. `scaffold-data-app`으로 작업 공간을 만듭니다.
2. 데이터 원본을 연결합니다.
3. 로딩, 빈 결과, 오류 상태를 포함해 앱 코드를 씁니다.
4. .twbx로 묶어 Tableau MCP로 게시합니다.

설치 절차는 [시작 문서](https://tableau.github.io/extensions-api/docs/dataapps/trex%5Fdataapp%5Fgetstarted?ref=kr.vizney.com)를, Tableau MCP는 [태블로 MCP(Tableau MCP)](https://kr.vizney.com/what-is-tableau-mcp/) 글을 참고하시기 바랍니다.

Vizney는 이 순서를 Claude Code에서 따라 진행했습니다. 데이터 원본을 바꾼 시점부터 게시까지 7분 22초가 걸렸고, 자세한 과정은 [태블로 데이터 앱 게시에 필요한 권한과 관리자 승인 범위](https://kr.vizney.com/tableau-data-app-publish-permissions/)에 정리했습니다.

---

### 4\. 태블로 데이터 앱을 쓰기 전에 무엇을 확인해야 하나요?

권한, 사이트 설정, 보안 검토 세 가지를 먼저 확인하는 편이 좋습니다.

- **작성자 권한:** Creator 또는 Explorer(게시 가능) 역할, 게시할 프로젝트의 게시·덮어쓰기 권한, 사용하는 데이터 원본마다 보기·연결·API 액세스 권한이 필요합니다.
- **시청자 권한:** 통합 문서의 보기·전체 데이터 쿼리·API 액세스 권한과 데이터 원본의 보기·연결·API 액세스 권한이 필요합니다. 공식 문서는 앱을 열 수 있다고 해서 데이터 원본 권한이 추가되지는 않는다고 설명합니다.
- **사이트 설정:** 데이터 앱 허용 여부는 [사이트별 설정](https://tableau.github.io/extensions-api/docs/dataapps/trex%5Fdataapp%5Fmanage?ref=kr.vizney.com)인 'Allow Packages on this Site'로 정합니다. 외부 origin과 REST API 호출은 관리자가 허용한 범위에서만 쓸 수 있습니다.
- **보안 검토:** 앱 코드와 서드파티 라이브러리를 검토하고, 패키지에는 비밀번호나 액세스 토큰을 넣지 않습니다. 접근이 제한된 계정을 포함한 대표 시청자 계정으로 열어 보는 편이 좋습니다.

직접 게시해 보니 작성자 권한이 가장 먼저 걸렸습니다. Samples 프로젝트의 공용 데이터 원본은 API 액세스 권한이 없어, 앱을 만들기 전 필드를 확인하는 단계에서 조회가 거부됐습니다. 이때 만난 오류와 해결 방법은 [태블로 데이터 앱 제작 중 권한·스크립트·게시 오류 해결하기](https://kr.vizney.com/tableau-error-data-app/)에 정리했습니다.

실무에서는 기존 대시보드로 답하기 어려운 화면부터 데이터 앱으로 시험하고, 코드 검토와 권한 점검을 거친 뒤 공유하는 편이 좋습니다. 화면을 만드는 비용이 낮아질수록, 누가 보고 어떤 결정을 내리는 화면인지 정하는 기획이 화면의 품질을 좌우합니다.

---

### Note:

이번 포스트는 2026년 11월 7일 기준 Tableau 공식 블로그와 Extensions API 개발자 문서, 그리고 2026년 11월 6일 Tableau Cloud(2026.3.3)에서 직접 게시한 결과를 바탕으로 작성되었습니다. 베타 기간 중 기능과 요건이 변경될 수 있습니다.